账户设置
ZgAdmin 提供个人账户设置页面,用户可管理个人资料、修改密码、查看安全日志和设置通知偏好。
功能概览
- 个人资料编辑(昵称、邮箱、手机、备注)
- 账户安全管理(修改密码、绑定手机/邮箱)
- 安全日志查看
- 通知偏好设置
页面结构
路径:右上角头像 → 账户设置(/account-settings)
页面包含 4 个选项卡:
1. 个人资料
| 字段 | 说明 | 必填 |
|---|---|---|
| 昵称 | 显示名称 | 是 |
| 邮箱 | 联系邮箱 | 是 |
| 手机 | 手机号码 | 否 |
| 备注 | 个人备注 | 否 |
- 邮箱输入框带自动补全(@qq.com / @126.com / @163.com)
2. 账户安全
| 安全项 | 说明 | 状态 |
|---|---|---|
| 账户密码 | 修改登录密码 | ✅ 可用 |
| 安全手机 | 绑定/修改手机号 | ✅ 可用 |
| 安全问题 | 安全问题验证 | ❌ 暂未实现 |
| 备用邮箱 | 绑定/修改邮箱 | ✅ 可用 |
修改密码:需输入当前密码 + 新密码 + 确认密码。新密码受安全策略约束(长度、复杂度、历史检查)。
修改手机/邮箱:弹窗输入新值,保存后立即更新。
3. 安全日志
展示当前用户的登录日志(最近登录记录),包含:
- 登录时间
- IP 地址
- 登录状态(成功/失败)
4. 通知偏好
| 偏好项 | 说明 | 默认 |
|---|---|---|
| 账户通知 | 账户相关变更通知 | 开启 |
| 系统通知 | 系统公告和运维通知 | 开启 |
| 任务通知 | 任务完成和审批通知 | 开启 |
修改后即时保存。
后端 API
所有接口前缀:/api/v1/base
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /mine | 获取当前用户信息 |
| POST | /profile | 更新个人资料 |
| POST | /password | 修改密码 |
| GET | /preferences | 获取通知偏好 |
| POST | /preferences | 更新通知偏好 |
请求示例
更新个人资料
json
POST /api/v1/base/profile
{
"nickname": "张三",
"email": "zhangsan@example.com",
"phone": "13800138000",
"remark": "管理员"
}修改密码
json
POST /api/v1/base/password
{
"current_password": "oldPassword123",
"new_password": "newPassword456"
}更新通知偏好
json
POST /api/v1/base/preferences
{
"notify_account": true,
"notify_system": false,
"notify_task": true
}密码修改规则
修改密码时受 安全设置 中的策略约束:
- 密码长度必须满足
min_password_length - 密码必须满足复杂度要求(大小写、数字、特殊字符)
- 新密码不能与最近
password_history_count次的密码重复