surprise
2024-04-08 be8b9ba19cee023829d2adc5d390e5bf0f56cbb8
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
53
54
55
56
57
58
59
60
/*
 * @Description:
 * @Author: 王旭
 * @Date: 2022-03-03 15:10:54
 * @LastEditTime: 2022-04-13 15:19:08
 * @LastEditors: 王旭
 */
import axios from "axios";
import { ElMessage, ElLoading } from "element-plus";
import store from "@/store";
 
// create an axios instance
const service = axios.create({
  baseURL: "", // api的base_url
  timeout: 35000, // 请求超时时间
  // headers: {
  //   "content-type": "application/json;charset=UTF-8",
  // },
  // withCredentials: true,
});
// console.log(store);
// request interceptor
service.interceptors.request.use(
  (config) => {
    // 请求携带token
    // if (store.getters.token) {
    //   config.headers["X-Token"] = getToken();
    // }
    //加载loading
    // store.commit("UPDATE_API_COUNT", "add");
    return config;
  },
  (error) => {
    //减去loading
    store.commit("UPDATE_API_COUNT", "sub");
    console.log(error); // for debug
    return Promise.reject(error);
  }
);
service.interceptors.response.use(
  (response) => {
    store.commit("UPDATE_API_COUNT", "sub");
    // 报错提示
    if (response.data.code !== 200) {
      ElMessage.error(response.data.msg);
    }
    return response.data;
  },
  (error) => {
    store.commit("UPDATE_API_COUNT", "sub");
    ElMessage({
      message: error.message,
      type: "error",
      duration: 5 * 1000,
    });
    return Promise.reject(error);
  }
);
 
export default service;