Skip to content

Commit 9796c1d

Browse files
committed
优化修改密码界面:显示用户名和昵称,更新v0.4.12发布说明
1 parent 82919f1 commit 9796c1d

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed

docs/v0.4.12发布说明.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## 版本概述
66

7-
v0.4.12 版本合并了 v0.4.10 和 v0.4.11 的所有更新,并新增了数据库自动备份功能。本次更新包括用户体验优化、安全修复和重要的数据安全保障功能。
7+
v0.4.12 版本合并了 v0.4.10 和 v0.4.11 的所有更新,并新增了数据库自动备份功能。本次更新包括用户体验优化、安全修复和重要的数据安全保障功能。同时优化了首次登录修改密码界面,显示用户名和昵称信息,提升用户体验。
88

99
## 主要更新
1010

@@ -74,6 +74,14 @@ v0.4.12 版本合并了 v0.4.10 和 v0.4.11 的所有更新,并新增了数据
7474
- 修复路由守卫时序问题
7575
- 修复 AppHeader 中修改密码未清除状态问题
7676

77+
### 8. 初始化修改密码界面优化 🎨
78+
79+
优化了首次登录修改密码界面的用户体验:
80+
- **显示用户信息**:在修改密码表单上方显示用户名和昵称
81+
- **信息确认**:用户可以在设置密码前确认当前账号信息
82+
- **自动加载**:如果用户信息未加载,自动从后端获取并显示
83+
- **样式优化**:使用描述列表组件展示用户信息,界面更清晰美观
84+
7785
## 更新内容
7886

7987
### 新增文件
@@ -107,7 +115,7 @@ v0.4.12 版本合并了 v0.4.10 和 v0.4.11 的所有更新,并新增了数据
107115
- `frontend/src/types/user.ts` - User 接口添加 is_first_login 字段
108116
- `frontend/src/stores/auth.ts` - 添加 isFirstLogin 状态
109117
- `frontend/src/router/index.ts` - 路由守卫增强,添加备份设置路由
110-
- `frontend/src/views/auth/*.vue` - 登录和修改密码相关页面状态同步
118+
- `frontend/src/views/auth/*.vue` - 登录和修改密码相关页面状态同步,修改密码界面显示用户信息
111119
- `frontend/src/components/AppHeader.vue` - 修改密码状态清除
112120
- `frontend/src/config/menu.ts` - 添加备份设置菜单项
113121

frontend/src/views/auth/ChangePassword.vue

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@
55
<h2>修改密码</h2>
66
</template>
77
<div class="change-password-content">
8+
<!-- 显示用户信息 -->
9+
<div v-if="authStore.user" class="user-info-section">
10+
<a-descriptions :column="1" bordered size="small">
11+
<a-descriptions-item label="用户名">
12+
{{ authStore.user.username }}
13+
</a-descriptions-item>
14+
<a-descriptions-item v-if="authStore.user.nickname" label="昵称">
15+
{{ authStore.user.nickname }}
16+
</a-descriptions-item>
17+
</a-descriptions>
18+
</div>
819
<a-alert
920
v-if="!hasPassword"
1021
message="首次登录"
@@ -66,7 +77,7 @@
6677
import { ref, onMounted } from 'vue'
6778
import { useRouter } from 'vue-router'
6879
import { message } from 'ant-design-vue'
69-
import { changePassword, getUserInfo } from '@/api/auth'
80+
import { changePassword } from '@/api/auth'
7081
import { useAuthStore } from '@/stores/auth'
7182
7283
const router = useRouter()
@@ -138,7 +149,10 @@ const changePasswordRules = {
138149
// 检查用户是否已有密码
139150
const checkUserPassword = async () => {
140151
try {
141-
await getUserInfo() // 验证用户已登录
152+
// 如果 authStore 中没有用户信息,则加载
153+
if (!authStore.user) {
154+
await authStore.loadUserInfo()
155+
}
142156
// 如果用户有密码,后端会在GetUserInfo中返回相关信息
143157
// 这里我们通过尝试修改密码时的错误来判断
144158
// 但为了简化,我们可以假设首次登录的用户没有密码
@@ -217,5 +231,14 @@ onMounted(() => {
217231
.change-password-content {
218232
padding: 20px 0;
219233
}
234+
235+
.user-info-section {
236+
margin-bottom: 24px;
237+
}
238+
239+
:deep(.ant-descriptions-item-label) {
240+
font-weight: 500;
241+
width: 80px;
242+
}
220243
</style>
221244

0 commit comments

Comments
 (0)