|
@@ -0,0 +1,80 @@
|
|
|
+<template>
|
|
|
+
|
|
|
+</template>
|
|
|
+<script setup>
|
|
|
+import { v4 as uuidv4 } from 'uuid';
|
|
|
+import QRCode from 'qrcode'
|
|
|
+let qrUuid = uuidv4();
|
|
|
+let loginType = 3;
|
|
|
+let countTimeNum = 0;
|
|
|
+
|
|
|
+qrCodeLogin(qrUuid).then(res => {
|
|
|
+ if (res.success) {
|
|
|
+ qrUuid = res.data.key;
|
|
|
+ setTimeout(() => {
|
|
|
+ QRCode.toCanvas(canvas, qrUuid, (error) => {
|
|
|
+ if (error) console.error(error);
|
|
|
+ console.log('success!');
|
|
|
+ toLoginWithQrCode();
|
|
|
+ })
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+function toLoginWithQrCode() {
|
|
|
+ let qrCode = qrUuid;
|
|
|
+ let logtyp = this.loginType;
|
|
|
+ let timer = setTimeout(function () {
|
|
|
+ countTimeNum++;
|
|
|
+ if (countTimeNum > 20) {
|
|
|
+ clearTimeout(timer);
|
|
|
+ countTimeNum = 0;
|
|
|
+ } else {
|
|
|
+ if (logtyp == 3) {
|
|
|
+ console.log('调用二维码登录');
|
|
|
+ qrCodeLogin(qrCode).then(
|
|
|
+ (res) => {
|
|
|
+ console.log(res);
|
|
|
+ if (res.success) {
|
|
|
+ let userid = res.data.guid;
|
|
|
+ let loginName = res.data.persName;
|
|
|
+ let guid = res.data.orgId;
|
|
|
+ let orgNm = res.data.orgNm;
|
|
|
+ let isAdmin = res.data.permission;
|
|
|
+ let allNode = JSON.stringify(res.data.allNode);//当前用户所在组信息
|
|
|
+ let allOrg = JSON.stringify(res.data.allOrg);
|
|
|
+ let persType = res.data.persType;
|
|
|
+ let accessToken = res.accessToken; //token是否过期
|
|
|
+ localStorage.setItem('userid', userid);
|
|
|
+ localStorage.setItem('account', loginName);
|
|
|
+ localStorage.setItem('guid', guid);
|
|
|
+ localStorage.setItem('orgNm', orgNm);
|
|
|
+ localStorage.setItem('isAdmin', isAdmin);
|
|
|
+ localStorage.setItem('persType', persType);
|
|
|
+ localStorage.setItem('accessToken', accessToken);
|
|
|
+ let orgId = res.data.orgId;
|
|
|
+ localStorage.setItem('orgId', orgId);
|
|
|
+ localStorage.setItem('allOrg', allOrg);
|
|
|
+ localStorage.setItem("currentOrgId", res.data.defaultOrg.orgId); //省级当前的机构id
|
|
|
+ localStorage.setItem("currentRlcode", res.data.defaultOrg.rlcode); //省级当前的行政区划编码
|
|
|
+ // 改变全局adcode状态
|
|
|
+ $store.commit('changeAdCode', res.data.defaultOrg.rlcode)
|
|
|
+ localStorage.setItem("currentOrgNm", res.data.defaultOrg.orgNm); //省级当前的机构名称
|
|
|
+ localStorage.setItem('allNode', allNode);
|
|
|
+ $message.success({
|
|
|
+ message: '登录成功',
|
|
|
+ duration: 700
|
|
|
+ });
|
|
|
+ $router.push('/')
|
|
|
+ } else {
|
|
|
+ toLoginWithQrCode();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, 3000);
|
|
|
+}
|
|
|
+
|
|
|
+</script>
|