Demo v1.0.0 完成微信公众平台消息加解密 明文模式 兼容模式 加密模式 完成微信公众号消息类型解析 接收普通消息 接收文本消息 接收图片消息 接收语音消息 接收视频消息 接收小视频消息 接收地理位置消息 接收链接消息 被动回复用户消息 回复文本消息 回复图片消息 回复语音消息 回复视频消息 回复音乐消息 回复图文消息 完成微信公众号回复表情 原本微信公众号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动图的话,直接调用回复图片接口并不能返回动图, 而是一个静态的图片, 但是保存到手机上改个文件拓展名就能动了. 这样的体验很不好, 好在是可以回复图文消息模板, 把图片嵌入到文章里面然后返回, 用户看到的图是动态的.