From 574e3e7390170182bef474164597ce719b2327bd Mon Sep 17 00:00:00 2001
From: charles <981744753@qq.com>
Date: 星期三, 24 七月 2024 17:44:57 +0800
Subject: [PATCH] fix:解决crm,之前改了域名,处理各种异常状态,跳转也会出现异常等问题。
---
src/common/untils/request.js | 104 ++++++++++++++++++++++++++++++++++-----------------
1 files changed, 69 insertions(+), 35 deletions(-)
diff --git a/src/common/untils/request.js b/src/common/untils/request.js
index 4939506..df4cc89 100644
--- a/src/common/untils/request.js
+++ b/src/common/untils/request.js
@@ -1,55 +1,58 @@
import axios from "axios"
import { Message } from "element-ui"
-import Cookies from 'js-cookie'
-
+import {getApsPage} from './index.js';
// import router from '@/router'
+
+// 寮�鍙戠幆澧冧笅灏嗚嚜宸辩殑token澶嶅埗鍒拌繖閲�, 涔熷彲浠ュ湪娴忚鍣ㄤ腑鎵嬪姩娣诲姞token鍒癱ookie涓�,cookie涓殑token浼樺厛
+const DEV_TOKEN = ''
+
+function environmentType(){
+ let type
+ if (location.href.includes('192.168.20.119')) {
+ type = 'test'
+ } else if (location.href.includes('192.168') || location.href.includes('localhost')) {
+ type = 'dev'
+ } else {
+ type = 'prod'
+ }
+
+ return type
+}
+
+const isDev = environmentType() === 'dev'
+
const Axios = axios.create({
responseType: "json",
withCredentials: true // 鏄惁鍏佽甯ookie杩欎簺
})
-const getApsPage = () => {
+/*const getApsPage = () => {
// 棣栭〉閮ㄧ讲鍦ㄥ悇涓幆澧冪殑绔彛
const loginPathMap = {
prod:`//${window.location.hostname}:9080`,
test:`//192.168.20.119:9080`,
// 鎯宠烦鍒版湰鍦板惎鍔ㄧ殑鐧诲綍椤电殑璇濋渶瑕佹妸dev鏀规垚浣犳湰鍦伴」鐩矾寰�
- dev: `//192.168.20.119:9080`
+ dev: `//192.168.8.108:8080`
}
- if (location.href.includes('192.168.20.119')) {
- return loginPathMap.test
- } else if (location.href.includes('192.168') || location.href.includes('localhost')) {
- return loginPathMap.dev
- } else {
- return loginPathMap.prod
- }
-}
-
-function getToken(){
- const localStorageToken = localStorage.getItem('token')
- const cookieToken = Cookies.get("token")
- if (localStorageToken){
- return localStorageToken
- }else if ( cookieToken) {
- localStorage.setItem('token',cookieToken)
- return cookieToken
- }else {
- return ''
- }
-}
+ return loginPathMap[environmentType()]
+}*/
/* //POST浼犲弬搴忓垪鍖�(娣诲姞璇锋眰鎷︽埅鍣�) */
Axios.interceptors.request.use(
(config) => {
- // 鑻ユ槸鏈夊仛閴存潈token , 灏辩粰澶撮儴甯︿笂token
- let token = getToken()
- if (token) {
- config.headers.Authorization = "Bearer " + token;
- }
-
- return config
+ let token = document.cookie.replace(
+ /(?:(?:^|.*;\s*)token\s*\=\s*([^;]*).*$)|^.*$/,
+ "$1",
+ );
+ if (isDev){
+ token = token || DEV_TOKEN
+ }
+ if (token) {
+ config.headers.Authorization = "Bearer " + token;
+ }
+ return config
},
(error) => {
return Promise.reject(error)
@@ -61,14 +64,35 @@
(res) => {
/* //瀵瑰搷搴旀暟鎹仛浜涗簨 */
if (res.data.code === 200) {
- return res.data ? res.data : {}
+ if(res.config.IsHeader){
+ return res;
+ }else{
+ return res.data ? res.data : {}
+ }
} else if (res.data.code === 700001 || res.data.code === 700005) {
console.log("瀹㈡埛鍚嶇О閲嶅")
return res
} else if([2012,2013,2014,2015].includes(res.data.code)){
+ if (isDev){
+ alert("JWT澶辨晥,鍗冲皢璺宠浆鑷崇櫥褰曢〉..")
+ window.location ='http://'+ getApsPage()+'/login'
+ }else {
// JWT閴存潈澶辨晥 璺宠浆鍒扮櫥褰曢〉
- window.location = getApsPage()+'/login'
- return Promise.reject(res.data)
+ window.location = 'http://'+getApsPage()+'/login'
+ }
+ return Promise.reject(res.data)
+ }else if([2036].includes(res.data.code)){
+ if (isDev){
+ window.location ='http://'+ getApsPage()+'/commonWeb?resetPwd=true'
+ }else {
+ // JWT閴存潈澶辨晥 璺宠浆鍒扮櫥褰曢〉
+ window.location ='http://'+ getApsPage()+'/commonWeb?resetPwd=true'
+ }
+ return Promise.reject(res.data)
+
+ // if(window.location.pathname && window.location.pathname !== '/login'){
+ // window.location = window.location.origin+'/login'
+ // }
} else {
Message({
message: res.data.msg,
@@ -79,6 +103,16 @@
}
},
(error) => {
+ if (error.response.status === 401){
+ if (isDev){
+ alert("JWT澶辨晥,鍗冲皢璺宠浆鑷崇櫥褰曢〉..")
+ window.location ='http://'+ getApsPage()+'/login'
+ }else {
+ // JWT閴存潈澶辨晥 璺宠浆鍒扮櫥褰曢〉
+ window.location ='http://'+ getApsPage()+'/login'
+ }
+ }
+
let { message } = error
if (message === "Network Error") {
message = "鍚庣鎺ュ彛杩炴帴寮傚父"
--
Gitblit v1.8.0