This commit is contained in:
X1627315083
2024-01-15 17:05:55 +08:00
parent 2fca178eeb
commit bf9556378c
11 changed files with 182 additions and 50 deletions

View File

@@ -9,6 +9,7 @@
<div v-if="isTest" class="username"><span>/</span> {{$t('Header.hello')}}@{{ $t('isTest.userName') }}</div>
<div v-else class="username"><span>/</span> {{$t('Header.hello')}}@{{ userInfo?.userName }}</div>
<div
v-if="!isMurmur"
:class="[
'icon',
'iconfont',
@@ -189,11 +190,13 @@ export default defineComponent({
const {t} = useI18n()
const {locale} = useI18n()
let isTest = ref()
let isMurmur = ref()
return {
store,
t,
locale,
isTest,
isMurmur,
}
},
data() {
@@ -226,9 +229,10 @@ export default defineComponent({
};
},
mounted() {
let isTest = getCookie('isTest')
let isTest = getCookie('isTest')//获取是否是试用用户
this.isTest =JSON.parse(isTest)
let isMurmur = getCookie('isMurmur')//获取是否是试用用户
this.isMurmur =JSON.parse(isMurmur)
this.userInfo = JSON.parse(getCookie("userInfo"));
if (!this.userInfo) {
this.$router.replace("/login");
@@ -236,8 +240,10 @@ export default defineComponent({
this.accountIsLogin(this.userInfo);
}
this.isHaveBindEmail = this.userInfo?.email ? true : false;
this.operateClick();
document.addEventListener("click", this.operateClick);
if(!isMurmur){
this.operateClick();
document.addEventListener("click", this.operateClick);
}
this.getLang('')
},
methods: {

View File

@@ -341,8 +341,7 @@ export default defineComponent({
this.chatCentent = ""
},
setDriver(index:number){
let isBeginner = JSON.parse((getCookie('isBeginner') as any))
// let isBeginner = JSON.parse((getCookie('isBeginner') as any))
if(this.driver__.driver){
driverObj__.moveNext();
this.robotTop = false

View File

@@ -11,25 +11,63 @@ import Antd from 'ant-design-vue';
import './assets/style/style.less'
import VueLazyload from "vue-lazyload";
import i18n from './lang/index'
import GO from './tool/GO'
import { getBrowserInfo, murmur } from './tool/util'
import "../node_modules/@flaticon/flaticon-uicons/css/all/all.css"
import Fingerprint2 from 'fingerprintjs2';//获取浏览器唯一标识
import { Https } from "@/tool/https";
flexible()
import { getCookie, setCookie } from "@/tool/cookie";
import { useI18n } from 'vue-i18n';
// console.log(process.env)
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
const murmur = Fingerprint2.x64hash128(values.join(''), 31);
console.log('浏览器指纹码:'+murmur )
})
let loadingParam = {
loading: require('./assets/images/homePage/loading.gif'),
attempt: 1
let token = getCookie("token");
let routerName:any = router.currentRoute
let isLogin = routerName._value.name
async function isMurmur() {
let murmurStr: any = localStorage.getItem('murmurStr')
if (!murmurStr) {
await murmur().then((rv) => {
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')

View File

@@ -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<RouteRecordRaw> = [
@@ -9,6 +11,12 @@ const routes: Array<RouteRecordRaw> = [
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

View File

@@ -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();

View File

@@ -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);

View File

@@ -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', //忘记密码修改

View File

@@ -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,
}

View File

@@ -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);

View File

@@ -1,7 +1,8 @@
<template>
<div class="identification_page">
<div>密钥<input type="text" autofocus /></div>
<div class="button" @click="getFingerprint2">记录浏览器</div>
<div class="button" @click="setFingerprint2('set')">记录浏览器标识</div>
<div class="button" @click="setFingerprint2('delete')">注销浏览器标识</div>
</div>
</template>
<script lang="ts">
@@ -11,7 +12,6 @@ import HeaderComponent from "@/component/HomePage/Header.vue";
import HistoryDetail from "@/component/Detail/HistoryDetail.vue";
import router from "@/router/index";
import { Https } from "@/tool/https";
import { formatTime, getBrowserInfo } from "@/tool/util";
import { Modal, message } from "ant-design-vue";
import RobotAssist from "@/component/HomePage/RobotAssist.vue";
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
@@ -47,7 +47,7 @@ export default defineComponent({
// }
},
methods: {
async getFingerprint2() {
async setFingerprint2(str:any) {
let murmur:any = ''
await new Promise((resolve,reject)=>{
Fingerprint2.get(function (components: any) {
@@ -63,19 +63,31 @@ export default defineComponent({
});
// 生成最终id murmur
murmur = Fingerprint2.x64hash128(values.join(""), 31);
console.log("浏览器指纹码:" + murmur);
resolve('')
});
})
let data = {}
console.log(11);
// Https.axiosPost(Https.httpUrls.designSingle, data)
// .then((rv) => {
// // designItemDetail.clothes[index].printObject.path = rv.clothes[0].printObject.path
// })
// .catch((res) => {
// });
let data = {
browserIdentifiers:murmur
}
if(str == 'set'){
Https.axiosPost(Https.httpUrls.addNoLoginRequired, data)
.then((rv) => {
localStorage.setItem('murmurStr',murmur)
message.success('Created successfully');
})
.catch((res) => {
});
}else{
Https.axiosPost(Https.httpUrls.deleteNoLoginRequired, data)
.then((rv) => {
message.success('successfully delete');
localStorage.removeItem('murmurStr')
setCookie("isMurmur", false);
})
.catch((res) => {
});
}
},
},
});

View File

@@ -263,7 +263,8 @@ export default defineComponent({
let historyTable: any = this.$refs.historyTable;
this.historyTableHeight = historyTable.clientHeight - 130;
this.gettrialList();
this.userInfo = JSON.parse(getCookie("userInfo") as any);
let userInfo:any = getCookie("userInfo")
this.userInfo = JSON.parse(userInfo);
if (this.userInfo.userId == 83 || this.userInfo.userId == 88) {
} else {