- 多个同一类型的自定义菜单,如pic_photo_or_album,要实现不同的功能该如何实现?
事件类型的菜单,操作的时候会推送至少两条消息到开发服务器,如果一次性发N张图片,就会有1条事件消息+N条图片消息。 我本来的思路是 缓存{EventKey+FromUserName+CreateTime: SendPicsInfo.Count}, 然后后续的图片消息通过读取缓存EventKey+FromUserName+CreateTime,来判断对应的image消息执行哪个功能。 这个已经实现了。 但是坑来了。 坑一: 事件消息的CreateTime和image消息的CreateTime不一定一样。 这个好解决,打不了缓存名字不带CreateTime,并设置缓存5秒过期; 坑二: 在ios终端发出的事件消息中,SendPicsInfo.Count是0!据说这是微信的Bug??? 这个坑不好填,但临时方案也可以凑合。 最坑的是下面这个: 事件消息和image消息的顺序不一定,也就是说可能image消息先于事件消息推过来。这个要命了。 到目前为止我还没任何想法。 希望有哪位大神帮忙来填一下。。。
2020-08-19 - 自定义菜单消息推送参数异常SendPicsInfo中图片数量参数Count:0 ?
Android上没遇到该问题,都是IPhone发送的消息出现的问题,有两个疑问,贴上请求参数: 请求一: {"ToUserName":"aaaaa","FromUserName":"xxxxxx","CreateTime":"1597792849","MsgType":"event","Event":"pic_photo_or_album","EventKey":"wechat_menu#id#14","SendPicsInfo":{"Count":"0","PicList":{}}} {"ToUserName":"aaaa","FromUserName":"xxxxxx","CreateTime":"1597792849","MsgType":"image","PicUrl":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/via4eiaemb3lbNeHbGJ1mRpOZI4TxFtaday9HJA","MsgId":"22874894874506911","MediaId":"AcoPlWow6uRJ5BTZnf8jtT5amc62X5qBmP2M4KDXu_FJYJALLwn1323l5LBWemR2"} 问题: event消息中SendPicsInfo的Count为0, 但是第二条图片数据收到了 请求二: {"ToUserName":"aaaa","FromUserName":"xxxxxx","CreateTime":"1597792869","MsgType":"event","Event":"pic_photo_or_album","EventKey":"wechat_menu#id#15","SendPicsInfo":{"Count":"0","PicList":{}}} {"ToUserName":"aaaaa","FromUserName":"xxxxxxx","CreateTime":"1597792870","MsgType":"image","PicUrl":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/via4eiaemb3lbNeHbGJ1mRpOZI4TxFtadxx","MsgId":"22874896615000948","MediaId":"Wus3VttnUSuadarwFYI5_bjtYPymrdGQKSsrGSSLeAbklcFl9PAUNADKJZXC4IeS"} 问题: event消息中SendPicsInfo的Count为0, 这个问题同请求一 CreateTime不一样,差1, 之前的规律是,同一个event消息对应的image消息的CreateTime都是一样的,如果不一样,怎么来对应event消息和内容消息呢? 以上疑问,盼哪位大神指点一下
2020-08-19