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

View File

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

View File

@@ -11,23 +11,61 @@ import Antd from 'ant-design-vue';
import './assets/style/style.less' import './assets/style/style.less'
import VueLazyload from "vue-lazyload"; import VueLazyload from "vue-lazyload";
import i18n from './lang/index' 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 "../node_modules/@flaticon/flaticon-uicons/css/all/all.css"
import Fingerprint2 from 'fingerprintjs2';//获取浏览器唯一标识 import { Https } from "@/tool/https";
flexible() flexible()
import { getCookie, setCookie } from "@/tool/cookie";
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
// console.log(process.env) // console.log(process.env)
Fingerprint2.get(function(components) { let token = getCookie("token");
const values = components.map(function(component,index) { let routerName:any = router.currentRoute
if (index === 0) { //把微信浏览器里UA的wifi或4G等网络替换成空,不然切换网络会ID不一样 let isLogin = routerName._value.name
return component.value.replace(/\bNetType\/\w+\b/, '')
async function isMurmur() {
let murmurStr: any = localStorage.getItem('murmurStr')
if (!murmurStr) {
await murmur().then((rv) => {
murmurStr = rv
})
} }
return component.value let isSxis = false
let data = {
browserIdentifiers: murmurStr
}
await Https.axiosPost(Https.httpUrls.existNoLoginRequired, data)
.then((rv) => {
isSxis = rv
}) })
// 生成最终id murmur .catch((res) => {
const murmur = Fingerprint2.x64hash128(values.join(''), 31); });
console.log('浏览器指纹码:'+murmur ) 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) => {
});
}
}
isMurmur()
let loadingParam = { let loadingParam = {
loading: require('./assets/images/homePage/loading.gif'), loading: require('./assets/images/homePage/loading.gif'),
attempt: 1 attempt: 1

View File

@@ -1,5 +1,7 @@
import { createRouter, createWebHistory, RouteRecordRaw, createWebHashHistory } from 'vue-router' import { createRouter, createWebHistory, RouteRecordRaw, createWebHashHistory } from 'vue-router'
import { defineAsyncComponent } from 'vue' 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 _import = (path: string) => defineAsyncComponent(() => import(`../views/${path}.vue`));
const routes: Array<RouteRecordRaw> = [ const routes: Array<RouteRecordRaw> = [
@@ -9,6 +11,12 @@ const routes: Array<RouteRecordRaw> = [
redirect: "/login" redirect: "/login"
// redirect: "/Upgrade" // redirect: "/Upgrade"
}, },
{
path: "/",
// redirect重定向
redirect: "/home"
// redirect: "/Upgrade"
},
{ {
path: '/login', path: '/login',
name: 'login', name: 'login',
@@ -56,12 +64,52 @@ const router = createRouter({
// history: createWebHashHistory(), // history: createWebHashHistory(),
routes routes
}) })
// router.beforeEach((to, from, next) => { 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'; // const toName = to.name === 'upgrade';
// if (toName) { // if (toName) {
// next(); // next();
// } else { // } else {
// next({ name: 'upgrade' }); // 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 export default router

View File

@@ -1,5 +1,5 @@
const setCookie = (name,value) => { const setCookie = (name,value) => {
var Days = 30; var Days = 100;
var exp = new Date(); var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000); exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();

View File

@@ -232,6 +232,7 @@ const openGuide = () =>{
// console.log(isBeginner); // console.log(isBeginner);
let isBeginnerNum = JSON.parse(getCookie('isBeginnerNum')?getCookie('isBeginnerNum'):'0') let isBeginnerNum = JSON.parse(getCookie('isBeginnerNum')?getCookie('isBeginnerNum'):'0')
// console.log(isBeginner); // console.log(isBeginner);
console.log(isBeginner,isTest);
if(isBeginner && !isTest){ if(isBeginner && !isTest){
if(isBeginnerNum){ if(isBeginnerNum){
driverObj__.drive(isBeginnerNum); driverObj__.drive(isBeginnerNum);

View File

@@ -100,7 +100,13 @@ export const Https = {
trialUserLogout:`/account/trialUserLogout`, //试用用户退出登录接口 trialUserLogout:`/account/trialUserLogout`, //试用用户退出登录接口
completeGuidancet:`/api/account/completeGuidance`, //用户指引结束 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',//预先登入 preLogin:'/api/account/preLogin',//预先登入

View File

@@ -1,3 +1,4 @@
import Fingerprint2 from 'fingerprintjs2';//获取浏览器唯一标识
const isEmail = (email) => { const isEmail = (email) => {
let reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/ let reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
let result = reg.test(email) let result = reg.test(email)
@@ -182,6 +183,25 @@ function getBrowserInfo() {//获取是什么浏览器
return agent.match(regStr_saf); 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 { export {
isEmail, isEmail,
getUploadUrl, getUploadUrl,
@@ -194,4 +214,5 @@ export {
isMoible, isMoible,
downloadIamge, downloadIamge,
getBrowserInfo, getBrowserInfo,
murmur,
} }

View File

@@ -233,7 +233,7 @@
import { defineComponent,ref ,onMounted} from "vue"; import { defineComponent,ref ,onMounted} from "vue";
import { Https } from "@/tool/https"; import { Https } from "@/tool/https";
import { isEmail } from "@/tool/util"; import { isEmail } from "@/tool/util";
import { setCookie } from "@/tool/cookie"; import { setCookie ,WriteCookie } from "@/tool/cookie";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import VerificationCodeInput from "@/component/LoginPage/verificationCodeInput.vue"; import VerificationCodeInput from "@/component/LoginPage/verificationCodeInput.vue";
import { useI18n } from "vue-i18n"; import { useI18n } from "vue-i18n";
@@ -246,6 +246,7 @@ export default defineComponent({
setup(){ setup(){
let timer:any = 0; let timer:any = 0;
const {locale} = useI18n() const {locale} = useI18n()
WriteCookie("token");
return{ return{
timer, timer,
@@ -463,12 +464,11 @@ export default defineComponent({
Https.axiosPost(Https.httpUrls.accountLogin, data).then( Https.axiosPost(Https.httpUrls.accountLogin, data).then(
(rv: any) => { (rv: any) => {
if (rv) { if (rv) {
console.log(rv);
this.createTimer(); this.createTimer();
let isTest = rv.isTrial == 1?true:false let isTest = rv.isTrial == 1?true:false
let isBeginner = rv.isBeginner == 1?true:false let isBeginner = rv.isBeginner == 1?true:false
let token = rv.token; let token = rv.token;
setCookie("isMurmur", false);
setCookie("token", token); setCookie("token", token);
setCookie("isTest", isTest); setCookie("isTest", isTest);
setCookie("isBeginner", isBeginner); setCookie("isBeginner", isBeginner);

View File

@@ -1,7 +1,8 @@
<template> <template>
<div class="identification_page"> <div class="identification_page">
<div>密钥<input type="text" autofocus /></div> <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> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
@@ -11,7 +12,6 @@ import HeaderComponent from "@/component/HomePage/Header.vue";
import HistoryDetail from "@/component/Detail/HistoryDetail.vue"; import HistoryDetail from "@/component/Detail/HistoryDetail.vue";
import router from "@/router/index"; import router from "@/router/index";
import { Https } from "@/tool/https"; import { Https } from "@/tool/https";
import { formatTime, getBrowserInfo } from "@/tool/util";
import { Modal, message } from "ant-design-vue"; import { Modal, message } from "ant-design-vue";
import RobotAssist from "@/component/HomePage/RobotAssist.vue"; import RobotAssist from "@/component/HomePage/RobotAssist.vue";
import { ExclamationCircleOutlined } from "@ant-design/icons-vue"; import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
@@ -47,7 +47,7 @@ export default defineComponent({
// } // }
}, },
methods: { methods: {
async getFingerprint2() { async setFingerprint2(str:any) {
let murmur:any = '' let murmur:any = ''
await new Promise((resolve,reject)=>{ await new Promise((resolve,reject)=>{
Fingerprint2.get(function (components: any) { Fingerprint2.get(function (components: any) {
@@ -63,19 +63,31 @@ export default defineComponent({
}); });
// 生成最终id murmur // 生成最终id murmur
murmur = Fingerprint2.x64hash128(values.join(""), 31); murmur = Fingerprint2.x64hash128(values.join(""), 31);
console.log("浏览器指纹码:" + murmur);
resolve('') resolve('')
}); });
}) })
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) => {
});
}
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) => {
// });
}, },
}, },
}); });

View File

@@ -263,7 +263,8 @@ export default defineComponent({
let historyTable: any = this.$refs.historyTable; let historyTable: any = this.$refs.historyTable;
this.historyTableHeight = historyTable.clientHeight - 130; this.historyTableHeight = historyTable.clientHeight - 130;
this.gettrialList(); 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) { if (this.userInfo.userId == 83 || this.userInfo.userId == 88) {
} else { } else {