vue 項目中 任意切換 request url (axios baseUrl)


最近重構了一個項目,其中一個需求是每次切換菜單要換請求url

也嘗試了其他方法,最終定為以下方案

此方案中用到了vuex,下載安裝就不一一贅述了…

const service = axios.create({
  timeout: 5000,
});
// create中不設置baseUrl

service.interceptors.request.use(
  (config) => {
    // 對返回的數據進行一些處理
    var data = config;
    if (data.method === "get") {
      data.url = encodeURI(data.url);
    }
    if (data.url.indexOf("?") < 0) {
      data.url = data.url + "?t=" + Date.parse(new Date());
    } else {
      data.url = data.url + "&t=" + Date.parse(new Date());
    }
    config.headers["Accept-Language"] =
    Cookies.get("language") === "zh" ? "zh-cn" : "en-us";
    config.headers["Cache-Control"] = "no-cache";
    config.headers["Authorization"] = getToken();

    config.url = store.state.host + "/" + config.url; 
    // 直接修改請求url更方便
  // host 可以設置一個默認url 
    config = data;
    return config;
  },
  (error) => {
    console.log(error); // for debug
    Promise.reject(error);
  }
);

 

由於我們的需求是每次切換菜單更換url,所以在切換菜單這個方法里修改你要換的url就可以了

具體代碼不做展示了,上面才是最重要的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM