手机版

微信公众平台开发教程(二)基本原理和消息界面总结

时间:2021-09-11 来源:互联网 编辑:宝哥软件园 浏览:

一、基本原则

在开始做之前,每个人可能都对它感兴趣,但他们相当困惑。复杂吗?学起来难吗?

其实恰恰相反,很简单。为了打消大家的顾虑,简单介绍一下微信公众平台的基本原理。

微信服务器相当于转发服务器。终端(手机、平板等。)向微信服务器发送请求,然后将请求转发给定制服务(这是我们的具体实现)。

服务处理完毕后挥发到微信服务器,微信服务器将具体响应回复给终端。

通信协议是HTTP

数据格式为:XML

具体流程如下图所示:

事实上,我们需要做的是响应HTTP请求。

我们根据特定的XML格式解析特定的请求内容,处理后根据特定的XML格式返回。

我们只需要一个简单的HttpHandler实现。

当然,微信平台也可以实现更复杂的服务。比如微信可以作为嵌入式浏览器,我们可以通过微信的链接打开htm界面,实现自己的逻辑。

二、消息接口(公文)

应用程序消息接口

点击应用程序,填写url和令牌,其中令牌可以由开发人员随意填写并用作签名。

网站访问

公众平台用户提交信息后,微信服务器会向填写好的URL发送GET请求,其中有四个参数:

参数描述签名微信加密签名时间戳nonce随机数echostr随机字符串开发者通过验证签名来验证请求(下面有验证方法)。如果确认GET请求来自微信服务器,请原样返回echostr参数内容,访问才会生效,否则访问失败。

Signature将开发人员填写的令牌参数与请求中的时间戳参数和nonce参数相结合。加密/验证过程:

1.三个参数令牌、时间戳和随机数按字典顺序排序

2.将三个参数字符串拼接成一个字符串进行sha1加密

3.开发者获得的加密字符串可以与签名进行比较,以识别请求来自微信

消息推送

当普通微信用户向公众账号发送消息时,微信服务器会将消息发布到填写好的网址。结构如下:

正文消息

xml ToUserName![CData[用户]]/用户名称来自用户名![CData[来自用户]]/来自用户名创建时间1348831860/创建时间MsgType![CData[文本]]/MsgType内容![CDATA[这是一个测试]/Content MsgId 1234567890123456/msgId/XML参数描述使用用户名开发者微信号来自用户名发送者帐户(一个OpenID)创建时间消息创建时间(整数)MsgType文本消息内容msgid消息id,64位整数图片消息

xml ToUserName![CData[用户]]/用户名称来自用户名![CData[来自用户]]/来自用户名创建时间1348831860/创建时间MsgType![CData[图像]]/MsgType PicUrl![CDATA[这是一个URL]/pic curl MsgId 1234567890123456/msgId/XML参数描述使用用户名开发者微信号来自用户名发送者帐户(一个OpenID)创建时间消息创建时间(整数)MsgType图像pic curl图片链接msgid消息id,64位整数地理位置消息

xmlToUserName![CData[touser]]/touser name from username![CData[来自用户]]/from username create time 1351776360/createtimemsgid类型![CDATA[位置]]/msgid location _ x 23.134521/location _ xload location _ y 113.358803/location _ y刻度20/刻度标签![CDATA[魏冄]/标签sgid 123456780123456/msgid/XML哎哎哎阿海威全部储存名字哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟来自用户名-来自用户名-来自使用者名称唉呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀(何曰创建时间吴登盛吴登盛(唉哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟)msgtype位置哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟y位置哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟楼梯?楼梯哎哎哎哎标签哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟MsgId阿胜id,64哎哎哎阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉

xmlToUserName![CData[touser]]/touser name from username![CData[来自用户]]/from username create time 1351776360/createtimemsgid类型![CDATA[链接]]/msgid类型标题![CDATA[范仲淹是范仲淹]/TitleDescription![CDATA[范仲淹是范仲淹]/网址说明![CData[URL]]/urlmsgid 123456780123456/msgid/XML哎哎哎阿海威全部储存名字安其欣安其欣来自用户名-来自用户名-来自使用者名称唉哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟,霍塞阿韦凌,唉哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼OpenID创建时间开启身份建立时间吴登盛吴登盛msgtype菊治,链接标题吴经盛(音译)说明贺盛瑞阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉网址阿胜MsgId阿胜id,64哎哎哎杨俊钦先生

杨贵妃?杨贵妃4.5版汝母,范仲淹!范仲淹!范仲淹~我爱你~范仲淹?范仲淹。杨茂清(音译),399。

xmlToUserName![CData[touser]]/touser name from username![CData[来自用户]]/from username create time 12345 6789/createtimemsgid类型![CDATA[事件]]/msgid类型事件![CDATA[事件]]/事件键![CData[事件密钥]]/事件密钥/xml哎哎哎阿海威全部储存名字安其欣安其欣来自用户名-来自用户名-来自使用者名称唉哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟,霍塞阿韦凌,唉哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼哼OpenID创建时间开启身份建立时间吴登盛吴登盛msgtype菊治,事件事件君曰,订阅(-什么)取消订阅(你好)]单击(范仲淹!范仲淹!范仲淹)EventKey阿叔关键点魏冄,范仲淹?范仲淹关键点魏冄你好

郑重荣吗员额配置表诶诶哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不可扩展标记语言文件朱穆伟,-你好-你好(。~我爱你~啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊~我爱你~""~我爱你~什么事~我爱你~阿久页:1。

范思哲,范思哲,范思哲。

你好可扩展标记语言文件什么:

你好

xml ToUserName![CData[从用户名中选择[touser]]/tousername![CData[来自用户]]/来自用户名创建时间12345 678/创建时间msgid类型![CDATA[文本]]/msgid类型内容![CDATA[内容]]/内容/xml哎哎哎阿海威全部储存名字安其林古钦(哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟来自用户名哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟CreateTime(创建时间)吴登盛吴登盛msgtype文本内容你好,阿巧2048大和你好

xml ToUserName![CData[从用户名中选择[touser]]/tousername![CData[来自用户]]/来自用户名创建时间12345 678/创建时间msgid类型![CData[音乐]]/msgid键入音乐标题![CData[标题]]/标题描述![CData[描述]]/描述音乐网址![CDATA[music _ URL]]/music URL hqmusicull![CData[HQ _ music _ URL]/hqmusiculr/music/XML哎哎哎阿海威全部储存名字安其林古钦(哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟来自用户名哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟CreateTime(创建时间)吴登盛吴登盛msgtype音乐贺盛瑞(音译)HQMusicUrl绿姊姊绿姐姐绿姐姐,WIFI范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹,范仲淹你好

xml ToUserName![CData[用户]]/用户名称来自用户名![CData[来自用户]]/来自用户名创建时间12345678/创建时间MsgType![CDATA[新闻]/MsgType article count 2/article count文章项目标题![CData[标题1]]/标题描述![CDATA[描述1]]/描述PicUrl![CDATA[picurl]]/PicUrl Url![CData[网址]]/网址/项目项目标题![CDATA[标题]]/标题说明![CDATA[描述]]/描述PicUrl![CDATA[picurl]]/PicUrl Url![CDATA[URL]]/URL/item/Articles/XML参数描述来自UserName接收方帐户(接收到OpenID)username开发人员微信号CreateTime消息创建时间MsgType新闻文章计数图形消息数量,它限于10篇带有多个图形消息的文章。默认情况下,第一项是大图片标题图形消息标题描述图形消息描述PicUrl图片链接,支持JPG和PNG格式。效果比较好的是大图640*320,小图80*80。Url点击图文消息跳转链接官方界面文档:http://mp.weixin.qq.com/wiki/index.php? Title=消息界面指南

需要注意的事项

1.用户OpenID是微信官方账号的固定且唯一的字符串

2.请使用端口80

请注意:具体开发过程我们会在以后充分说明。

三、消息类图

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:微信公众平台开发教程(二)基本原理和消息界面总结是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。