智慧农业大数据平台
xiebin
2022-11-16 3dc278f10a4c3e3db7ce3a445bed710bdc88916e
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
/*
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-07-29 15:19:13
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2022-08-05 10:51:10
 * @FilePath: \zhny-dsj\src\router\axios.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
/**
 * 全站http配置
 *
 * axios参数说明
 * isSerialize是否开启form表单提交
 * isToken是否需要token
 */
import axios from 'axios'
import router from '@/router/page/index.js'
import { Message } from 'element-ui'
import * as auth from '@/utils/auth'
 
const service = axios.create({
    baseURL: 'http://dev.jxpskj.com:8020/api', // 2
    // baseURL:'http://127.0.0.1:89',
    timeout: 600000 // request timeout
})
 
// 返回其他状态码
service.defaults.validateStatus = function (status) {
    return status >= 200 && status <= 500
}
 
// 跨域请求,允许保存cookie
service.defaults.withCredentials = true
 
// http request拦截
service.interceptors.request.use(
    (config) => {
        const token = auth.getToken()
 
        // 添加token
        token && (config.headers.token = token)
 
        return config
    },
    (error) => {
        return Promise.reject(error)
    }
)
 
// http response 拦截
service.interceptors.response.use(
    (res) => {
        const code = res.data.code
 
        // console.log(code, 555)
 
        if (code == '403' || code == '401') {
            sessionStorage.removeItem('token')
            router.push('/login')
        } else {
            return res
        }
    },
    (error) => {
        Message({
            message: error.message,
            type: 'error',
            duration: 5 * 1000
        })
 
        return Promise.reject(new Error(error))
    }
)
 
export default service