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