1.先创建个接口url数组,也可以使用接口动态获取
// 首次默认第一个
const ipList = [{
apiBaseUrl: 'https://baidu.com',
name: '百度'
}, {
apiBaseUrl: 'https://baidu2.com',
name: '某某某有限公司 '
}]
export default ipList
2.然后在app.vue界面onLaunch里设置默认接口url存储在本地
// 设置默认接口Ip
const apiBaseUrl = uni.getStorageSync('ipConf')?.apiBaseUrl
if (!apiBaseUrl) {
uni.setStorageSync('ipConf', ipList[0])
}
3.登录页面可提供用户自动选择接口url地址
ipChange(value) {
uni.setStorageSync('ipConf', value)
this.ipConf = value?.apiBaseUrl
}
4.在request上传那里获取本地存储的接口url地址,就可以实现每次调用接口的时候会获取本地存储的最新接口url
uploadFile(api, filePath, data, fileType) {
return new Promise((resolve, reject) => {
const ipConf = uni.getStorageSync('ipConf')
uni.uploadFile({
// url: this.config.baseUrl + api,
url: (ipConf?.apiBaseUrl || this.config.baseUrl) + api,
filePath: filePath,
name: 'file',
fileType,
header: {
'Authorization': ''
},
formData: data,
....