为了持续集成自动化,很多人在都用了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
2023年11月2日,依然碰到同样的问题
这问题还存在吗?我之前开发的小程序wx.getAccountInfoSync用得都没问题,但看评论有说 2023年8月29日 这问题依然存在?
吐了啊 那这个api有什么用 都2023年了 还不修复
是很坑爹...
偶尔可以 大部分时间基本不行.
都快2023年了
今天有被恶心到
🐎
返回develop,确实很服气
我被恶心到了,有时候能审核过,有时候又审核不过
都2022年了