if (typeof __wxConfig =="object"){
const version = __wxConfig.envVersion;
console.log("当前环境:" + version)
if (version =="develop"){
cosole.log('测试 开发环境')
}else if (version =="trial"){
cosole.log('测试 体验版')
}else if (version =="release"){
cosole.log('生产 正式环境')
}
}
可以把环境设置单独写的一个js里方便接口统一控制环境,完整代码如下
1、判断环境 env.js(该例子是在utils目录下创建的env.js,如果没有先创建个utils目录,也可以在其他目录创建env.js)
export default function getEnv() {
let env;
if (typeof __wxConfig === 'object') {
const version = __wxConfig.envVersion;
if (version === 'develop') {//测试 开发环境
env = 'dev';
} else if (version === 'trial') {//测试 体验环境
env = 'trial';
} else {//生产 正式环境
env = 'release';
}
}
return env;
}
2、app.js里引用env以及使用
import getEnv from './env'; //先引入env.js
const env = getEnv()
let apiHost = '默认写个生产的' //接口域名
apiHost = env == 'release' ? '生产域名' : env == 'trial' ? '体验版所需要的域名' : '开发环境域名';
//如果没有那么多域名 只有测试环境和生产环境2个判断就够了
//apiHost = env == 'release' ? '生产域名' : '开发环境域名';
App({
//全局数据对象(整个应用程序共享)
globalData: {
apiHost:apiHost
}
})
这样其他页面在写接口时就可以直接这一个地方切换环境就可以了
//用的页面先引用
var app = getApp();
//调用接口的地方引用
api:`${app.globalData.apiHost}/接口地址`
如果有很多的接口域名,也可以把域名的文件单独提出来
1、在utils目录下在创建一个apiConfig.js ,然后env.js在apiConfig中调用
import getEnv from './env'; //先引入env.js
const env = getEnv()
let apiHost = '默认写个生产的' //接口域名
apiHost = env == 'release' ? '生产域名1' : env == 'trial' ? '体验版所需要的域名1' : '开发环境域名1';
//如果没有那么多域名 只有测试环境和生产环境2个判断就够了
//apiHost = env == 'release' ? '生产域名1' : '开发环境域名1';
let apiHost2 = env == 'release' ? '生产域名2' : env == 'trial' ? '体验版所需要的域名2' : '开发环境域名2';
//如果没有那么多域名 只有测试环境和生产环境2个判断就够了
//apiHost2 = env == 'release' ? '生产域名2' : '开发环境域名2';
export { apiHost , apiHost2 };
2、app.js中使用apiConfig.js
import { apiHost, apiHost2 } from './utils/apiConfig';
App({
//全局数据对象(整个应用程序共享)
globalData: {
apiHost:apiHost, //接口域名1
apiHost2:apiHost2 //接口域名2
}
})
除了环境也可以获取当前小程序版本、appid等信息
可以打印accountInfo查看里面的信息
const accountInfo = wx.getAccountInfoSync()
小程序官方官方文档地址:Object wx.getAccountInfoSync() | 微信开放文档