feat: 联调

This commit is contained in:
秋水浮尘
2023-11-12 16:54:55 +08:00
parent 8a9d22e0aa
commit 5a17d2da74
14 changed files with 744 additions and 699 deletions

View File

@@ -1,66 +1,71 @@
import axios from 'axios';
import { message, Modal } from 'antd';
import { useLocation, useNavigate } from 'react-router-dom';
import { message } from 'antd'
import axios from 'axios'
export const baseHttp = () => {
const http = axios.create({
baseURL: "/subject",
timeout: 5 * 60 * 1000, // request timeout
withCredentials: true, // send cookies when cross-domain requests
headers: {
'Content-Type': 'application/json; charset=utf-8',
},
});
const http = axios.create({
baseURL: '/subject',
timeout: 5 * 60 * 1000, // request timeout
withCredentials: true, // send cookies when cross-domain requests
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
})
return http;
};
return http
}
export default function request(config, url) {
// const navigate = useNavigate()
console.log(config, url, 'config url')
// const navigate = useNavigate()
const userInfoStorage = localStorage.getItem('userInfo')
const userInfo = userInfoStorage ? JSON.parse(userInfoStorage) : {}
const baseURL = url || '/subject/subject'
// 1.创建axios的实例
const instance = axios.create({
baseURL,
timeout: 5 * 60 * 1000, // request timeout
withCredentials: true, // send cookies when cross-domain requests
headers: {
'Content-Type': 'application/json; charset=utf-8',
[userInfo.tokenName]: 'jichi ' + userInfo.tokenValue
}
})
const baseURL = url || '/subject';
// 1.创建axios的实例
const instance = axios.create({
baseURL,
timeout: 5 * 60 * 1000, // request timeout
withCredentials: true, // send cookies when cross-domain requests
headers: {
'Content-Type': 'application/json; charset=utf-8',
},
});
// 2.axios的拦截器
// 2.1.请求拦截的作用
instance.interceptors.request.use(
config => {
return config
},
err => {
console.log(err)
}
)
// 2.axios的拦截
// 2.1.请求拦截的作用
instance.interceptors.request.use(
(config) => {
return config;
},
(err) => {
console.log(err);
}
);
// 2.2.响应拦截
instance.interceptors.response.use(
res => {
let { code } = res.data
if (code === 500) {
message.error(res.data.message)
}
if (code === 401) {
window.location.replace('/login')
}
return res.data
},
err => {
let { status } = err?.response ?? {}
if (status === 401 || !status) {
message.info('页面异常')
window.location.replace('/login')
} else if (status === 500 || status === 503) {
message.error('服务器错误')
}
return Promise.reject(err)
}
)
// 2.2.响应拦截
instance.interceptors.response.use(
(res) => {
let { code } = res.data;
if (code === 500) {
message.error(res.data.message);
}
return res.data;
},
(err) => {
let { status } = err?.response ?? {};
if (status === 401 || !status) {
message.info('页面异常')
window.location.replace('/login')
} else if (status === 500 || status === 503) {
message.error('服务器错误');
}
return Promise.reject(err);
}
);
// 3.发送真正的网络请求
return instance(config);
// 3.发送真正的网络请求
return instance(config)
}