From 6b5c7f553667bedddd7068e594134ed3de9ec858 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Wed, 13 Oct 2021 10:30:25 +0800
Subject: [PATCH] 二维码
---
src/views/securityMan/index.vue | 4
src/page/login/index.vue | 190 ++++++++++++++++++++-----------------
src/views/securityGuard/securityGuardDetail.vue | 4
src/api/logs.js | 10 ++
public/securityPrint.html | 50 +++++-----
src/views/securityGuard/securityGuard.vue | 2
src/views/securityGuard/securityCertificate.vue | 4
src/styles/login.scss | 21 +++-
8 files changed, 160 insertions(+), 125 deletions(-)
diff --git a/public/securityPrint.html b/public/securityPrint.html
index d920bb3..a138a74 100644
--- a/public/securityPrint.html
+++ b/public/securityPrint.html
@@ -13,7 +13,7 @@
align-items: center;
justify-content: center;
}
-
+
.print {
position: relative;
left: 45%;
@@ -26,7 +26,7 @@
color: #fff;
letter-spacing: 4px;
}
-
+
#table {
margin-left: 26%;
color: #000;
@@ -41,7 +41,7 @@
background: url(./img/bazbj.png) no-repeat;
background-size: 100% 100%;
}
-
+
#table1 {
margin-left: 26%;
color: #000;
@@ -51,7 +51,7 @@
border-radius: 7px;
margin-top: 100px;
}
-
+
.user-info-table {
margin-top: 30px;
width: 90%;
@@ -59,7 +59,7 @@
border: 1px solid #000;
background-color: #fff;
}
-
+
.table-top {
width: 100%;
height: 16%;
@@ -68,19 +68,19 @@
font-size: 4rem;
letter-spacing: 15px;
}
-
+
.table-center {
font-size: 2rem;
width: 100%;
height: 60%;
font-weight: 200;
}
-
+
.img-title {
width: 100%;
font-size: 14px;
}
-
+
.table-center-right {
width: 152px;
height: 205px;
@@ -91,7 +91,7 @@
/* border: 1px solid; */
text-align: center;
}
-
+
.table-center-right img {
width: 100%;
height: 100%;
@@ -99,57 +99,57 @@
vertical-align: middle;
border-radius: 10px;
}
-
+
.security-info {
margin-left: 5rem;
margin-top: 1.8rem;
}
-
+
.table-down {
font-size: 14px;
width: 100%;
margin-top: -40px;
}
-
+
.paper-unit {
margin-left: 20px;
float: left;
}
-
+
.paper-date {
margin-left: 215px;
}
-
+
.user-info-tr {
height: 50px;
font-size: 14px;
}
-
+
.avatar {
width: 140px;
height: 190px;
}
-
+
.title {
margin-top: 20px;
font-size: 28px;
font-weight: 500;
}
-
+
.avatar {
width: 140px;
height: 190px;
}
-
+
.my-picture {
width: 150px;
/* height: 200px; */
}
-
+
.avatar {
width: 100%;
}
-
+
.qrCode {
margin-top: 0px;
margin-left: 25px;
@@ -210,7 +210,7 @@
</div>
</div>
<script>
- var getData = function(name) {
+ var getData = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
@@ -222,11 +222,11 @@
var securityName = JSON.parse(getData("data")).securityName;
// console.log(JSON.parse(getData("data")), 111);
- axios.get('http://223.82.109.183:2080/api/apply/userDetail?id=' + id).then(function(res) {
+ axios.get('http://223.82.109.183:2080/api/apply/userDetail?id=' + id).then(function (res) {
var data = res.data.data;
var img = data.avatar ? `<div class="avatar"><img src="${data.avatar}"></div>` : `<div class="img-title">暂无照片</div>`
- axios.get('http://223.82.109.183:2080/api/qrCode/getQrCodeBase64?securityNumber=' + data.securitynumber).then(function(res1) {
+ axios.get('http://223.82.109.183:2080/api/qrCode/getQrCodeBase64?securityNumber=' + data.securitynumber).then(function (res1) {
console.log(res1.data, 333);
var qrCode = res1.data ? `<div class="qrCode"><img src="${res1.data}"></div>` : `<div"></div>`
var str = `<div id="table1"></div>
@@ -242,7 +242,7 @@
</div>
<div class="security-info">
<span>性别:</span>
- <span> ${data.sex==1?"男":(data.sex==2?"女":"")}</span>
+ <span> ${data.sex == 1 ? "男" : (data.sex == 2 ? "女" : "")}</span>
</div>
<div class="security-info">
<span>编号:</span>
@@ -264,7 +264,7 @@
</div>
</div>
</div>`
- // <img src="${data.avatar}">
+ // <img src="${data.avatar}">
var dom = $('#print');
dom.empty();
dom.append(str);
diff --git a/src/api/logs.js b/src/api/logs.js
index 287ace9..d753252 100644
--- a/src/api/logs.js
+++ b/src/api/logs.js
@@ -62,3 +62,13 @@
})
}
+export const geterweima = (type) => {
+ return request({
+ url: '/api/blade-resource/attach/detail',
+ method: 'get',
+ params: {
+ type,
+ }
+ })
+}
+
diff --git a/src/page/login/index.vue b/src/page/login/index.vue
index 9c90ce4..cb962ae 100644
--- a/src/page/login/index.vue
+++ b/src/page/login/index.vue
@@ -1,20 +1,21 @@
<template>
- <div class="login-container"
- ref="login"
- @keyup.enter.native="handleLogin">
+ <div class="login-container" ref="login" @keyup.enter.native="handleLogin">
<top-color v-show="false"></top-color>
<div class="login-weaper animated bounceInDown">
<div class="login-left">
<div class="login-time">
- {{time}}
+ {{ time }}
</div>
- <img class="img" src="/img/logo.png" alt="">
- <p class="title">{{ $t('login.info') }}</p>
+ <img class="img" src="/img/logo.png" alt="" />
+ <p class="title">{{ $t("login.info") }}</p>
</div>
<div class="login-border">
+ <div class="login-erweima">
+ <img :src="link" alt="" />
+ </div>
<div class="login-main">
<h4 class="login-title">
- {{ $t('login.title') }}
+ {{ $t("login.title") }}
<!-- <top-lang></top-lang>-->
</h4>
<h4 class="login-title-child">IoT security cloud service platform</h4>
@@ -23,11 +24,10 @@
<!-- <thirdLogin v-else-if="activeName==='third'"></thirdLogin>-->
<div class="login-menu">
<!-- <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>-->
- <a href="#" @click.stop="zShow">{{ $t('login.phoneLogin') }}</a>
+ <a href="#" @click.stop="zShow">{{ $t("login.phoneLogin") }}</a>
<!-- <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>-->
</div>
</div>
-
</div>
</div>
<div class="z" v-show="activeName == 'code'">
@@ -36,89 +36,103 @@
</div>
</template>
<script>
- import userLogin from "./userlogin";
- import codeLogin from "./codelogin";
- import thirdLogin from "./thirdlogin";
- import {mapGetters} from "vuex";
- import {dateFormat} from "@/util/date";
- import {validatenull} from "@/util/validate";
- import topLang from "@/page/index/top/top-lang";
- import topColor from "@/page/index/top/top-color";
- import {getQueryString, getTopUrl} from "@/util/util";
+import userLogin from "./userlogin";
+import codeLogin from "./codelogin";
+import thirdLogin from "./thirdlogin";
+import { mapGetters } from "vuex";
+import { dateFormat } from "@/util/date";
+import { validatenull } from "@/util/validate";
+import topLang from "@/page/index/top/top-lang";
+import topColor from "@/page/index/top/top-color";
+import { getQueryString, getTopUrl } from "@/util/util";
+import { geterweima } from "@/api/logs";
- export default {
- name: "login",
- components: {
- userLogin,
- codeLogin,
- thirdLogin,
- topLang,
- topColor
- },
- data() {
- return {
- time: "",
- activeName: "user",
- socialForm: {
- tenantId: "000000",
- source: "",
- code: "",
- state: "",
- }
- };
- },
- watch: {
- $route() {
- this.handleLogin();
- }
- },
- created() {
+export default {
+ name: "login",
+ components: {
+ userLogin,
+ codeLogin,
+ thirdLogin,
+ topLang,
+ topColor,
+ },
+ data() {
+ return {
+ time: "",
+ activeName: "user",
+ socialForm: {
+ tenantId: "000000",
+ source: "",
+ code: "",
+ state: "",
+ link: "",
+ },
+ };
+ },
+ watch: {
+ $route() {
this.handleLogin();
- this.getTime();
},
- mounted() {
+ },
+ created() {
+ this.handleLogin();
+ this.getTime();
+ geterweima(9).then((res) => {
+ this.link = res.data.data.link;
+ });
+ },
+ mounted() {},
+ computed: {
+ ...mapGetters(["website", "tagWel"]),
+ },
+ props: [],
+ methods: {
+ getTime() {
+ setInterval(() => {
+ this.time = dateFormat(new Date());
+ }, 1000);
},
- computed: {
- ...mapGetters(["website", "tagWel"])
- },
- props: [],
- methods: {
- getTime() {
- setInterval(() => {
- this.time = dateFormat(new Date());
- }, 1000);
- },
- handleLogin() {
- const topUrl = getTopUrl();
- const redirectUrl = "/oauth/redirect/";
- this.socialForm.source = getQueryString("source");
- this.socialForm.code = getQueryString("code");
- this.socialForm.state = getQueryString("state");
- if (validatenull(this.socialForm.source) && topUrl.includes(redirectUrl)) {
- let source = topUrl.split("?")[0];
- source = source.split(redirectUrl)[1];
- this.socialForm.source = source;
- }
- if (!validatenull(this.socialForm.source) && !validatenull(this.socialForm.code) && !validatenull(this.socialForm.state)) {
- const loading = this.$loading({
- lock: true,
- text: '第三方系统登录中,请稍后。。。',
- spinner: "el-icon-loading"
- });
- this.$store.dispatch("LoginBySocial", this.socialForm).then(() => {
- window.location.href = topUrl.split(redirectUrl)[0];
- this.$router.push({path: this.tagWel.value});
- loading.close();
- }).catch(() => {
- loading.close();
- });
- }
- },
- zShow() {
- document.querySelector('.z').style.display = 'block';
+ handleLogin() {
+ const topUrl = getTopUrl();
+ const redirectUrl = "/oauth/redirect/";
+ this.socialForm.source = getQueryString("source");
+ this.socialForm.code = getQueryString("code");
+ this.socialForm.state = getQueryString("state");
+ if (
+ validatenull(this.socialForm.source) &&
+ topUrl.includes(redirectUrl)
+ ) {
+ let source = topUrl.split("?")[0];
+ source = source.split(redirectUrl)[1];
+ this.socialForm.source = source;
}
- }
- };
+ if (
+ !validatenull(this.socialForm.source) &&
+ !validatenull(this.socialForm.code) &&
+ !validatenull(this.socialForm.state)
+ ) {
+ const loading = this.$loading({
+ lock: true,
+ text: "第三方系统登录中,请稍后。。。",
+ spinner: "el-icon-loading",
+ });
+ this.$store
+ .dispatch("LoginBySocial", this.socialForm)
+ .then(() => {
+ window.location.href = topUrl.split(redirectUrl)[0];
+ this.$router.push({ path: this.tagWel.value });
+ loading.close();
+ })
+ .catch(() => {
+ loading.close();
+ });
+ }
+ },
+ zShow() {
+ document.querySelector(".z").style.display = "block";
+ },
+ },
+};
</script>
<style lang="scss">
@@ -148,5 +162,5 @@
color: #fff;
font-size: 15px;
}
- @import "@/styles/login.scss";
+@import "@/styles/login.scss";
</style>
diff --git a/src/styles/login.scss b/src/styles/login.scss
index 498d5af..aad6c90 100644
--- a/src/styles/login.scss
+++ b/src/styles/login.scss
@@ -32,7 +32,7 @@
border-bottom-left-radius: 5px;
justify-content: center;
flex-direction: column;
- background-color: #409EFF;
+ background-color: #409eff;
color: #fff;
float: left;
width: 50%;
@@ -73,8 +73,19 @@
width: 50%;
float: left;
box-sizing: border-box;
+ position: relative;
}
-
+.login-erweima {
+ position: absolute;
+ right: 0;
+ color: #333;
+ top: 0;
+ width: 130px;
+ img {
+ width: 100%;
+ height: 100%;
+ }
+}
.login-main {
margin: 0 auto;
width: 65%;
@@ -113,12 +124,12 @@
.login-submit {
width: 100%;
height: 45px;
- border: 1px solid #409EFF;
+ border: 1px solid #409eff;
background: none;
font-size: 18px;
letter-spacing: 2px;
font-weight: 300;
- color: #409EFF;
+ color: #409eff;
cursor: pointer;
margin-top: 30px;
font-family: "neo";
@@ -180,5 +191,5 @@
line-height: 38px;
text-indent: 5px;
text-align: center;
- cursor:pointer!important;
+ cursor: pointer !important;
}
diff --git a/src/views/securityGuard/securityCertificate.vue b/src/views/securityGuard/securityCertificate.vue
index 5d24cc0..fdad0c8 100644
--- a/src/views/securityGuard/securityCertificate.vue
+++ b/src/views/securityGuard/securityCertificate.vue
@@ -115,8 +115,8 @@
justify-content: center;
}
.security_m_r_img img {
- width: 125px;
- height: 160px;
+ width: calc(358px / 2.2);
+ height: calc(441px / 2.2);
}
.security_m_r_once {
position: relative;
diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index c58388a..f6580bc 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -589,7 +589,7 @@
ratio: 0.1,
},
action: "/api/blade-resource/oss/endpoint/put-files",
- tip: "只能上传jpg/png个人头像,且不超过500kb",
+ tip: "上传二代身份证一寸近期彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不超过500kb",
span: 12,
// row: true,
prop: "avatar",
diff --git a/src/views/securityGuard/securityGuardDetail.vue b/src/views/securityGuard/securityGuardDetail.vue
index 82c3bd5..9cb736d 100644
--- a/src/views/securityGuard/securityGuardDetail.vue
+++ b/src/views/securityGuard/securityGuardDetail.vue
@@ -538,8 +538,8 @@
top: 20px;
}
.img {
- width: 152px;
- height: 205px;
+ width: 358px;
+ height: 441px;
border-radius: 10px;
position: absolute;
// border: 1px solid rgba($color: #888888, $alpha: 0.5);
diff --git a/src/views/securityMan/index.vue b/src/views/securityMan/index.vue
index 1b69cfc..63f58af 100644
--- a/src/views/securityMan/index.vue
+++ b/src/views/securityMan/index.vue
@@ -508,8 +508,8 @@
top: 20px;
}
.img {
- width: 152px;
- height: 205px;
+ width: calc(358px / 2.3);
+ height: calc(441px / 2.3);
border-radius: 10px;
position: absolute;
// border: 1px solid rgba($color: #888888, $alpha: 0.5);
--
Gitblit v1.9.3