所有环境都存放到不同文件夹

65 阅读1分钟

前言

在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
}

通过以上封装就可以对不同环境下的请求路径进行自由切换了,比之前的每个环境配置一个方法要简单的多