1
QYF-GitLab1
2024-07-26 e4278df3b718638bc5511ff34c4c571b0da305a3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// 封装网络请求
import axios from "axios";
import { Message } from "element-ui";
export const baseUrl = process.env.VUE_APP_API_URL;
// 创建请求实例
const req = axios.create({
  // baseURL: '/api'
  // baseURL: '/account/verification'
  baseURL: baseUrl,
  timeout: 10000
});
 
// 请求拦截
req.interceptors.request.use(
  (config) => {
    // 携带token参数,一般会加载header  Authorization
    config.headers.Authorization = localStorage.getItem("access_token");
    config.headers.token = localStorage.getItem("access_token");
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);
 
// 响应拦截
req.interceptors.response.use(
  (res) => {
    // 判断token过期时的一些处理
    if (
      res.data.success == false &&
      res.data.errorText == "需要验证身份" &&
      res.data.errorCode == "11"
    ) {
      Message.error(res.data.errorText || "");
      // 清楚token
      uni.getStorageSync("access_token");
      uni.clearStorageSync();
      uni.reLaunch({
        url: "/pages/Login/Login"
      });
    }
    return res.data;
  },
  (error) => {
    // state  400  500
    // 错误处理
    // 跳登陆页面
  }
);
 
export default req;