小程序之前都是手动去切生产环境和测试环境的,特别粗暴,就是写了两行,一行是测试的,一行的正式的,要上线的时候就切正式,上完线就切换测试,所谓的切换就是把测试的那行注释掉,把另一行放出来,像下面这样:
// let baseUrl = "https://testxxx.com"; //测试环境
let baseUrl = "https://xxx.com"; //正式环境
虽然方式很粗暴,但是没出过什么问题,就没去考虑过这个东西,但是后面加入项目的人多了,有时发版的人忘了把环境切回测试,别人拉代码的时时候没看,就用了生产的环境,开发的时候把测试数据发到了生产环境,导致线上首页出现了一些11111111111111111这样随便打的数据。。。差点被暴打狗头,同事也发过,我自己也发过。。。
但是之前也没重视过,就是把线上这个数据删掉,出来认个错就过去了,没去想过怎么避免。。。
直到今天,又有同事发错了,大佬想追责了。。。才意识到这个事情好像是不能再出现了。。。
其实像node有个process.env是可以区分当前所在环境的,那应该微信也会提供吧,所以去翻了下文档…
别说,还真有。。。奉上地址:小程序获取当前账号信息
这就很明白很好办了啊,直接上菜。。。。
let baseUrl, wendaUrl;
let envVersion = wx.getAccountInfoSync().miniProgram.envVersion;
switch (envVersion) {
case "develop": // 开发版
baseUrl = "https://testxxx.com"; //测试环境
break;
case "trial": // 体验版
baseUrl = "https://testxxx.com"; //测试环境
break;
case "release": // 正式版
baseUrl = "https://xxx.com"; //正式环境
}