diff --git a/src/server/api.js b/src/server/api.js index a7765c4..c617957 100644 --- a/src/server/api.js +++ b/src/server/api.js @@ -1,4 +1,4 @@ -import service from "./request.js"; +import { service, upService} from "./request.js"; export const get = (url, params) => service.request({ diff --git a/src/server/request.js b/src/server/request.js index 0f7a192..579c60d 100644 --- a/src/server/request.js +++ b/src/server/request.js @@ -1,11 +1,14 @@ import axios from "axios"; import { ElMessage } from "element-plus"; let switchValue = true; +const baseURL = process.env.VUE_APP_BASE_URL || "http://101.201.121.115:9003/"; const service = axios.create({ - baseURL: process.env.VUE_APP_BASE_URL || "http://101.201.121.115:9003/", - // baseURL: process.env.VUE_APP_BASE_URL || "http://192.168.0.36:9003/", + baseURL, timeout: 1000 * 60 * 2, // request timeout }); +const upService = axios.create({ + baseURL +}) service.interceptors.request.use( (config) => { config.headers["Authorization"] = `Bearer ${localStorage.token}`; @@ -42,4 +45,40 @@ service.interceptors.response.use( return Promise.reject(error.response); } ); -export default service; +upService.interceptors.request.use( + (config) => { + config.headers["Authorization"] = `Bearer ${localStorage.token}`; + return config; + }, + (error) => { + return Promise.reject(error); + } +); + +upService.interceptors.response.use( + (response) => { + const code = response.data.code; + if (code === 200) { + switchValue = true; + return response.data; + } + }, + (error) => { + if ( + error.response && + error.response.data && + error.response.data.code == 401 + ) { + if (switchValue) { + switchValue = false; + ElMessage.error(error.response.data.msg); + } + localStorage.router = ""; + location.href = `${location.origin}/#/login`; + } else { + ElMessage.error(error.response.data.msg); + } + return Promise.reject(error.response); + } +); +export {service, upService};