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>&nbsp;${data.sex==1?"男":(data.sex==2?"女":"")}</span>
+                            <span>&nbsp;${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