diff --git a/src/component/HomePage/Header.vue b/src/component/HomePage/Header.vue
index 1aae2169..f6bfc3af 100644
--- a/src/component/HomePage/Header.vue
+++ b/src/component/HomePage/Header.vue
@@ -9,6 +9,7 @@
{
+ murmurStr = rv
+ })
+ }
+ let isSxis = false
+ let data = {
+ browserIdentifiers: murmurStr
+ }
+ await Https.axiosPost(Https.httpUrls.existNoLoginRequired, data)
+ .then((rv) => {
+ isSxis = rv
+ })
+ .catch((res) => {
+ });
+ if (isSxis && !token) {
+ // if(isLogin != 'login'){
+ // return
+ // }
+ Https.axiosPost(Https.httpUrls.noLoginRequired, data)
+ .then((rv) => {
+ let isTest = rv.isTrial == 1 ? true : false
+ let isBeginner = rv.isBeginner == 1 ? true : false
+ setCookie("isMurmur", true);
+ setCookie("token", rv.token);
+ setCookie("isTest", isTest);
+ setCookie("isBeginner", isBeginner);
+ setCookie("isBeginnerNum", 0);//从第一步开始,机器人开始的话就是从第二部开始
+ setCookie("userInfo", JSON.stringify(rv));
+ sessionStorage.setItem('isTimeOne', JSON.stringify(false));//是否需要公告 提示 弹窗
+ let randomNum: any = Math.floor(Math.random() * 9000000000000000) + 1000000000000000;
+ sessionStorage.setItem('sessionId', randomNum);
+ router.push("/home");
+ })
+ .catch((res) => {
+ });
+ }
}
-createApp(App).use(store).use(router).use(Antd).use(VueLazyload,loadingParam).use(i18n).mount('#app')
+isMurmur()
+
+let loadingParam = {
+ loading: require('./assets/images/homePage/loading.gif'),
+ attempt: 1
+}
+createApp(App).use(store).use(router).use(Antd).use(VueLazyload, loadingParam).use(i18n).mount('#app')
diff --git a/src/router/index.ts b/src/router/index.ts
index f5fa627d..d460accc 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,5 +1,7 @@
import { createRouter, createWebHistory, RouteRecordRaw, createWebHashHistory } from 'vue-router'
import { defineAsyncComponent } from 'vue'
+import {getBrowserInfo,murmur} from '@/tool/util'
+import { getCookie,setCookie } from "@/tool/cookie";
const _import = (path: string) => defineAsyncComponent(() => import(`../views/${path}.vue`));
const routes: Array
= [
@@ -9,6 +11,12 @@ const routes: Array = [
redirect: "/login"
// redirect: "/Upgrade"
},
+ {
+ path: "/",
+ // redirect重定向
+ redirect: "/home"
+ // redirect: "/Upgrade"
+ },
{
path: '/login',
name: 'login',
@@ -56,12 +64,52 @@ const router = createRouter({
// history: createWebHashHistory(),
routes
})
-// router.beforeEach((to, from, next) => {
-// const toName = to.name === 'upgrade';
-// if (toName) {
-// next();
-// } else {
-// next({ name: 'upgrade' });
-// }
-// });
+router.beforeEach((to, from, next) => {
+// // 获取路由配置对象
+// const route = router.resolve({ path: '/' }).route
+
+// // 修改重定向
+// route.redirect = '/new-path'
+// router.addRoute(route)
+
+ // next();
+ // let token = getCookie("token");
+ // console.log(to,from);
+ // if(from.path == '/' && !token){
+ // console.log(111);
+ // murmur().then((rv)=>{
+ // console.log(rv);
+
+ // if(rv){
+ // console.log(123123);
+ // next({ name: 'history' });
+ // }
+ // })
+ // }else{
+ // console.log(333);
+ // next()
+ // }
+ //系统维护
+ // const toName = to.name === 'upgrade';
+ // if (toName) {
+ // next();
+ // } else {
+ // next({ name: 'upgrade' });
+ // }
+
+ //机房用户
+ let murmurStr:any = localStorage.getItem('murmurStr')
+ let getIsMurmur:any = getCookie("isMurmur")
+ let isMurmur = JSON.parse(getIsMurmur)
+ if(isMurmur&& murmurStr){
+ const toName = to.name === 'login';
+ if (toName) {
+ next({ name: 'home' });
+ } else {
+ next();
+ }
+ }else{
+ next();
+ }
+});
export default router
diff --git a/src/tool/cookie.js b/src/tool/cookie.js
index c2623f49..2f6e71d3 100644
--- a/src/tool/cookie.js
+++ b/src/tool/cookie.js
@@ -1,5 +1,5 @@
const setCookie = (name,value) => {
- var Days = 30;
+ var Days = 100;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
diff --git a/src/tool/guide.js b/src/tool/guide.js
index 88a0be97..39a5835f 100644
--- a/src/tool/guide.js
+++ b/src/tool/guide.js
@@ -232,6 +232,7 @@ const openGuide = () =>{
// console.log(isBeginner);
let isBeginnerNum = JSON.parse(getCookie('isBeginnerNum')?getCookie('isBeginnerNum'):'0')
// console.log(isBeginner);
+ console.log(isBeginner,isTest);
if(isBeginner && !isTest){
if(isBeginnerNum){
driverObj__.drive(isBeginnerNum);
diff --git a/src/tool/https.js b/src/tool/https.js
index e1be8478..608acb72 100644
--- a/src/tool/https.js
+++ b/src/tool/https.js
@@ -100,9 +100,15 @@ export const Https = {
trialUserLogout:`/account/trialUserLogout`, //试用用户退出登录接口
completeGuidancet:`/api/account/completeGuidance`, //用户指引结束
- getExpiredTime:`/api/account/getExpiredTime`, //获取用户到期事件
+ getExpiredTime:`/api/account/getExpiredTime`, //获取用户到期时间
+
+ addNoLoginRequired:`/api/third/party/addNoLoginRequired`, //机房用户注册
+ deleteNoLoginRequired:`/api/third/party/deleteNoLoginRequired`, //机房用户注销
+ noLoginRequired:`api/account/noLoginRequired`, //机房用户登录
+ existNoLoginRequired:`/api/third/party/existNoLoginRequired`, //获取唯一标识是否存在
+
preLogin:'/api/account/preLogin',//预先登入
accountSendEmail:`/api/account/sendEmail`, //发送邮件
accountResetPwd:'/api/account/resetPwd', //忘记密码修改
diff --git a/src/tool/util.js b/src/tool/util.js
index 59406259..3c617e72 100644
--- a/src/tool/util.js
+++ b/src/tool/util.js
@@ -1,3 +1,4 @@
+import Fingerprint2 from 'fingerprintjs2';//获取浏览器唯一标识
const isEmail = (email) => {
let reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
let result = reg.test(email)
@@ -182,6 +183,25 @@ function getBrowserInfo() {//获取是什么浏览器
return agent.match(regStr_saf);
}
}
+async function murmur(){
+ return await new Promise((resolve,reject)=>{
+ 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;
+ });
+ // 生成最终id murmur
+ let murmur = Fingerprint2.x64hash128(values.join(""), 31);
+ resolve(murmur)
+ });
+ })
+}
export {
isEmail,
getUploadUrl,
@@ -194,4 +214,5 @@ export {
isMoible,
downloadIamge,
getBrowserInfo,
+ murmur,
}
\ No newline at end of file
diff --git a/src/views/LoginPage.vue b/src/views/LoginPage.vue
index da3d0a9e..07670553 100644
--- a/src/views/LoginPage.vue
+++ b/src/views/LoginPage.vue
@@ -233,7 +233,7 @@
import { defineComponent,ref ,onMounted} from "vue";
import { Https } from "@/tool/https";
import { isEmail } from "@/tool/util";
-import { setCookie } from "@/tool/cookie";
+import { setCookie ,WriteCookie } from "@/tool/cookie";
import { message } from "ant-design-vue";
import VerificationCodeInput from "@/component/LoginPage/verificationCodeInput.vue";
import { useI18n } from "vue-i18n";
@@ -246,6 +246,7 @@ export default defineComponent({
setup(){
let timer:any = 0;
const {locale} = useI18n()
+ WriteCookie("token");
return{
timer,
@@ -463,12 +464,11 @@ export default defineComponent({
Https.axiosPost(Https.httpUrls.accountLogin, data).then(
(rv: any) => {
if (rv) {
- console.log(rv);
-
this.createTimer();
let isTest = rv.isTrial == 1?true:false
let isBeginner = rv.isBeginner == 1?true:false
let token = rv.token;
+ setCookie("isMurmur", false);
setCookie("token", token);
setCookie("isTest", isTest);
setCookie("isBeginner", isBeginner);
diff --git a/src/views/setIdentification.vue b/src/views/setIdentification.vue
index 3f748a8f..b9b2ef4f 100644
--- a/src/views/setIdentification.vue
+++ b/src/views/setIdentification.vue
@@ -1,7 +1,8 @@
密钥:
-
记录浏览器
+
记录浏览器标识
+
注销浏览器标识