Browse Source

新增登录记住登录信息

caojunjie 3 years ago
parent
commit
6e0fdb4b6d
1 changed files with 22 additions and 4 deletions
  1. 22 4
      src/page/login/userlogin.vue

+ 22 - 4
src/page/login/userlogin.vue

@@ -54,8 +54,10 @@
       </el-row>
     </el-form-item>
     <el-form-item>
+      <el-checkbox v-model="rememberMe" style="float: right;color:#9c9c9c;">记住密码</el-checkbox>
       <el-button type="primary"
                  size="small"
+                 style="margin-top: 10px"
                  @click.native.prevent="handleLogin"
                  class="login-submit">{{$t('login.submit')}}
       </el-button>
@@ -74,23 +76,24 @@
   import {info} from "@/api/system/tenant";
   import {getCaptcha} from "@/api/user";
   import {getTopUrl} from "@/util/util";
-
+  import CryptoJS from '@/util/crypto'
   export default {
     name: "userlogin",
     data() {
       return {
         tenantMode: this.website.tenantMode,
+        rememberMe:false,
         loginForm: {
           //租户ID
-          tenantId: "000000",
+          tenantId: '',
           //部门ID
           deptId: "",
           //角色ID
           roleId: "",
           //用户名
-          username: "admin",
+          username: '',
           //密码
-          password: "8866",
+          password: "",
           //账号类型
           type: "account",
           //验证码的值
@@ -165,6 +168,10 @@
     created() {
       this.getTenant();
       this.refreshCode();
+      if(localStorage.getItem("tenantId")) this.loginForm.tenantId = CryptoJS.decrypt(localStorage.getItem("tenantId")) //租户ID
+      if(localStorage.getItem("username")) this.loginForm.username = CryptoJS.decrypt(localStorage.getItem("username")) //用户名
+      if(localStorage.getItem("password")) this.loginForm.password = CryptoJS.decrypt(localStorage.getItem("password")) //密码
+      if(localStorage.getItem("rememberMe")) this.rememberMe = JSON.parse(localStorage.getItem("rememberMe"))
     },
     mounted() {
     },
@@ -225,6 +232,17 @@
               text: '登录中,请稍后。。。',
               spinner: "el-icon-loading"
             });
+            if (this.rememberMe == true){
+              localStorage.setItem('tenantId', CryptoJS.encrypt(this.loginForm.tenantId))
+              localStorage.setItem('username', CryptoJS.encrypt(this.loginForm.username))
+              localStorage.setItem('password', CryptoJS.encrypt(this.loginForm.password))
+              localStorage.setItem('rememberMe', this.rememberMe)
+            }else {
+              localStorage.removeItem("tenantId");
+              localStorage.removeItem("username");
+              localStorage.removeItem("password");
+              localStorage.removeItem("rememberMe");
+            }
             this.$store.dispatch("LoginByUsername", this.loginForm).then(() => {
               if (this.website.switchMode) {
                 const deptId = this.userInfo.dept_id;