技术背景
卤煮在没发现小程序的可以获取当前帐号信息时,大致上线流程如下:
1、先切生产分支
2、上传代码到体验版
3、将当前体验版提交审核
4、本地迅速切回测试分支、然后提交体验版(迅速的原因是担心这期间有测试同志测试,因为这时候体验版本上是生产的请求域名…)
重要的事情说三遍,这是错误示范!这是错误示范!!这是错误示范!!!
因为刚开始开发小程序,也没有人带,看了别人的demo就上手了,一直感觉这很鸡肋,一个字”忙“,所以一直没机会优化。
直到昨天卤煮提交审核的是测试域名的包,生产问题就来了…抓紧版本回滚,好在卤煮领导好,只给了我一个嫌弃的眼神。
技术干货
每个小程序肯定都有自己的请求域名吧、一套生产用、一套测试开发用,分好了环境,再上传代码提交审核,麻麻再也不用担心我提交的哪个环境来着…
卤煮这里用到的是微信官方的api:获取微信当前账号信息wx.getAccountInfoSync()
戳这里看详情
直接app.js里面撸代码,小程序onLaunch时执行就OK啦~
let accountInfo = wx.getAccountInfoSync();
let nowEnv = accountInfo.miniProgram.envVersion;
let tempObj = {
'develop': 'https://develop.com', // 开发请求地址
'trial': 'https://test.com', // 测试请求地址
'release': 'https://product.com', // 生产请求地址
};
<!--这里的this是小程序实例对象-->
this.globalData.miniEnv = nowEnv; // 设置全局当前的运行环境(项目中肯定有分环境的逻辑吧)
this.globalData.host = tempObj[nowEnv]; // 设置全局的请求域名
完美解决我一直以为很鸡肋的问题,这么好的api怪我没有早发现,这口黑锅不应该让老马背…
欢迎志同道合的朋友加入,没事开个黑、撸个bug: