前言
在uniapp项目中配置多个环境时,发现每个环境都要起一个文件,或者都放在一个文件,但是每切换一次都要重新发版一次
优化
通过封装request对请求的基础路径进行统一管理
// 请求默认参数 const CONFIG = { async: true, baseURL: getBaseUrl(), //封装获取不同环境下的baseURL的方法 crossDomain: true, data: {}, url: '', header: { //设置头部 Accept: '*/*', 'Access-Control-Allow-Origin': '*' }, }
上面通过封装的request文件对基础路径进行统一管理,那么接下来就要对不同环境的基础路径进行不同管理,通过 wx.getAccountInfoSync 这个api获取用户当前版本信息
// 小程序版本切换的地址
const envVersionConfig={
// 开发版本
develop:{
BASE_API: 'http://aaa/'
},
// 体验版
trial:{
BASE_API:'http://bbb/'
},
// 正式版本
release:{
BASE_API:'https://ccc/',
}
}
//获取当前账号信息,对应的环境配置
export const getBaseUrl = optionsEnv =>{
if(wx.getAccountInfoSync){
const accountInfo = wx.getAccountInfoSync();
//根据小程序版本,进行请求地址切换
return envVersionConfig[accountInfo.miniProgram.envVersion].BASE_API
}
return envVersionConfig["release"].BASE_API
}
通过以上封装就可以对不同环境下的请求路径进行自由切换了,比之前的每个环境配置一个方法要简单的多