From d8a2b0b90ad2891d2a3981176dce45dd0471c312 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Sat, 17 Jul 2021 10:08:21 +0800
Subject: [PATCH] 跳过点击登入

---
 src/page/login/userlogin copy.vue |  260 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 260 insertions(+), 0 deletions(-)

diff --git a/src/page/login/userlogin copy.vue b/src/page/login/userlogin copy.vue
new file mode 100644
index 0000000..5628137
--- /dev/null
+++ b/src/page/login/userlogin copy.vue
@@ -0,0 +1,260 @@
+<template>
+  <el-form
+    class="login-form"
+    status-icon
+    :rules="loginRules"
+    ref="loginForm"
+    :model="loginForm"
+    label-width="0"
+  >
+    <el-form-item v-if="tenantMode" prop="tenantId">
+      <el-input
+        size="small"
+        @keyup.enter.native="handleLogin"
+        v-model="loginForm.tenantId"
+        auto-complete="off"
+        :placeholder="$t('login.tenantId')"
+      >
+        <i slot="prefix" class="icon-quanxian" />
+      </el-input>
+    </el-form-item>
+    <el-form-item prop="username">
+      <el-input
+        size="small"
+        @keyup.enter.native="handleLogin"
+        v-model="loginForm.username"
+        auto-complete="off"
+        :placeholder="$t('login.username')"
+      >
+        <i slot="prefix" class="icon-yonghu" />
+      </el-input>
+    </el-form-item>
+    <el-form-item prop="password">
+      <el-input
+        size="small"
+        @keyup.enter.native="handleLogin"
+        :type="passwordType"
+        v-model="loginForm.password"
+        auto-complete="off"
+        :placeholder="$t('login.password')"
+      >
+        <i
+          class="el-icon-view el-input__icon"
+          slot="suffix"
+          @click="showPassword"
+        />
+        <i slot="prefix" class="icon-mima" />
+      </el-input>
+    </el-form-item>
+    <el-form-item v-if="this.website.captchaMode" prop="code">
+      <el-row :span="24">
+        <el-col :span="16">
+          <el-input
+            size="small"
+            @keyup.enter.native="handleLogin"
+            v-model="loginForm.code"
+            auto-complete="off"
+            :placeholder="$t('login.code')"
+          >
+            <i slot="prefix" class="icon-yanzhengma" />
+          </el-input>
+        </el-col>
+        <el-col :span="8">
+          <div class="login-code">
+            <img
+              :src="loginForm.image"
+              class="login-code-img"
+              @click="refreshCode"
+            />
+          </div>
+        </el-col>
+      </el-row>
+    </el-form-item>
+    <el-form-item>
+      <el-button
+        type="primary"
+        size="small"
+        @click.native.prevent="handleLogin"
+        class="login-submit"
+        >{{ $t("login.submit") }}
+      </el-button>
+    </el-form-item>
+  </el-form>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import { info } from "@/api/system/tenant";
+import { getCaptcha } from "@/api/user";
+import { getTopUrl } from "@/util/util";
+
+export default {
+  name: "userlogin",
+  data() {
+    return {
+      tenantMode: this.website.tenantMode,
+      loginForm: {
+        //租户ID
+        tenantId: "000000",
+        //用户名
+        username: "admin",
+        //密码
+        password: "admin",
+        //账号类型
+        type: "account",
+        //验证码的值
+        code: "",
+        //验证码的索引
+        key: "",
+        //预加载白色背景
+        image:
+          "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
+      },
+      loginRules: {
+        tenantId: [
+          { required: false, message: "请输入租户ID", trigger: "blur" },
+        ],
+        username: [
+          { required: true, message: "请输入用户名", trigger: "blur" },
+        ],
+        password: [
+          { required: true, message: "请输入密码", trigger: "blur" },
+          { min: 1, message: "密码长度最少为6位", trigger: "blur" },
+        ],
+      },
+      passwordType: "password",
+    };
+  },
+  created() {
+    this.getTenant();
+    this.refreshCode();
+  },
+  mounted() {},
+  computed: {
+    ...mapGetters(["tagWel"]),
+    keys() {
+      return this.loginForm.key;
+    },
+  },
+  props: [],
+  methods: {
+    goOnS() {
+      if (this.$route.query.main != undefined) {
+        var a = this.$route.query.main;
+        console.log(a);
+        if (typeof a == "string") {
+          try {
+            var obj = JSON.parse(a);
+            console.log(obj, "obj");
+            if (typeof obj == "object" && obj) {
+              console.log("自动登入");
+              var data = {
+                code: this.loginForm.code,
+                tenantId: this.obj.dip,
+                //用户名
+                username: this.obj.rese,
+                //密码
+                password: this.obj.sap,
+                //账号类型
+                type: this.loginForm.type,
+                //验证码的值
+                code: this.loginForm.code,
+                //验证码的索引
+                key: this.keys,
+                //预加载白色背景
+                image: this.loginForm.image,
+              };
+              // this.loginForm.username = obj.data.rese;
+              // this.loginForm.password = obj.data.admin;
+              // this.loginForm.tenantId = obj.data.dip;
+              // console.log(this.loginForm1·);
+              const loading = this.$loading({
+                lock: true,
+                text: "登录中,请稍后。。。",
+                spinner: "el-icon-loading",
+              });
+              this.$store
+                .dispatch("LoginByUsername", data)
+                .then(() => {
+                  this.$router.push({ path: "/wel" });
+                  loading.close();
+                })
+                .catch(() => {
+                  loading.close();
+                  this.refreshCode();
+                });
+              console.log(data, "自动ssss");
+              return true;
+            } else {
+              console.log("手动登入");
+              return false;
+            }
+          } catch (e) {
+            console.log("手动登入");
+            return false;
+          }
+        }
+      } else {
+        console.log("nothing");
+      }
+    },
+    refreshCode() {
+      getCaptcha().then((res) => {
+        const data = res.data;
+        this.loginForm.key = data.key;
+        this.loginForm.image = data.image;
+      });
+    },
+    showPassword() {
+      this.passwordType === ""
+        ? (this.passwordType = "password")
+        : (this.passwordType = "");
+    },
+    handleLogin() {
+      console.log(this.loginForm, "once");
+      this.$refs.loginForm.validate((valid) => {
+        if (valid) {
+          console.log(this.loginForm, "befor");
+          const loading = this.$loading({
+            lock: true,
+            text: "登录中,请稍后。。。",
+            spinner: "el-icon-loading",
+          });
+          this.$store
+            .dispatch("LoginByUsername", this.loginForm)
+            .then(() => {
+              this.$router.push({ path: "/wel" });
+              loading.close();
+            })
+            .catch(() => {
+              loading.close();
+              this.refreshCode();
+            });
+        }
+      });
+    },
+    getTenant() {
+      let domain = getTopUrl();
+      // 临时指定域名,方便测试
+      //domain = "https://bladex.vip";
+      info(domain).then((res) => {
+        const data = res.data;
+        if (data.success && data.data.tenantId) {
+          this.tenantMode = false;
+          this.loginForm.tenantId = data.data.tenantId;
+          this.$parent.$refs.login.style.backgroundImage = `url(${data.data.backgroundUrl})`;
+        }
+      });
+    },
+  },
+  watch: {
+    keys() {
+      console.log(this.keys, "keys");
+      this.goOnS();
+    },
+  },
+};
+</script>
+
+<style>
+</style>

--
Gitblit v1.9.3