123
gongjinbao
2025-01-08 b0277bf510e05e4f7f2d049884a3aceec4206efa
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import axios from 'axios'
import store from '@/store'
 
import {
  Message
} from 'element-ui'
 
 
const service = axios.create({
  // baseURL: `http://vwpmxwbhv59i.guyubao.com`,
  baseURL: `http://192.168.110.34:8081`,
  // baseURL:'http://vwpmxwbhv59i.guyubao.com',
  withCredentials: false, // 当跨域请求时发送cookie
  timeout: 30000, // request timeout
})
 
// 请求拦截
service.interceptors.request.use(
  config => {
    config['headers']['Authorization'] = `${localStorage.getItem('token')}`
    if (config.method == 'get') {
      if (!config.params) config.params = {};
      config.params = {
        ...config.params,
      }
    }
    if (config.method == 'post') {
      if (!config.data) config.data = {};
      config.data = {
        ...config.data,
      }
    }
    return config
  },
  error => {
    return Promise.reject(error)
  }
)
 
// 响应拦截
service.interceptors.response.use(
  response => {
    if (!response) {
      return
    }
    const res = response;
    if (res.data.code == 200) {
      if (!res.data) {
        return Promise.resolve({})
      }
      return Promise.resolve(res.data)
    } else {
      if (res.data.code == 103 || res.data.code == 401) {
        Message({
          message: res.data.msg || '登录已过期,请重新登录',
          type: 'warning',
          duration: 2000
        })
        setTimeout(() => {
          if (store.state.subjectUI == 'BlueIndex' || store.state.subjectUI == 'Green' || store.state.subjectUI == 'Purple') {
            localStorage.clear();
            window.location.replace('/');
          }
          if (store.state.subjectUI == 'darkBlue') {
            let obj = JSON.parse(localStorage.getItem('acountObj'))
            localStorage.clear();
            localStorage.setItem('acountObj', JSON.stringify(obj))
            window.location.replace('/');
          }
        }, 2000)
        return Promise.reject(res.data)
      }
      Message({
        message: res.data.msg || '服务器错误',
        type: 'error',
        duration: 2000
      })
      return Promise.reject(res.data)
    }
  },
  error => {
    return Promise.reject(error.message)
  }
)
export default service