其他分享
首页 > 其他分享> > axios二次封装

axios二次封装

作者:互联网

 1 import axios from 'axios'
 2 
 3 // 定义常见的错误
 4 const TOKEN_ERROR = 'token认证失败,请重新登录'
 5 const NETWORK_ERROR = '网络异常,请检查网络后重试'
 6 
 7 // 创建axios实例
 8 // let baseUrl = '/'
 9 // if (process.env.NODE_ENV === 'production') { // 开发环境下的地址
10 //     baseUrl = 'loaclhost:3000'
11 // } else if (process.env.NODE_ENV === 'development') { // 上线环境下的地址
12 //     baseUrl = 'www.qichawang.cn'
13 // }
14 
15 const server = axios.create({
16     baseURL: baseUrl,
17     timeout: 10000
18 })
19 
20 // 拦截器 -> 请求前先拦截进行操作判断
21 server.interceptors.request.use((config) => {
22     // 根据需求判断是否token验证
23     if (config.headers.token === true) {
24         // 进行token验证操作
25     }
26     return config
27     // 必须返回才会执行下一步
28 }, (error) => {
29     return Promise.resolve(error)
30 })
31 
32 // 响应拦截器
33 server.interceptors.response.use((response) => {
34     // 例如 针对不同的状态码进行判断
35     if (response.data.code === 400) {
36         return response.data.msg
37     }
38 }, (error) => {
39 
40 })
41 
42 /* 
43     为什么要封装
44         -  根据状态码判断
45         -  token携带判断
46         -  方便
47 
48 */
49 
50 export default server

 

标签:axios,封装,二次,baseUrl,server,token,return,response
来源: https://www.cnblogs.com/tmccjs/p/16495736.html