vue axios拦截器的封装
生活随笔
收集整理的這篇文章主要介紹了
vue axios拦截器的封装
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// request.js import axios from 'axios'
import qs from 'qs'// 創建axios實例
const service = axios.create({timeout: 10000, // 請求超時時間transformrequest: data => qs.stringify(data)
})
// request攔截器
service.interceptors.request.use(config => {config.headers['X-Requested-With'] = 'XMLHttpRequest'config.headers['X-Platform'] = window.__wxjs_environment === 'miniprogram' ? 'MiniProgram' : 'H5'return config},error => ({ status: 0, msg: error.message })
)// respone攔截器
service.interceptors.response.use(response => {const res = responseif (response.status === 200) {switch (res.status) {case 0: // 錯誤并提示if (!response.config.errorSelf) {//
}return { data: res.data, msg: res.msg, status: false }case 1: // 成功返回數據return { data: res.data, msg: res.msg, status: true }case -1: // 暫不進行任何操作return { data: res.data, status: false }default:return { data: res.data, status: true }}}return { data: response.data, status: false }},error => {console.log('err' + error) // for debugswitch (error.request.status) {case 401: // 無權限訪問,需要登錄return Promise.reject ? Promise.reject(error) : errorcase 500: // 請求接口錯誤if (error.config.linkError) {//
}return Promise.reject ? Promise.reject(error) : error}return Promise.reject ? Promise.reject(error) : error}
)export default service
調用:
import request from '@/utils/request'/*** 登錄*/ export function login (data) {return request({url: '/sqlapi/login',method: 'post',data: {username: data.username,password: data.password}}) }?
轉載于:https://www.cnblogs.com/Jbridge/p/10643980.html
總結
以上是生活随笔為你收集整理的vue axios拦截器的封装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杂项-公司:联邦快递百科-un
- 下一篇: 关于mpi的理论知识以及编写程序来实现数