Browse Source

修复登录记住密码

li.shaoyi 3 years ago
parent
commit
63b1b357cf
2 changed files with 16 additions and 14 deletions
  1. 0 1
      src/router/index.ts
  2. 16 13
      src/views/account/login.vue

+ 0 - 1
src/router/index.ts

@@ -2275,7 +2275,6 @@ router.beforeEach((to, from, next) => {
                         const { ACCOUNT, PASSWORD } = to.query
                         login(ACCOUNT as string, PASSWORD as string, [], true).then(res => {
                             setLoadComplete(true)
-                            localStorageUtil.setItem('loginAccount', ACCOUNT); // 缓存登录账号
                             eventBus.$emit('loginSuccess', true);
                             next({ name })
                         }).catch(err => {

+ 16 - 13
src/views/account/login.vue

@@ -27,7 +27,7 @@
             </a-form-item>
             <a-form-item>
               <div class="login-remember-password">
-                <a-checkbox v-model:checked="form.isRemember">记住账号</a-checkbox>
+                <a-checkbox v-model:checked="form.isRemember" @change="rememberChange">记住账号</a-checkbox>
                 <!-- <router-link to="/resetPassword">忘记密码?</router-link> -->
               </div>
             </a-form-item>
@@ -84,18 +84,12 @@ interface Form {
 }
 
 const initForm: Form = {
-  account: '',
+  account: window.localStorage.getItem('rememberAccount') ?? '',
   password: '',
-  isRemember: false,
+  isRemember: window.localStorage.getItem('isRememberAccount') ? true : false,
   isRead: false,
 };
 
-function setRememberAccount(): void {
-  const account: string = localStorageUtil.getItem('loginAccount');
-  if (account) {
-    Object.assign(initForm, { account, isRemember: true });
-  }
-}
 function setLogo() {
   const img = document.querySelector('#logo_img') || document.createElement('img');
   const obj = {
@@ -150,10 +144,18 @@ export default defineComponent({
     };
     const formDom: any = ref(null);
     const router = useRouter();
-    form.password = '';
-    // setRememberAccount();
     // qt
     const { getQtInfo } = qtAction();
+
+    function rememberChange() {
+      if (form.isRemember) {
+        window.localStorage.setItem('isRememberAccount', 'true');
+      } else {
+        window.localStorage.removeItem('rememberAccount');
+        window.localStorage.removeItem('isRememberAccount');
+      }
+    }
+
     function loginAction() {
       formDom.value.validate().then(() => {
         if (!isReadAgreement.value) {
@@ -170,8 +172,9 @@ export default defineComponent({
               setLoadComplete(true);
               const { account, isRemember } = toRaw(form);
               if (isRemember) {
-                localStorageUtil.setItem('loginAccount', account); // 缓存登录账号
+                window.localStorage.setItem('rememberAccount', account); // 缓存登录账号
               }
+              form.password = '';
               eventBus.$emit('loginSuccess', true);
               router.push({ name: 'home' });
               loading.value = false;
@@ -202,7 +205,7 @@ export default defineComponent({
     function register() {
       window.open(serviceURL.openApiUrl, '_blank');
     }
-    return { form, loginAction, isReadAgreement, rules, formDom, loading, goHomeloading, goHome, register, isOpenUrl, ...useAgreement() };
+    return { form, loginAction, rememberChange, isReadAgreement, rules, formDom, loading, goHomeloading, goHome, register, isOpenUrl, ...useAgreement() };
   },
 });
 </script>