1
guanqb
2024-01-20 f13afcb61276061871b30bce17a7877287df0b67
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