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 |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/web_src/src/main.js b/web_src/src/main.js
index ae2baee..03bb4a4 100644
--- a/web_src/src/main.js
+++ b/web_src/src/main.js
@@ -8,10 +8,28 @@
 import VueCookies from 'vue-cookies';
 import echarts from 'echarts';
 
-import VueClipboard from 'vue-clipboard2'
+import VueClipboard from 'vue-clipboard2';
 import { Notification } from 'element-ui';
+import Fingerprint2 from 'fingerprintjs2';
 
-Vue.use(VueClipboard)
+// 生成唯一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;

--
Gitblit v1.8.0