vue中axios的封裝

1.在src文件中新建untils文件夾 新建axios.js文件

import axios from 'axios';

//設(shè)置axios
const service=axios.create({
    timeout:1000*60,
    baseURL:'/api',//對(duì)axios發(fā)送的請(qǐng)求路徑進(jìn)行集中設(shè)置
    //意思是在接口路徑前加上/api
    //這里的 /api 是和vue.config.js中proxy 中設(shè)置的對(duì)應(yīng)
})

//封裝post請(qǐng)求
let post=function(url,data_={}){
    return new Promise((resolve,reject)=>{
        service.post(url,data_).then((res)=>{
            return resolve(res)
        }).catch((err)=>{
            return reject(err)
        })
    })
}

//封裝get請(qǐng)求
let get=function(url,params){
    return new Promise((resolve,reject)=>{
        service.get(url,{params}).then((res)=>{
            return resolve(res)
        }).catch((err)=>{
            return reject(err)
        })
    })
}

//請(qǐng)求攔截
service.interceptors.request.use(config=>{
    //添加請(qǐng)求頭
    config.headers={
        "Authorization":localStorage.token
    }
    return config
},err=>{
    return Promise.reject(err)
})

//添加響應(yīng)攔截
service.interceptors.response.use(res=>{
    return res.data
},err=>{
    return err
})

export default{
    post,
    get
}

2.對(duì)請(qǐng)求方法進(jìn)行二次封裝

  • 2.1 在src中新建api文件
  • 2.2在api文件夾中新建文件 最好每個(gè)表格的接口寫(xiě)一個(gè)文件
//引入封裝好的axios
import axios from '@/untils/axios';
//添加分類(lèi)
function add_(data){
    return axios.get('/goodstype/add',data)
}export{
    add_ as add,
}
  • 這種寫(xiě)法可以保護(hù)接口路徑不公開(kāi)

3.在vue文件中使用接口

import { add } from "@/api/goods";
async function(){
      let res=await add({
            //需要傳的參數(shù)
      })
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容