需求:前端项目有多个请求地址
实现思路:每次axios请求时动态赋值axios的baseURL,以下为精简代码,主要表述核心思路,根据自己的axios相关代码为准:
import axios from "axios"
// 封装一个函数,接收一个参数来动态赋值axios的baseURL
function diffReq(baseURL) {
const service = axios.create({
baseURL
})
......
return service
}
export default diffReq
使用封装函数
import diffReq from "./diffReq.js"
// 我在原来的请求函数中新增一个参数baseType,用于判断请求地址
// 默认不传为0,这样旧的接口就不用改了,然后新的接口baseType传个其他的数字
function post(url, params, type = "json",baseType = 0) {
let baseUrl = ""
if (baseType == 0) baseUrl = "https://xxxxxx.com/api/"
if (baseType == 1) baseUrl = "https://newxxxxxx.com/api/"
// 以此类推,2,3,4,5更换不同的请求路径
const axios = diffReq(baseUrl)
return axios({
header: {
"Access-Control-Allow-Origin": "*"
},
......
url: url,
method: "POST",
data: params
})
}
示例
// 旧的接口不变
export const login = (params, type) => return post("common/login", params, type)}
// 第二个服务器的接口,在最后加个1即可,以此类推,有多个服务器,就传2,传3
export const getList = (params, type) => return post("new/getList", params, type,1)}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)