小程序准备工作微信开发实战《三》开发者公众号的交互原理.

来源:未知 浏览 152次 时间 2021-06-15 23:00

通过前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动作回复:这时粉丝的微信中就会收到公众号的反馈!

标签: 公众微信回复开发者