编程语言
首页 > 编程语言> > 1.微信小程序区分 开发、体验(测试)、生产环境

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

标签:__,envVersion,getAccountInfoSync,e5%,微信,区分,miniProgram,体验,wx
来源: https://www.cnblogs.com/zhangyuanyuan1/p/15429997.html