axios设置多个请求地址

axios设置多个请求地址,第1张

需求:前端项目有多个请求地址

实现思路:每次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)}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1321465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存