Admin.UI/src/utils/request.js
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
import axios from 'axios'
import store from '@/store'
import { toLogout } from '@/router'
import Vue from 'vue'
import { refresh } from '@/api/admin/auth'
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
axios.defaults.headers['Cache-Control'] = 'no-cache'
axios.defaults.headers['Pragma'] = 'no-cache'
const requestAxios = axios.create({
baseURL: '', // url = base url + request url
timeout: 20000 // 请求延时
})
// 拦截请求
requestAxios.interceptors.request.use(
config => {
if (config.api?.auth === false) {
return config
}
const token = store.getters.token
if (token) {
config.headers.Authorization = 'Bearer ' + token
}
return config
},
err => {
return Promise.reject(err)
}
)
// 拦截响应
requestAxios.interceptors.response.use(
response => {
const { config, data } = response
if (!data.success && !config.api?.noErrorMsg && data.msg) {
const duration = config.api?.msgDuration >= 0 ? config.api?.msgDuration : 3000
Vue.prototype.$message.error({
message: data.msg,
duration: duration
})
}
return data
},
async error => {
const res = { success: false, code: 0, msg: '' }
if (error?.response) {
if (error.config._request) {
return res
}
const { config, data, status } = error.response
if (_.isNumber(status)) {
res.code = status
}
if (_.isPlainObject(data)) {
_.merge(res, data)
} else if (_.isString(data)) {
后面还有 31 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
