From 8fdd10d1c2723ead1d2c3b232f64f292ba3ce1cc Mon Sep 17 00:00:00 2001 From: che_shuai <che_shuai@massclouds> Date: 星期一, 24 七月 2023 14:10:46 +0800 Subject: [PATCH] 修复在国标级联选择通道时,如果添加通道到跟平台根目录(即平台本身),无法触发目录变更事件问题.详见 https://github.com/648540858/wvp-GB28181-pro/issues/958 --- web_src/src/main.js | 63 +++++++++++++++++++++++++------ 1 files changed, 50 insertions(+), 13 deletions(-) diff --git a/web_src/src/main.js b/web_src/src/main.js index 03bb4a4..a6c6e1b 100644 --- a/web_src/src/main.js +++ b/web_src/src/main.js @@ -1,5 +1,6 @@ import Vue from 'vue'; import App from './App.vue'; + Vue.config.productionTip = false; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; @@ -7,40 +8,76 @@ import axios from 'axios'; import VueCookies from 'vue-cookies'; import echarts from 'echarts'; +import VCharts from 'v-charts'; import VueClipboard from 'vue-clipboard2'; -import { Notification } from 'element-ui'; +import {Notification} from 'element-ui'; import Fingerprint2 from 'fingerprintjs2'; +import VueClipboards from 'vue-clipboards'; +import Contextmenu from "vue-contextmenujs" +import userService from "./components/service/UserService" -// 生成唯一ID -Fingerprint2.get(function(components) { - const values = components.map(function(component,index) { - if (index === 0) { //把微信浏览器里UA的wifi或4G等网络替换成空,不然切换网络会ID不一样 + +// 鐢熸垚鍞竴ID +Fingerprint2.get(function (components) { + const values = components.map(function (component, index) { + if (index === 0) { //鎶婂井淇℃祻瑙堝櫒閲孶A鐨剋ifi鎴�4G绛夌綉缁滄浛鎹㈡垚绌�,涓嶇劧鍒囨崲缃戠粶浼欼D涓嶄竴鏍� return component.value.replace(/\bNetType\/\w+\b/, ''); } return component.value; }) - //console.log(values) //使用的浏览器信息npm - // 生成最终id + //console.log(values) //浣跨敤鐨勬祻瑙堝櫒淇℃伅npm + // 鐢熸垚鏈�缁坕d let port = window.location.port; console.log(port); const fingerPrint = Fingerprint2.x64hash128(values.join(port), 31) Vue.prototype.$browserId = fingerPrint; - console.log("唯一标识码:" + fingerPrint); + console.log("鍞竴鏍囪瘑鐮侊細" + fingerPrint); }); Vue.use(VueClipboard); Vue.use(ElementUI); Vue.use(VueCookies); -Vue.prototype.$axios = axios; +Vue.use(VueClipboards); + Vue.prototype.$notify = Notification; +Vue.use(Contextmenu); +Vue.use(VCharts); -axios.defaults.baseURL = (process.env.NODE_ENV === 'development') ? process.env.BASE_API : ""; +axios.defaults.baseURL = (process.env.NODE_ENV === 'development') ? process.env.BASE_API : (window.baseUrl ? window.baseUrl : ""); +axios.defaults.withCredentials = true; +// api 杩斿洖401鑷姩鍥炵櫥闄嗛〉闈� +axios.interceptors.response.use((response) => { + // 瀵瑰搷搴旀暟鎹仛鐐逛粈涔� + let token = response.headers["access-token"]; + if (token) { + userService.setToken(token) + } + return response; +}, (error) => { + // 瀵瑰搷搴旈敊璇仛鐐逛粈涔� + if (error.response.status === 401) { + console.log("Received 401 Response") + router.push('/login'); + } + return Promise.reject(error); +}); +axios.interceptors.request.use( + config => { + if (userService.getToken() != null && config.url !== "/api/user/login") { + config.headers['access-token'] = `${userService.getToken()}`; + } + return config; + }, + error => { + return Promise.reject(error); + } +); +Vue.prototype.$axios = axios; Vue.prototype.$cookies.config(60*30); - new Vue({ - router: router, - render: h => h(App), + router: router, + render: h => h(App), }).$mount('#app') -- Gitblit v1.8.0