Commit 5699393c authored by “yiyousong”'s avatar “yiyousong”

perf: 优化首页数据获取

parent fc9e93ab
...@@ -2,15 +2,18 @@ ...@@ -2,15 +2,18 @@
* axios 工具函数层 * axios 工具函数层
*/ */
import axios from "axios"; import axios from "axios";
import { Message } from "element-ui"; import { message } from "@/utils/resetMessage";
// import local from "@/utils/local"; // import local from "@/utils/local";
// 请求超时时间
// axios.defaults.timeout = 15 * 1000; const instance = axios.create({
// 请求超时时间
timeout: 20 * 1000,
});
// 设置统一服务器地址 // 设置统一服务器地址
// axios.defaults.baseURL = local.getLocal("serverUrl"); // axios.defaults.baseURL = local.getLocal("serverUrl");
// 请求拦截 // 请求拦截
axios.interceptors.request.use( instance.interceptors.request.use(
(config) => { (config) => {
// let token = local.getLocal('token') // let token = local.getLocal('token')
// if (token) { // if (token) {
...@@ -24,31 +27,48 @@ axios.interceptors.request.use( ...@@ -24,31 +27,48 @@ axios.interceptors.request.use(
); );
// 响应拦截 // 响应拦截
axios.interceptors.response.use( instance.interceptors.response.use(
(response) => { (response) => {
if (response.data.code !== undefined && response.data.msg !== undefined) { if (response.data.code !== undefined && response.data.msg !== undefined) {
// 取出数据 // 取出数据
let { code, msg } = response.data; let { code, msg } = response.data;
if (code === -1) { if (code === -1) {
Message.error({ message.error({
message: msg, message: msg,
}); });
} else if (code === 401) { } else if (code === 401) {
Message.error({ message.error({
message: msg, message: msg,
}); });
} }
} }
return response; return response;
}, },
(err) => { (error) => {
if (err.message.includes("timeout")) { let path = window.location.hash;
Message.error({ if (
message: "请求超时,请稍后再试", error.response &&
error.response.status &&
error.response.status != 200 &&
path == "#/"
) {
setTimeout(() => {
// 重新发送请求
return instance(error.config);
}, 5000);
} else if (error.request && path == "#/") {
setTimeout(() => {
// 重新发送请求
return instance(error.config);
}, 5000);
}
if (error.message.includes("timeout")) {
message.error({
message: "网络不给力呀",
}); });
} }
return Promise.reject(err); return Promise.reject(error);
} }
); );
export default axios; export default instance;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment