From f13afcb61276061871b30bce17a7877287df0b67 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Sat, 20 Jan 2024 09:56:43 +0800
Subject: [PATCH] 1

---
 src/router/axios.js |  109 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 72 insertions(+), 37 deletions(-)

diff --git a/src/router/axios.js b/src/router/axios.js
index 7d3f821..d217e29 100644
--- a/src/router/axios.js
+++ b/src/router/axios.js
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2022-07-29 15:19:13
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2022-12-05 15:10:21
+ * @LastEditTime: 2023-03-24 17:15:12
  * @FilePath: \srs-police-affairs\src\router\axios.js
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -13,20 +13,33 @@
  * isSerialize是否开启form表单提交
  * isToken是否需要token
  */
-import axios from 'axios'
-
+import axios from "axios"
+import router from "@/router/page/index.js"
+import { Message } from "element-ui"
 // 获取公共配置域名
 
-// import router from '@/router/page/index.js'
-// import { Message } from 'element-ui'
-// import * as auth from '@/utils/auth'
+import { Base64 } from 'js-base64'
+import * as auth from '@/utils/auth'
 
+let defaultApi = ''
+let searchAllApi = ''
+let videoApi = ''
+
+if (process.env.NODE_ENV == 'development') {
+    // 开发
+    defaultApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET
+    searchAllApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET_SEARCH
+    videoApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET_VIDEO
+} else {
+    // 部署
+    defaultApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET
+    searchAllApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET_SEARCH
+    videoApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET_VIDEO
+}
+
+// 调用后台管理的
 const service = axios.create({
-    // baseURL: 'http://36.14.255.242:18080/api',
-    // baseURL: 'http://192.168.0.102:1888/api',
-    baseURL: 'http://192.168.0.105:18080/api',
-    // baseURL: 'http://192.168.0.106:1888/api',
-    timeout: 600000 // request timeout
+    timeout: 600000, // request timeout
 })
 
 // 返回其他状态码
@@ -40,12 +53,36 @@
 // http request拦截
 service.interceptors.request.use(
     (config) => {
+        config.cancelToken = new axios.CancelToken(cancel => {
+            window._axiosPromiseArr.push({ cancel })
+        })
 
-        if (config.requestBaseUrl == 'outside') {
-            // config.baseURL = 'http://192.168.0.102:1888/api'
-            config.baseURL = 'http://192.168.0.105:80/api'
-            // config.baseURL = 'http://192.168.0.106:1888/api'
+        // 调用监控平台的
+        if (config.requestBaseUrl == "outside") {
+            config.baseURL = videoApi
+        } else if (config.requestBaseUrl == "fengt") {
+            config.baseURL = defaultApi
+        } else if (config.requestBaseUrl == "fengtDS") {
+            config.baseURL = searchAllApi
+        } else {
+            const meta = config.meta || {}
+            const isToken = meta.isToken === false
+            if (auth.getToken() && !isToken) {
+                config.headers['Blade-Auth'] = "bearer " + auth.getToken()
+            }
         }
+
+        //headers判断是否需要
+        const authorization = config.authorization === false
+        if (!authorization) {
+            config.headers["Authorization"] = `Basic ${Base64.encode("saber:saber_secret")}`
+        }
+        //让每个请求携带token
+
+        //headers中配置text请求
+        // if (config.text === true) {
+        //     config.headers["Content-Type"] = "text/plain"
+        // }
 
         // const token = auth.getToken()
 
@@ -60,28 +97,26 @@
 )
 
 // http response 拦截
-// service.interceptors.response.use(
-//     (res) => {
-//         const code = res.data.code
+service.interceptors.response.use(
+    (res) => {
+        const code = res.data.code
+        if (code == 401 || code == 403 || res.data.data == "token 验证失败!") {
+            // sessionStorage.removeItem('token')
+            router.push("/login")
+        } else {
+            return res
+        }
+    },
+    (error) => {
+        // Message({
+        //     message: error.message,
+        //     type: "error",
+        //     duration: 5 * 1000,
+        // })
+        // console.log(error)
 
-//         // console.log(code, 555)
-
-//         if (code == 403 && res.data.data == 'token 验证失败!') {
-//             sessionStorage.removeItem('token')
-//             router.push('/login')
-//         } else {
-//             return res
-//         }
-//     },
-//     (error) => {
-//         Message({
-//             message: error.message,
-//             type: 'error',
-//             duration: 5 * 1000
-//         })
-
-//         return Promise.reject(new Error(error))
-//     }
-// )
+        return Promise.reject(new Error(error))
+    }
+)
 
 export default service

--
Gitblit v1.9.3