2021-06-11 10:00:22 +08:00
|
|
|
|
import axios from 'axios'
|
2021-08-13 09:39:02 +08:00
|
|
|
|
import { storageKey } from '@/utils/constants'
|
2021-06-11 10:00:22 +08:00
|
|
|
|
|
|
|
|
|
|
axios.interceptors.request.use(config => {
|
|
|
|
|
|
const token = sessionStorage.getItem('cn-token')
|
|
|
|
|
|
if (token) {
|
|
|
|
|
|
config.headers.Authorization = token // 请求头token
|
|
|
|
|
|
}
|
|
|
|
|
|
return config
|
|
|
|
|
|
},
|
|
|
|
|
|
err => Promise.reject(err)
|
|
|
|
|
|
)
|
|
|
|
|
|
const accountErrorCode = [518003, 518004, 518005, 518006, 518007, 518008] // 账号锁定等
|
|
|
|
|
|
const licenceErrorCode = [711001]
|
|
|
|
|
|
|
|
|
|
|
|
// 若get请求的url中带问号,则将url上的参数截取,改为对象形式传参
|
|
|
|
|
|
axios.interceptors.request.use(
|
|
|
|
|
|
config => {
|
|
|
|
|
|
if (config.method === 'get') {
|
|
|
|
|
|
const url = config.url
|
|
|
|
|
|
const index = url.indexOf('?')
|
|
|
|
|
|
if (index > -1) {
|
|
|
|
|
|
const pre = url.substring(0, index)
|
|
|
|
|
|
const suf = url.substring(index + 1, url.length)
|
|
|
|
|
|
const paramsArr = suf.split('&')
|
|
|
|
|
|
const params = {}
|
|
|
|
|
|
paramsArr.forEach(p => {
|
|
|
|
|
|
const i = p.indexOf('=')
|
|
|
|
|
|
if (i > -1) {
|
|
|
|
|
|
params[p.substring(0, i)] = p.substring(i + 1, p.length)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
params[p] = ''
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
config = { ...config, url: pre, params: params }
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return config
|
|
|
|
|
|
}
|
|
|
|
|
|
)
|
|
|
|
|
|
axios.interceptors.response.use(
|
|
|
|
|
|
response => {
|
|
|
|
|
|
if (licenceErrorCode.indexOf(response.data.code) !== -1) {
|
2021-08-13 09:39:02 +08:00
|
|
|
|
sessionStorage.removeItem(storageKey.token)
|
2021-08-13 18:57:49 +08:00
|
|
|
|
window.location.href = '/'
|
2021-06-11 10:00:22 +08:00
|
|
|
|
} else if (response.status === 200) {
|
|
|
|
|
|
if (accountErrorCode.indexOf(response.data.code) !== -1) {
|
2021-08-27 11:24:51 +08:00
|
|
|
|
sessionStorage.removeItem(storageKey.token)
|
2021-06-11 10:00:22 +08:00
|
|
|
|
window.location.href = '/'
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return response
|
|
|
|
|
|
},
|
|
|
|
|
|
error => {
|
|
|
|
|
|
return Promise.reject(error)
|
|
|
|
|
|
}
|
|
|
|
|
|
)
|
2021-11-11 23:28:52 +08:00
|
|
|
|
export function getForDebug (url, params) {
|
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
|
axios.get(url, {
|
|
|
|
|
|
params: params
|
|
|
|
|
|
}).then(response => {
|
|
|
|
|
|
resolve(response)
|
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
|
if (err.response) {
|
|
|
|
|
|
resolve(err.response)
|
|
|
|
|
|
} else if (err.message) {
|
|
|
|
|
|
resolve(err.message)
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export function postForDebug (url, params, headers) {
|
|
|
|
|
|
return new Promise(resolve => {
|
|
|
|
|
|
axios.post(url, params, { headers: headers }).then(response => {
|
|
|
|
|
|
resolve(response, response)
|
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
|
if (err.response) {
|
|
|
|
|
|
resolve(err.response)
|
|
|
|
|
|
} else if (err.message) {
|
|
|
|
|
|
resolve(err.message)
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2021-06-11 10:00:22 +08:00
|
|
|
|
export function get (url, params) {
|
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
|
axios.get(url, {
|
|
|
|
|
|
params: params
|
|
|
|
|
|
}).then(response => {
|
|
|
|
|
|
resolve(response.data)
|
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
|
if (err.response) {
|
|
|
|
|
|
resolve(err.response.data)
|
|
|
|
|
|
} else if (err.message) {
|
|
|
|
|
|
resolve(err.message)
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export function post (url, params, headers) {
|
|
|
|
|
|
return new Promise(resolve => {
|
|
|
|
|
|
axios.post(url, params, { headers: headers }).then(response => {
|
|
|
|
|
|
resolve(response.data, response)
|
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
|
if (err.response) {
|
|
|
|
|
|
resolve(err.response.data)
|
|
|
|
|
|
} else if (err.message) {
|
|
|
|
|
|
resolve(err.message)
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export function put (url, params, headers) {
|
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
|
axios.put(url, params, { headers: headers }).then(response => {
|
|
|
|
|
|
resolve(response.data, response)
|
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
|
if (err.response) {
|
|
|
|
|
|
resolve(err.response.data)
|
2021-07-22 16:59:24 +08:00
|
|
|
|
console.log(err)
|
2021-06-11 10:00:22 +08:00
|
|
|
|
} else if (err.message) {
|
|
|
|
|
|
resolve(err.message)
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export function del (url, params) {
|
|
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
|
|
axios.delete(url, params).then(response => {
|
|
|
|
|
|
resolve(response.data, response)
|
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
|
if (err.response) {
|
|
|
|
|
|
resolve(err.response.data)
|
|
|
|
|
|
} else if (err.message) {
|
|
|
|
|
|
resolve(err.message)
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|