Bläddra i källkod

登录页面记住最新的账号密码

丸子 8 månader sedan
förälder
incheckning
af39303907
1 ändrade filer med 28 tillägg och 8 borttagningar
  1. 28 8
      src/views/Login.vue

+ 28 - 8
src/views/Login.vue

@@ -79,14 +79,14 @@ const loginData = ref({
     tenantName: import.meta.env.VITE_APP_DEFAULT_LOGIN_TENANT || '',
     username: import.meta.env.VITE_APP_DEFAULT_LOGIN_USERNAME || '',
     password: import.meta.env.VITE_APP_DEFAULT_LOGIN_PASSWORD || '',
-    rememberMe: true // 默认记录我。如果不需要,可手动修改
+    rememberMe: false // 记住
   }
 })
 
 const loginLoading = ref(false)
 const loading = ref() // ElLoading.service 返回的实例
 const tenantId = ref('')
-// 添加登录状态标识
+// 登录状态标识
 const isLoggedIn = ref(false)
 
 // 输入框校验
@@ -127,7 +127,6 @@ const handleLogin = async params => {
           { 'Tenant-Id': tenantId.value },
           loginDataLoginForm
         )
-        console.log('登录响应:', res) // 添加日志输出
         if (!res) {
           return
         }
@@ -142,15 +141,19 @@ const handleLogin = async params => {
             localStorage.setItem('isLoggedIn', 'true')
             localStorage.setItem('token', res.data.accessToken)
             localStorage.setItem('userName', loginData.value.loginForm.username)
-
+            // 保存租户名称和密码
+            localStorage.setItem('tenantName', loginData.value.loginForm.tenantName)
+            localStorage.setItem('password', loginData.value.loginForm.password)
             // 根据账号类型设置可查看的课程小节数
             if (loginData.value.loginForm.username === 'aiTest') {
               localStorage.setItem('maxCourseSections', '5')
             } else if (loginData.value.loginForm.username === 'aiAdmin') {
               localStorage.setItem('maxCourseSections', 'all')
             }
+          } else {
+            // 如果没有勾选记住我,清除之前可能保存的密码
+            localStorage.removeItem('password')
           }
-
           loading.value = ElLoading.service({
             lock: true,
             text: '正在加载系统中...',
@@ -174,9 +177,26 @@ const handleLogin = async params => {
   })
 }
 
-// 在组件挂载时检查登录状态
+// 在组件挂载时检查登录状态和恢复登录信息
 onMounted(() => {
-  const storedStatus = localStorage.getItem('isLoggedIn')
+  const storedStatus = localStorage.getItem('isLoggedIn') // isLoggedIn
+  const storedTenantName = localStorage.getItem('tenantName')
+  const storedUserName = localStorage.getItem('userName')
+  const storedPassword = localStorage.getItem('password')
+  
+  // 恢复登录信息到输入框
+  if (storedTenantName) {
+    loginData.value.loginForm.tenantName = storedTenantName
+  }
+  if (storedUserName) {
+    loginData.value.loginForm.username = storedUserName
+  }
+  if (storedPassword) {
+    loginData.value.loginForm.password = storedPassword
+    loginData.value.loginForm.rememberMe = true
+  }
+  
+  // 检查登录状态,如果已登录则直接跳转到首页
   if (storedStatus === 'true') {
     isLoggedIn.value = true
     router.push('/home')
@@ -250,7 +270,7 @@ onMounted(() => {
 }
 .el-form-item ::v-deep(.el-form-item__error) {
   top: 0;
-  padding-top: rpx(20);
+  padding-top: rpx(25);
 }
 .input-item .el-button {
   width: rpx(150);