vue 封裝axios

import axios from "axios";
axios.defaults.headers.common["Content-Type"] ="application/json; charset=UTF-8";
axios.defaults.headers.common["clientType"] = "H5";
axios.defaults.withCredentials = false;
axios.defaults.baseURL = "";//根據你的接口域名,可以寫死也可以寫成動態
const asyncRequest = {
    /** get 請求
   * @param  {接口地址} url
   * @param  {請求參數} params
   */
  get: function(url,params){
    return new Promise((resolve) => {
      axios.get(url,{
        params:params
      })
      .then((response) => {
        if(response){
          if(response.status === 200 || response.status === 304){
            resolve({
              status: 0,
              msg: "request ok",
              responseData: response.data
            });
          }else {
            resolve({
              status: response.status,
              msg: response.statusText,
              responseData: response.data
            });
          }
        }else{
          resolve({
            status: -1,
            msg: "no response",
            responseData: null
          });
        }
      })
      .catch((error) => {
        resolve({
          status: -2,
          msg: "request error",
          responseData: error
        });
      });
    })
  },
  /** post 請求
   * @param  {接口地址} url
   * @param  {請求參數} params
   */
  post: function(url,params){
    return new Promise((resolve) => {
      axios.post(url,params)
      .then((response) => {
        if(response){
          if(response.status === 200 || response.status === 304){
            resolve({
              status: 0,
              msg: "request ok",
              responseData: response.data
            });
          }else {
            resolve({
              status: response.status,
              msg: response.statusText,
              responseData: response.data
            });
          }
        }else{
          resolve({
            status: -1,
            msg: "no response",
            responseData: null
          });
        }
      })
      .catch((error) => {
        resolve({
          status: -2,
          msg: "request error",
          responseData: error
        });
      });
    })
  },
}

export default asyncRequest;//暴露該方法


  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章