From d765d3a8c24d9d22115ab2fe33942bcb08676273 Mon Sep 17 00:00:00 2001 From: zhongshujie <2862698242@qq.com> Date: 星期四, 07 八月 2025 17:03:07 +0800 Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/molecularDatabase --- src/plugin/axios/index.ts | 83 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) diff --git a/src/plugin/axios/index.ts b/src/plugin/axios/index.ts new file mode 100644 index 0000000..903f517 --- /dev/null +++ b/src/plugin/axios/index.ts @@ -0,0 +1,83 @@ +import axios from 'axios' +import myConfig from '@/assets/js/config' +import toolClass from '@/assets/js/toolClass.js' +import router from '@/router' +// 鍒涘缓 axios 瀹炰緥 +const service = axios.create({ + baseURL: myConfig.requestCtx, + timeout: myConfig.requestTimeOut, // 璇锋眰瓒呮椂鏃堕棿 +}) + +// 璇锋眰鎷︽埅鍣� +service.interceptors.request.use( + (config) => { + let token = localStorage.getItem(myConfig.tokenKey) + if (token) config.headers['Authorization'] = `bearer ${token}` + return config + }, + (error) => { + // 鍙戦�佸け璐� + Promise.reject(error) + }, +) + +// 鍝嶅簲鎷︽埅鍣� +service.interceptors.response.use( + (response) => { + // dataAxios 鏄� axios 杩斿洖鏁版嵁涓殑 data + const dataAxios = response.data + if (typeof dataAxios.data === 'boolean') { + return dataAxios.data + } + if (response.config.responseType == 'blob') { + return dataAxios + } + const { success } = dataAxios + if (dataAxios.currentDate) { + sessionStorage.currentDate = new Date(dataAxios.currentDate).getTime() + } + // 鏍规嵁 code 杩涜鍒ゆ柇 + if (success) { + 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) + if (url.includes('showLogin=1')) { + router.push(url) + } else { + if (url.includes('?')) { + router.push(url + '&showLogin=1') + } else { + router.push(url + '?showLogin=1') + } + } + } else { + if (error.response && error.response.data && error.response.data.error) { + console.error(error.response.data.error.msg) + } else { + console.error('璇锋眰鍙戠敓閿欒') + } + } + return Promise.reject(error) + }, +) + +export default service -- Gitblit v1.9.1