Blame view

src/utils/request.js 2.33 KB
52c50939   liuqimichale   init
1
2
3
4
  import axios from 'axios'
  
  // create an axios instance
  const service = axios.create({
b54f2cd4   liuqimichale   添加mock 数据
5
    // baseURL: process.env.BASE_API, // api 的 base_url
52c50939   liuqimichale   init
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    timeout: 5000 // request timeout
  })
  
  // request interceptor
  service.interceptors.request.use(
    config => {
      // Do something before request is sent
      // if (store.getters.token) {
      //   // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
      //   config.headers['X-Token'] = getToken()
      // }
      return config
    },
    error => {
      // Do something with request error
      console.log(error) // for debug
      Promise.reject(error)
    }
  )
  
  // response interceptor
  service.interceptors.response.use(
cb40959e   liuqimichale   添加mock 数据
28
    response => response,
52c50939   liuqimichale   init
29
30
    /**
     * 下面的注释为通过在response里,自定义code来标示请求状态
cb40959e   liuqimichale   添加mock 数据
31
32
33
     * code返回如下情况则说明权限有问题,登出并返回到登录页
     * 如想通过 xmlhttprequest 来状态码标识 逻辑可写在下面error
     * 以下代码均为样例,请结合自生需求加以修改,若不需要,则可删除
52c50939   liuqimichale   init
34
     */
cb40959e   liuqimichale   添加mock 数据
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
      // response => {
      //   const res = response.data
      //   if (res.code !== 20000) {
      //     Message({
      //       message: res.message,
      //       type: 'error',
      //       duration: 5 * 1000
      //     })
      //     // 50008:非法的token; 50012:其他客户端登录了;  50014:Token 过期了;
      //     if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
      //       // 请自行在引入 MessageBox
      //       // import { Message, MessageBox } from 'element-ui'
      //       MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
      //         confirmButtonText: '重新登录',
      //         cancelButtonText: '取消',
      //         type: 'warning'
      //       }).then(() => {
      //         store.dispatch('FedLogOut').then(() => {
      //           location.reload() // 为了重新实例化vue-router对象 避免bug
      //         })
      //       })
      //     }
      //     return Promise.reject('error')
      //   } else {
      //     return response.data
      //   }
      // },
52c50939   liuqimichale   init
62
63
    error => {
      console.log('err' + error) // for debug
cb40959e   liuqimichale   添加mock 数据
64
65
66
67
68
      // Message({
      //   message: error.message,
      //   type: 'error',
      //   duration: 5 * 1000
      // })
52c50939   liuqimichale   init
69
70
71
72
73
      return Promise.reject(error)
    }
  )
  
  export default service