微信开发实战(3)—开发者公众号的交互原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/quasimodo_es/article/details/52973830

通过前2篇文章,相信你已经对公众号有了基本的了解。从本篇文章开始,详细介绍如何进行公众号开发。


本篇文章主要介绍公众号常用的消息交互,并配以流程图。主要目的是希望开发者们从宏观角度对开发者公众号有个清晰的认识,在后续各接口开发中有事半功倍的效果。


题外话:在我们开发过程中,一般先有明确的目标,再形成清晰的流程逻辑,最后根据设计模式等理论落实代码细节。所以,最后无论使用哪种编程语言,都是一样的了。

所以,高层等都是不写代码的...,如果有一天你也不写代码了,恭喜你高升了;或者还有一种可能:恭喜您,不再做码农了~



一,微信服务器与开发者服务器交互

显然的,如果公众号想成为开发者号,必须有自己的服务器,也就是说必须部署自己的独立应用。以java开发为例,需要有对应web应用,且是80端口。服务器获取的方式很多,可以租(比如阿里、腾讯:收费),也可以使用新浪SAE(可免费,后面详细介绍)。


前提是你要:有想法,有公众号,有码农!


1.1,交互图


我们以消息交互场景,讲解交互过程。就是粉丝给公众号发送了一条消息,公众号自动回复一条或多条消息。比如,你关注了公众号 程序员实战(coder10),想撩一下它,就发送了一条文本消息:hello,于是下面的事情就会发生了....


1动作请求:就是你给coder10发送了 hello ;这时候微信平台服务器会接受到这条消息,并确定是公众号coder10的粉丝发送来的;


2是否开发者公众号:在微信公众平台中可以开启开发者配置,如果没有配置,说明不是开发号,进入:3业务处理 ;如果配置为开发者号,那么进入:4包装转换;


3业务处理:微信平台会根据coder10的 “自动回复”(微信平台菜单)中的设置,获取对应的回复素材,然后进行:8回复处理;


4包装转换:微信平台会重新包装粉丝请求的动作,并转换为公众号开放接口报文的形式(XML格式),并转发给开发者服务器;


5请求:微信平台会带着转换后的参数,发送http请求开发者服务器应用,也就是上文提到的web应用。所以web应用必须是公网的、开放的、80端口的应用。请求的URL就是公众号成为开发者号配置的时候,填写的URL、Token认证时候的URL(后面详细介绍)。


6开发者根据自己的业务进行处理:现在就进入了码农们比较熟悉的领域了,无论你用什么技术或编程语言,只要提供对外的web应用就可以了。

此web应用可以接受http请求,并获取参数,根据自己的业务逻辑处理后,包装转换回复数据,并返回数据给微信服务器:7回复;


7回复:回复的数据格式依然是公众号开放接口规定的XML格式的报文。微信服务器接收到数据之后,进入:8回复处理;


8回复处理:就是将要回复的内容转换处理,比如是菜单调用摄像头事件,还是地理位置事件,还是仅仅回复消息等等;coder10是回复消息。处理完成之后进行动作回复


9动作回复:这时,粉丝的微信中就会收到公众号的反馈!


流程结束!




程序员实战技能,扫一扫学习


猜你喜欢

转载自blog.csdn.net/quasimodo_es/article/details/52973830