我开发微信也不短时间了,写一篇博客记录下微信的原理。
微信的回复功能其实就是xml数据从微信用户和微信公众号互相交互。在我看来微信服务器其实充当了驿站,就像古时候两个城市的人交流信息必须得骑马经过驿站一样,当然了,马就是xml数据。
微信的菜单功能,在我看来是,公众号开发者把一段json数据推送给微信,微信通过json数据显示菜单,缓存到微信自己的服务器上。当微信用户访问公众号时,就可以看到公众号的菜单了。菜单的按钮的值会当做一种标记传给公众号,这样就可以实现公众号对菜单的监控了。
微信的微店功能,微店是有自己的数据库的,当微店的主人想做一些什么事,比如添加商品,添加货架,都是将自己的需求组成一个json数据,通过curl推送给微信的网址,就可以操作微信的数据库了。在自己开发时,一般是需要自己在本地配套数据库的,以便记录微店数据库的信息,要不然开发者添加了一个商品,连商品编号都不知道了。其他的以此类推。
微信的js接口功能,其实是微信将自己的前台显示功能交给公众号的开发者了,但是依然要按照微信自己的逻辑,相当于用微信自己的框子,然后开发者自己去开发比较好看的效果了。
可能有不对的地方,会随时更正。