| | |
| | | import axios from 'axios' |
| | | import myConfig from '@/assets/js/config.js' |
| | | import toolClass from '@/assets/js/toolClass.js' |
| | | import router from '@/router' |
| | | import axios from "axios"; |
| | | import myConfig from "@/assets/js/config.js"; |
| | | import toolClass from "@/assets/js/toolClass.js"; |
| | | import router from "@/router"; |
| | | // 创建 axios 实例 |
| | | const service = axios.create({ |
| | | baseURL: myConfig.requestCtx, |
| | | timeout: myConfig.requestTimeOut // 请求超时时间 |
| | | }) |
| | | timeout: myConfig.requestTimeOut, // 请求超时时间 |
| | | }); |
| | | |
| | | // 请求拦截器 |
| | | service.interceptors.request.use( |
| | | (config) => { |
| | | let token = localStorage.getItem(myConfig.tokenKey) |
| | | if (token) config.headers['Authorization'] = `bearer ${token}` |
| | | return config |
| | | let token = localStorage.getItem(myConfig.tokenKey); |
| | | if (token) config.headers["Authorization"] = `bearer ${token}`; |
| | | return config; |
| | | }, |
| | | (error) => { |
| | | // 发送失败 |
| | | Promise.reject(error) |
| | | Promise.reject(error); |
| | | } |
| | | ) |
| | | ); |
| | | |
| | | // 响应拦截器 |
| | | service.interceptors.response.use( |
| | | (response) => { |
| | | // dataAxios 是 axios 返回数据中的 data |
| | | const dataAxios = response.data |
| | | if (typeof dataAxios.data === 'boolean') { |
| | | return dataAxios.data |
| | | const dataAxios = response.data; |
| | | if (typeof dataAxios.data === "boolean") { |
| | | return dataAxios.data; |
| | | } |
| | | if (response.config.responseType == 'blob') { |
| | | return dataAxios |
| | | if (response.config.responseType == "blob") { |
| | | return dataAxios; |
| | | } |
| | | const { success } = dataAxios |
| | | const { success } = dataAxios; |
| | | if (dataAxios.currentDate) { |
| | | sessionStorage.currentDate = new Date(dataAxios.currentDate).getTime() |
| | | sessionStorage.currentDate = new Date(dataAxios.currentDate).getTime(); |
| | | } |
| | | // 根据 code 进行判断 |
| | | if (success) { |
| | | return dataAxios.data ? dataAxios.data : dataAxios |
| | | if (response.status == 200 && response.statusText == "OK") { |
| | | return dataAxios.data ? dataAxios.data : dataAxios; |
| | | } else { |
| | | // 提示错误 |
| | | } |
| | | }, |
| | | (error) => { |
| | | if ((error.response && error.response.status == 401) || error.code == 'ERR_NETWORK') { |
| | | localStorage.removeItem(myConfig.tokenKey) |
| | | localStorage.removeItem('jesk-userInfo') |
| | | localStorage.removeItem('alreadyElectronicBook') |
| | | localStorage.removeItem('alreadyPaperBook') |
| | | localStorage.removeItem('electronicBookList') |
| | | localStorage.removeItem('paperBookList') |
| | | sessionStorage.removeItem('cartNumber') |
| | | // router.replace({ |
| | | // path: '/home', |
| | | // query: { |
| | | // showLogin: '1' |
| | | // } |
| | | // }) |
| | | const url = window.location.hash.slice(1) |
| | | console.log(url, 'url') |
| | | if (url.includes('showLogin=1')) { |
| | | router.push(url) |
| | | } else { |
| | | // router.push(url) |
| | | if (url.includes('?')) { |
| | | console.log(url.includes('?')) |
| | | router.push(url) |
| | | } else { |
| | | router.push(url + '?showLogin=1') |
| | | } |
| | | } |
| | | if ( |
| | | (error.response && error.response.status == 401) || |
| | | error.code == "ERR_NETWORK" |
| | | ) { |
| | | console.log(router, "router"); |
| | | |
| | | localStorage.removeItem(myConfig.tokenKey); |
| | | localStorage.removeItem("jesk-userInfo"); |
| | | router.push({ |
| | | name: "login", |
| | | }); |
| | | } else { |
| | | if (error.response && error.response.data && error.response.data.error) { |
| | | console.error(error.response.data.error.msg) |
| | | console.error(error.response.data.error.msg); |
| | | } else { |
| | | console.error('请求发生错误') |
| | | console.error("请求发生错误"); |
| | | } |
| | | } |
| | | return Promise.reject(error) |
| | | return Promise.reject(error); |
| | | } |
| | | ) |
| | | ); |
| | | |
| | | export default service |
| | | export default service; |