From 4b9549dfbf55d8af415efe609623e9d19dd6e6d4 Mon Sep 17 00:00:00 2001 From: Lawrence <1934378145@qq.com> Date: 星期四, 21 一月 2021 19:57:57 +0800 Subject: [PATCH] 添加浏览器ID,确保SSE可同时推送到不同的前端 --- web_src/src/main.js | 25 +++++++++++++++++++++++-- 1 files changed, 23 insertions(+), 2 deletions(-) diff --git a/web_src/src/main.js b/web_src/src/main.js index 6f88c2a..03bb4a4 100644 --- a/web_src/src/main.js +++ b/web_src/src/main.js @@ -8,11 +8,32 @@ import VueCookies from 'vue-cookies'; import echarts from 'echarts'; -import VueClipboard from 'vue-clipboard2' -Vue.use(VueClipboard) +import VueClipboard from 'vue-clipboard2'; +import { Notification } from 'element-ui'; +import Fingerprint2 from 'fingerprintjs2'; + +// 生成唯一ID +Fingerprint2.get(function(components) { + const values = components.map(function(component,index) { + if (index === 0) { //把微信浏览器里UA的wifi或4G等网络替换成空,不然切换网络会ID不一样 + return component.value.replace(/\bNetType\/\w+\b/, ''); + } + return component.value; + }) + //console.log(values) //使用的浏览器信息npm + // 生成最终id + let port = window.location.port; + console.log(port); + const fingerPrint = Fingerprint2.x64hash128(values.join(port), 31) + Vue.prototype.$browserId = fingerPrint; + console.log("唯一标识码:" + fingerPrint); +}); + +Vue.use(VueClipboard); Vue.use(ElementUI); Vue.use(VueCookies); Vue.prototype.$axios = axios; +Vue.prototype.$notify = Notification; axios.defaults.baseURL = (process.env.NODE_ENV === 'development') ? process.env.BASE_API : ""; -- Gitblit v1.8.0