最近在做微信小程序相关的项目 遇到一些坑 特此记录一下 以供大家参考
1、授权时,服务端偶现解密失败
前提:没有token和token失效则会调用wx.login接口,刷新session_key
原因:追查日志发现解密失败,用那次的session_key去进行解密,的确是解密失败,用没有刷新前的sesson_key解密,可以正常解密,故可以猜想出微信那边的处理为session_key未失效的情况下 ,刷新session_key,它会使用原session_key进行加密,而不是使用最新的session_key去进行加密
解决方法:将每次刷新前的session_key放入缓存中,考虑到极端情况,先用刷新后的session_key进行解密,解密不成功则用上一次的session_key进行补偿解密一次
2、发送微信模板消息
前提:必传参数touser(接收人的openid)和formid(另外一个接受人的formid)
现象:模板消息发送给了formid所属人
综述:openid和formid都要填写同一个人的