在开发过程中,通常测试版和正式版的api的根路径不同,需要在发布时手动去更改路径,这就显得很繁琐,然后官方也没有给出相应的判断环境的api,其实小程序是预设了这个api的,只是不知道为什么没有公布出来,这个api就是 __wxConfig
关键点 — __wxConfig
在控制台中打印__wxConfig可以得到一下数据
其中的envVersion为运行环境,有以下几个值
envVersion: ‘develop’, //开发版
envVersion: ‘trial’, //体验版
envVersion: ‘release’, //正式版
其中的platform为运行的平台
有Android ios devtools 等
之前一直不知道微信小程序可以用__wxConfig.envVersion区分小程序体验版,开发板,正式版
目前在官方文档没有查到相关资料,但是亲测可用
envVersion 类型为字符串
envVersion: 'develop', //开发版
envVersion: 'trial', //体验版
envVersion: 'release', //正式版
具体代码可参考如下截图
20191120
其实在我们的开发过程中是不需要这个变量的,因为我们开发版、体验版、和生产版是三个不同的小程序,所以不需要根据环境变量来区分
20191121摘自社区帖子
const env = typeof __wxConfig !== "undefined" ? __wxConfig.envVersion || "release" : "release";
const isProd = env === "release";
const protocol = isProd ? "https://" : "http://";
const baseApi = {
develop: "testapi.com",
trial: 'readyapi.com',
release: "api.com"
};
export const api = protocol + baseApi[env];
wx.getAccountInfoSync()了解下
给个赞
大佬这个 靠谱吗?会出现什么bug,或者手机微信版本的兼容问题吗?
现在官方已经提供正式api可以调用
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html
Linux下还不行,应该是版本跟不上
大佬真是才思敏捷
感谢,一直在找不同环境切换api的方法