- 【求助】小程序解密数据有时会失败
准确来讲不是有时,是隔断时间后必然失败(貌似不是因为Sessionkey没更新,请看下文) 代码流程是这样的: 前端调用[代码]wx.checkSession()[代码]判断Sessionkey是否失效,如果失效就调用[代码]wx.login()[代码]然后把登录凭证code传给后端; 后端根据凭证获取新的Sessionkey,并存入数据库(更新数据库中的数据); 前端获取到加密数据后传给后端解密; 后端从数据库取到最新的Sessionkey,根据官方提供的方法解密。解密成功之后数据传给前端。 但非常奇怪的是第一天是可以正常解密的,第二天就会返回-41003的错误码: [代码]// 这是后端报错的代码片段[代码] [代码]$result=openssl_decrypt( $aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV);[代码] [代码]$dataObj=json_decode( $result );[代码] [代码]if( $dataObj == NULL ) {[代码] [代码] return array([代码] [代码] 'code'=>-41003,[代码] [代码] 'msg'=>'aes 解密失败:'.$sessionKey[代码] [代码] ); }[代码]debug过程 尝试不调用[代码]wx.checkSession()[代码]而直接刷新Sessionkey,依然失败; 后端的Sessionkey的确是最新的,每次刷新后数据库都会更新; 解密时使用的Sessionkey和数据库最新数据对比一致; 比较奇怪的点 使用‘微信开发者工具’右上角的清缓存功能,点全部清除后,就能正确解密了。但是到了明天(或者过段时间)就又不行了。 求解问题出在哪里? --------------------------------- 图片补充: [图片] 上边那张是解密失败时给服务端传的参数,下面两张是解密成功时传的参数
2018-05-16 - 用户同意了隐私条款,但他后面不承认了,怎么证明他同意过的?
用户第一次用我们的小程序,我们会让ta同意一个隐私条款,只有同意了才能往下走(绝大部分app、小程序、网站都是这样的)。但是后面用户不承认ta同意过这个条款,然后要去法院告我们侵犯隐私权,我们怎么证明ta确实同意过呢?把代码拿出来给法院看?但是代码一直是更新的,腾讯会把每次我们上传的代码都存下来吗?
2019-03-20 - 无障碍体验
小程序开发团队: 我是一名给视障人士开发软件的独立开发者,最近在尝试使用小程序开发视障工具时发现其对无障碍的支持并不特别友好。 请问后续是否计划优化无障碍体验?
2017-04-07 - [web-view]问题汇总
常见错误: 打开的域名没有在小程序管理后台设置业务域名(注意是业务域名,不是服务器域名) 打开的页面必须为https服务 打开的页面302过去的地址也必须设置过业务域名 web-view空白问题,请升级微信客户端到 6.5.16 页面可以包含iframe,但是iframe的地址必须为业务域名 web-view不支持支付能力,web-view的API能力见web-view的文档说明 开发者自己检查自己的https服务是否正常,测试方法:普通浏览器打开对应的地址 如果web-view使用了公众号授权的服务,开发者工具提示网页开发者的问题,请见:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140 关于web-view的问题,大家可以集中在这个帖子留言,为了保证高效查问题,请提供以下信息: web-view的src地址 后台配置的业务域名是否设置成功 微信的版本 遇到问题的小程序APPID以及复现的微信号 出问题的错误提示信息是什么 后台设置失败问题,请提供小程序APPID以及遇到问题的时间点。
2017-11-08