ソースを参照

优化登录模块

wangzhiqiang 3 ヶ月 前
コミット
622b1cd4ad

+ 5 - 2
src/store/modules/user.js

@@ -31,9 +31,10 @@ const actions = {
         dispatch('getInfo', { token: res.data.access_token }).then(infoRes => {
           resolve(res.data.access_token)
         }).catch((err)=> {
-          reject(err)
+          // 获取用户信息失败,清除登录状态并刷新
+          dispatch('loginOut')
+          reject(new Error('获取用户信息失败,请重新登录'))
         })
-
       }).catch(err => {
         reject(err)
       })
@@ -46,6 +47,8 @@ const actions = {
       getUserInfo(params).then(res => {
         commit('infoChange', res.data)
         resolve(res.data)
+      }).catch(err => {
+        reject(err)
       })
     })
   },

+ 2 - 2
src/views/main/outBagModule/appAdmin.vue

@@ -334,7 +334,7 @@ const submit = async (formEl) => {
           ElMessage.success("新增成功");
           layer.value.show = false;
         }
-        handleFormSubmitted();
+        getList();
       } else {
         ElMessage.error(result.msg);
       }
@@ -348,7 +348,7 @@ const submit = async (formEl) => {
 const removeApp = async (row) => {
   await delApp({ appId: row.appId }).then((res) => {
     ElMessage.success("删除成功");
-    handleFormSubmitted();
+    getList();
   });
 };
 

+ 10 - 1
src/views/system/login.vue

@@ -27,7 +27,7 @@
                 @click="passwordTypeChange"></i>
             </template>
           </el-input>
-          <el-input size="large" v-model="form.captcha" placeholder="请输入验证码" maxlength="4">
+          <el-input size="large" v-model="form.captcha" placeholder="请输入验证码" maxlength="4" @keyup.enter="submit">
             <template #append>
               <img @click="getCaptchaImgData" :src="captchaImg" style="width: 100px;height: 38px;" alt="">
             </template>
@@ -109,6 +109,15 @@
         location.reload()
         // await getAuthRoutes()
         // await router.push(route.query.redirect || '/')
+      }).catch(async() =>{
+        // 登录失败或获取用户信息失败
+        ElMessage.error({
+          message: err?.message || '登录失败,请重试',
+          showClose: true,
+          duration: 2000
+        })
+        // 跳转到登录页
+        await router.push('/login')
       }).finally(() => {
         form.loading = false
       })