- 完成微信公众平台消息加解密
- 明文模式
- 兼容模式
- 加密模式
- 完成微信公众号消息类型解析
-
- 接收文本消息
- 接收图片消息
- 接收语音消息
- 接收视频消息
- 接收小视频消息
- 接收地理位置消息
- 接收链接消息
-
- 回复文本消息
- 回复图片消息
- 回复语音消息
- 回复视频消息
- 回复音乐消息
- 回复图文消息
-
- 完成微信公众号回复表情
- 原本微信公众号api接口不支持解析表情包, 当用户发送表情包时, 会收到为text类型的消息,Content为"【收到不支持的消息类型,暂无法显示】", 所以需要通过爬虫爬取微信公众号网页版的消息列表.
- 登录需要扫码登录(不支持二维码转化为图片再用微信扫一扫从相册中选择), 暂时在本地打开然后获取Token, 一个Token大概能用12小时吧, 然后也没找到刷新Token的接口只能再次登录.
- 登录之后会通过正则匹配js文件找到FromUserName 发送方帐号(一个OpenID),在js文件中的json字段名叫FakeID,通过FakeID与接收消息时的时间戳CreateTime匹配消息ID(在js文件中的json字段名叫ID), 可能会有1s左右的误差, 再然后使用Token和消息ID下载图片保存到本地.
- 由于微信公众平台回复图片需要上传至素材库, 上传需要access_token(和上面的Token不同), 成功后会返回一个mediaID(吐槽一下微信服务端上传不支持chunked 啥年代了还不支持 坑了我几天), 再通过微信公众号api接口返回mediaID, 用户就会收到自己发送的表情包, 但是如果用户发送的是gif动图的话,直接调用回复图片接口并不能返回动图, 而是一个静态的图片, 但是保存到手机上改个文件拓展名就能动了. 这样的体验很不好, 好在是可以回复图文消息模板, 把图片嵌入到文章里面然后返回, 用户看到的图是动态的.