From 25b2ba1cf86bc3439e7ad2acf2cd4a9ea7e4b0ed Mon Sep 17 00:00:00 2001
From: dcc <dcc@163.com>
Date: Fri, 28 Jun 2024 09:28:04 +0800
Subject: [PATCH] 123

---
 src/page/forget/safeVerify.vue |  284 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 154 insertions(+), 130 deletions(-)

diff --git a/src/page/forget/safeVerify.vue b/src/page/forget/safeVerify.vue
index ffb4ac5..6a76a2e 100644
--- a/src/page/forget/safeVerify.vue
+++ b/src/page/forget/safeVerify.vue
@@ -1,171 +1,195 @@
 <template>
-    <div class="verify">
-        <div class="header">
-            <div @click="$router.go(-1)"><img src="../../assets/image/assets-center/left-arrow.png" alt=""
-                    class="w-14 h-27" /></div>
-        </div>
-        <div class="content">
-            <div class="title textColor">{{ $t('安全验证') }}</div>
-            <p v-if="type == 3">{{ $t('verifyGoogleTips') }}</p>
-            <span class="label textColor">{{ type == 2 ? $t('邮箱验证') : type == 1 ? $t('手机验证') : $t('谷歌验证') }}</span>
-            <p v-if="type == 2">{{ $t('verifyEmailTips', { 'account': account }) }}</p>
-            <p v-if="type == 1">{{ $t('verifyPhoneTips', { 'account': account }) }}</p>
-            <div class="iptbox inputBackground">
-                <input type="text" class="inputBackground textColor" :placeholder="$t('请输入验证码')" v-model="verifycode"
-                    @input="changeInput">
-                <span v-if="type != 3" @click="senCode">{{ $t('重新发送验证码') }}<template v-if="time"> ({{
-                    time }})s</template></span>
-            </div>
-            <button :disabled="!hightLight" class="btn"
-                @click="$router.push({ name: 'resetPassword', query: { type, account, verifycode, username } })"
-                :class="hightLight ? 'hightLight' : ''">{{ $t('下一步')
-                }}</button>
-        </div>
+  <div class="verify">
+    <div class="header">
+      <div @click="$router.go(-1)">
+        <img
+          src="../../assets/image/assets-center/left-arrow.png"
+          alt=""
+          class="w-14 h-27"
+        />
+      </div>
     </div>
+    <div class="content">
+      <div class="title textColor">{{ $t("安全验证") }}</div>
+      <p v-if="type == 3">{{ $t("verifyGoogleTips") }}</p>
+      <span class="label textColor">{{
+        type == 2 ? $t("邮箱验证") : type == 1 ? $t("手机验证") : $t("谷歌验证")
+      }}</span>
+      <p v-if="type == 2">{{ $t("verifyEmailTips", { account: account }) }}</p>
+      <p v-if="type == 1">{{ $t("verifyPhoneTips", { account: account }) }}</p>
+      <div class="iptbox inputBackground">
+        <input
+          type="text"
+          class="inputBackground textColor"
+          :placeholder="$t('请输入验证码')"
+          v-model="verifycode"
+          @input="changeInput"
+        />
+        <span v-if="type != 3" @click="senCode"
+          >{{ $t("重新发送验证码")
+          }}<template v-if="time"> ({{ time }})s</template></span
+        >
+      </div>
+      <button
+        :disabled="!hightLight"
+        class="btn"
+        @click="
+          $router.push({
+            name: 'resetPassword',
+            query: { type, account, verifycode, username },
+          })
+        "
+        :class="hightLight ? 'hightLight' : ''"
+      >
+        {{ $t("下一步") }}
+      </button>
+    </div>
+  </div>
 </template>
 
 <script>
 import API from "@/API/login.js";
 import Axios from "@/API/userCenter.js";
 export default {
-    props: {
-
+  props: {},
+  components: {},
+  data() {
+    return {
+      verifycode: "",
+      type: "",
+      account: "",
+      username: "",
+      hightLight: false,
+      timer: "",
+      time: 0,
+    };
+  },
+  mounted() {
+    let type = this.$route.query.type;
+    this.type = type;
+    this.account = this.$route.query.account;
+    this.username = this.$route.query.username;
+    if (this.type != 3) {
+      clearInterval(this.timer);
+      this.senCode();
+    }
+  },
+  methods: {
+    changeInput() {
+      if (this.verifycode.length == 6) {
+        this.hightLight = true;
+      } else {
+        this.hightLight = false;
+      }
     },
-    components: {
-
-    },
-    data() {
-        return {
-            verifycode: '',
-            type: '',
-            account: '',
-            username: '',
-            hightLight: false,
-            timer: '',
-            time: 0
-        }
-    },
-    mounted() {
-        let type = this.$route.query.type;
-        this.type = type;
-        this.account = this.$route.query.account;
-        this.username = this.$route.query.username;
-        if (this.type != 3) {
-            clearInterval(this.timer)
-            this.senCode()
-        }
-    },
-    methods: {
-        changeInput() {
-            if (this.verifycode.length == 6) {
-                this.hightLight = true;
-            } else {
-                this.hightLight = false;
-            }
-        },
-        senCode() {
+    senCode() {
+      if (this.time > 0) {
+        return false;
+      }
+      API.sendVerifyCode({
+        target: this.account,
+      })
+        .then((res) => {
+          this.time = 30;
+          this.timer = setInterval(() => {
             if (this.time > 0) {
-                return false
+              this.time = this.time - 1;
+            } else {
+              this.time = 0;
+              clearInterval(this.timer);
             }
-            API.sendVerifyCode({
-                target: this.account,
-            }).then((res) => {
-                this.time = 30;
-                this.timer = setInterval(() => {
-                    if (this.time > 0) {
-                        this.time = this.time - 1
-                    } else {
-                        this.time = 0;
-                        clearInterval(this.timer)
-                    }
-                }, 1000);
-            }).catch((error) => {
-                if (error.code === 'ECONNABORTED') { this.$toast(this.$t('网络超时!')); }
-                else if (error.msg !== undefined) { this.$toast(this.$t(error.msg)); }
-            });
-        }
+          }, 1000);
+        })
+        .catch((error) => {
+          if (error.code === "ECONNABORTED") {
+            this.$toast(this.$t("网络超时!"));
+          } else if (error.msg !== undefined) {
+            this.$toast(this.$t(error.msg));
+          }
+        });
     },
-    beforeDestroy() {
-        clearInterval(this.timer)
-    },
-}
+  },
+  beforeDestroy() {
+    clearInterval(this.timer);
+  },
+};
 </script>
 
 <style lang="scss" scoped>
 .verify {
-    font-size: 26px;
-    padding: 0 32px;
+  font-size: 26px;
+  padding: 0 32px;
 }
 
 .header {
-    display: flex;
-    justify-content: space-between;
-    padding: 0 26px;
-    font-size: 28px;
-    height: 100px;
-    line-height: 100px;
+  display: flex;
+  justify-content: space-between;
+  padding: 0 26px;
+  font-size: 28px;
+  height: 100px;
+  line-height: 100px;
 }
 
 .title {
-    font-weight: 700;
-    font-size: 52px;
-    margin-top: 54px;
-    margin-bottom: 33px;
+  font-weight: 700;
+  font-size: 52px;
+  margin-top: 54px;
+  margin-bottom: 33px;
 }
 
 .label {
-    margin-top: 23px;
+  margin-top: 23px;
 }
 
 .content {
-    p {
-        color: #868D9A;
-        font-size: 30px;
-        margin-bottom: 50px;
+  p {
+    color: #868d9a;
+    font-size: 30px;
+    margin-bottom: 50px;
+  }
+
+  .iptbox {
+    height: 88px;
+    margin-top: 16px;
+    padding: 0 20px;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    border-radius: 6px;
+
+    input {
+      flex: 1;
+      height: 100%;
+      border: none;
     }
 
-    .iptbox {
-        height: 88px;
-        margin-top: 16px;
-        padding: 0 20px;
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        border-radius: 6px;
-
-        input {
-            flex: 1;
-            height: 100%;
-            border: none;
-        }
-
-        span {
-            color: #1D91FF;
-        }
+    span {
+      color: #1d91ff;
     }
+  }
 }
 
 .btn {
-    @include themify() {
-        background: themed("bg_dark");
-    }
+  @include themify() {
+    background: themed("bg_dark");
+  }
 
-    color: #C0C4CC;
-    height: 88px;
-    line-height: 88px;
-    text-align: center;
-    font-size: 32px;
-    margin-top: 180px;
-    border-radius: 10px;
-    width: 100%;
-    border: none;
+  color: #c0c4cc;
+  height: 88px;
+  line-height: 88px;
+  text-align: center;
+  font-size: 32px;
+  margin-top: 180px;
+  border-radius: 10px;
+  width: 100%;
+  border: none;
 }
 
 .hightLight {
-    @include themify() {
-        background: themed("btn_main");
-    }
+  @include themify() {
+    background: themed("btn_main");
+  }
 
-    color: #fff;
+  color: #fff;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3