快到2024年了,解决了吗?
【陈年BUG】能否解决小程序审核版调用wx.getAccountInfoSync()获取env的问题为了持续集成自动化,很多人在都用了wx.getAccountInfoSync()接口,来判断微信所处的运行环境,根据环境自动连接对应后端。如下示例 const { miniProgram: { envVersion } } = wx.getAccountInfoSync(); let devUrl = 'http://192.168.88.20:8080'; // let devUrl = 'http://127.0.0.1:8080'; let trialUrl = 'https://trial.api.com'; let releaseUrl = 'https://api.com'; let domain = ''; switch (envVersion) { case 'develop': // domain = devUrl; domain = trialUrl; break; case 'trial': domain = trialUrl; break; case 'release': default: domain = trialUrl; break; } 使用体验版好好的,审核却被拒绝了,原因是审核版使用的wx.getAccountInfoSync()返回的是develop。那么开发只能在代码里面把本应该返回线下环境数据的逻辑,改为返回线上的数据才能通过审核。 主要问题 1、代码如果根据wx.getAccountInfoSync()返回的env,来判断链接的后端地址,会被驳回审核,因为审核时调用该接口返回的是develop,导致审核版本无法正常连接后端服务器 2、这样改来改去,太麻烦了,很有可能在修改之后,因为没有及时改回去,导致线下测试操作了线上数据,引发生产问题 3、小程序审核时,应该确定的是小程序上线之后的情况是怎么样的,返回develop显然无法确认审核看到的东西与线上看到的东西一致 4、都2022年了,上个线还要这样手动修改代码逻辑,提审完后又要改回来,真有点麻烦 建议 1、小程序审核版本运行时,调用wx.getAccountInfoSync()应返回release,确保小程序审核版本与与上线后的运行结果一致 2、微信小程序吃掉相关逻辑,让开发者通过配置的方式来选择各环境调用的后端域名 陈年老问题,很多人反馈了,麻烦官方解决一下吧 [图片] [图片] [图片] [图片] https://developers.weixin.qq.com/community/develop/doc/000e28a6ee8e08ca010b46cc35bc00 https://developers.weixin.qq.com/community/develop/doc/00088ada61c090c2b8cb5aca653400 https://developers.weixin.qq.com/community/develop/doc/00082e0ef44d3842982c3808a56c00 https://developers.weixin.qq.com/community/develop/doc/000c688e4b4cf864ff7d0be845b000 https://developers.weixin.qq.com/community/develop/doc/00080e7ea38400e6a15cc713453400 https://developers.weixin.qq.com/community/develop/doc/00028e82ba87b054a9ba30c3f5fc00 https://developers.weixin.qq.com/community/develop/doc/0006463d38c6c0b426cbcc2b05b000 https://developers.weixin.qq.com/community/develop/doc/000888450b40e8f0256c622e751400?highLine=wx.getAccountInfoSync
2023-12-15