1.微信小程序区分 开发、体验(测试)、生产环境


无论前端还是后端在日常开发中,项目里一般都会区分 开发、测试、生产这三个环境(有的还有预发布、灰度发布),这样预先写好不同环境的配置信息,简直是一劳永逸

微信小程序
wx.getAccountInfoSync()
在微信小程序开发中可以用这个方法,查看官方文档 了解到Object wx.getAccountInfoSync() 这个Api

在下面 返回值参数介绍中 有写 miniProgram一项 在miniProgram.envVersion 中的合法值为

develop 开发版
trial 体验版
release 正式版

用这个api 就可以区分三种环境 打印结果如下

console.log(wx.getAccountInfoSync())
// {
// miniProgram: {
// appId: "************"
// envVersion: "develop"
// version: "" // 线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。
// }
// }

项目获取请求地址可以用这个值区分

const env = wx.getAccountInfoSync().miniProgram.envVersion

const baseApi = {
// 开发版
develop: "https://xxx.com",
// 体验版
trial: "https://xxx.com",
// 正式版
release: "https://xxx.com"
};
const api = baseApi[env]
export default api;

__wxConfig
另外还有一个隐藏的内部变量 ** __wxConfig** 里面涉及到很多信息大概如下

console.log(__wxConfig)
// {
// envVersion: "develop",
// accountInfo: {
// appId: "*****"
// icon: "http://*****"
// nickname: "***"
// },
// brand:'**',// 手机品牌(运行在手机上预览和正式环境才有)
// platform: "devtools" // 当前运行系统 android|ios ..
// ...
// }

可以看到 其中也有包含当前所处环境的变量envVersion

所以上稳重 constenv = wx.getAccountInfoSync().miniProgram.envVersion 可以改为如下

const env = __wxConfig.envVersion
复制代码
[请移步到官方文档中去看看](https://uniapp.dcloud.io/frame?id=%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%92%8c%e7%94%9f%e4%ba%a7%e7%8e%af%e5%a2%83)
uniapp

上一篇:关于 uni app 打包 h5 污染wx,造成引入企业微信的通讯录组件 ww-open-data 无法使用的问题


下一篇:微信小程序蓝牙连接详细流程