浏览代码

修改用户保存信息

丸子 4 月之前
父节点
当前提交
1948f39de1
共有 2 个文件被更改,包括 41 次插入12 次删除
  1. 33 6
      src/components/HomePage.vue
  2. 8 6
      src/views/Login.vue

+ 33 - 6
src/components/HomePage.vue

@@ -32,16 +32,23 @@
             @click="router.push('/programming')"
             >AI编程课</el-button
           >
-          <el-button
+                    <el-button
             round
             class="top-right-btn"
-            :class="{ 'is-active': selectedButton === 'AI写作课' }"
+            :class="{ 'is-active': selectedButton === 'AI艺术课' }"
             @click="
               ;(selectedButton = 'AI通识课'),
                 Message().notifyWarning('此版本未开放,敬请期待!', true)
             "
-            >AI写作课</el-button
+            >AI艺术课</el-button
           >
+          <!-- <el-button
+            round
+            class="top-right-btn"
+            :class="{ 'is-active': selectedButton === 'AI实验课' }"
+            @click="router.push('/experimental-topic')"
+            >AI实验课</el-button
+          > -->
           <el-button
             round
             class="top-right-btn"
@@ -121,14 +128,14 @@ import { Message } from '@/utils/message/Message.js'
 // 平台标题响应式变量
 const platformTitle = ref(import.meta.env.VITE_APP_TITLE)
 // 用户名响应式变量
-const userName = ref('')
+const userName = ref(import.meta.env.VITE_APP_DEFAULT_LOGIN_USERNAME)
 // 更新平台标题
 const updatePlatformTitle = () => {
   platformTitle.value = localStorage.getItem('tenantName') || import.meta.env.VITE_APP_DEFAULT_LOGIN_TENANT
 }
 // 更新用户名
 const updateUserName = () => {
-  userName.value = localStorage.getItem('userName')
+  userName.value = localStorage.getItem('userName') || import.meta.env.VITE_APP_DEFAULT_LOGIN_USERNAME
 }
 
 // 获取当前路由对象
@@ -139,10 +146,20 @@ const LogoutClick = async () => {
     // 调用logout API 退出登录
      const logoutRes = await logout()
      console.log('退出登录:', logoutRes);
-    // 清空 token 和登录状态
+    // 清空登录状态相关信息
     localStorage.removeItem('token')
     localStorage.removeItem('isLoggedIn')
     localStorage.removeItem('maxCourseSections')
+    
+    // 检查是否勾选了记住我
+    const rememberMe = localStorage.getItem('rememberMe') === 'true'
+    
+    if (!rememberMe) {
+      // 未勾选记住我,清空所有信息
+      localStorage.removeItem('userName')
+      localStorage.removeItem('tenantName')
+      localStorage.removeItem('rememberMe')
+    }
 
     // 跳转到登录页面
     router.push({ path: '/login' })
@@ -152,6 +169,16 @@ const LogoutClick = async () => {
     localStorage.removeItem('token')
     localStorage.removeItem('isLoggedIn')
     localStorage.removeItem('maxCourseSections')
+    
+    // 检查是否勾选了记住我
+    const rememberMe = localStorage.getItem('rememberMe') === 'true'
+    
+    if (!rememberMe) {
+      // 未勾选记住我,清空所有信息
+      localStorage.removeItem('userName')
+      localStorage.removeItem('tenantName')
+      localStorage.removeItem('rememberMe')
+    }
     Message().notifyError('退出登录失败,请重试', true)
     router.push({ path: '/login' })
   }

+ 8 - 6
src/views/Login.vue

@@ -281,16 +281,18 @@ 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('rememberMe', loginData.value.loginForm.rememberMe)
+          
           if (loginData.value.loginForm.rememberMe) {
-            localStorage.setItem('userName', loginData.value.loginForm.username)
-            // 保存租户名称和密码
-            localStorage.setItem('tenantName', loginData.value.loginForm.tenantName)
+            // 保存密码
             localStorage.setItem('password', loginData.value.loginForm.password)
           } else {
-            // 如果没有勾选记住我,清除之前信息
+            // 如果没有勾选记住我,清除密码
             localStorage.removeItem('password')
-            localStorage.removeItem('userName')
-            localStorage.removeItem('tenantName')
             localStorage.removeItem('maxCourseSections')
           }
           loading.value = ElLoading.service({