72 lines
2.0 KiB
Markdown
72 lines
2.0 KiB
Markdown
|
|
# 任务009:系统设置
|
|||
|
|
|
|||
|
|
## 目标
|
|||
|
|
|
|||
|
|
实现用户管理、操作日志查看。
|
|||
|
|
|
|||
|
|
## 后端API
|
|||
|
|
|
|||
|
|
### 用户管理
|
|||
|
|
```
|
|||
|
|
GET /api/users # 用户列表(分页)
|
|||
|
|
POST /api/users # 创建用户(手机号+姓名+角色)
|
|||
|
|
PUT /api/users/:id # 编辑用户
|
|||
|
|
PUT /api/users/:id/reset-password # 重置密码
|
|||
|
|
PUT /api/users/:id/status # 启用/禁用
|
|||
|
|
DELETE /api/users/:id # 删除用户
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 操作日志
|
|||
|
|
```
|
|||
|
|
GET /api/operation-logs # 操作日志列表
|
|||
|
|
?user_id=xxx&action=xxx
|
|||
|
|
&start_time=xxx&end_time=xxx&page=1&page_size=20
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 前端页面
|
|||
|
|
|
|||
|
|
### 用户管理页
|
|||
|
|
|
|||
|
|
**列表显示:**
|
|||
|
|
| 手机号 | 姓名 | 角色 | 所属组织 | 状态 | 操作 |
|
|||
|
|
|--------|------|------|----------|------|------|
|
|||
|
|
| 138... | 张三 | 企业管理员 | 组织A | 启用 | 编辑/重置密码/禁用 |
|
|||
|
|
|
|||
|
|
**创建用户弹窗:**
|
|||
|
|
- 手机号(必填,11位)
|
|||
|
|
- 姓名(选填)
|
|||
|
|
- 角色选择(总管理员/企业管理员/普通用户)
|
|||
|
|
- 所属组织(企业管理员必填)
|
|||
|
|
- 初始密码(默认123456,可修改)
|
|||
|
|
|
|||
|
|
**编辑用户弹窗:**
|
|||
|
|
- 姓名
|
|||
|
|
- 角色
|
|||
|
|
- 所属组织
|
|||
|
|
|
|||
|
|
**重置密码:**
|
|||
|
|
- 确认弹窗
|
|||
|
|
- 新密码(默认123456)
|
|||
|
|
|
|||
|
|
### 操作日志页
|
|||
|
|
|
|||
|
|
**顶部过滤:**
|
|||
|
|
- 用户下拉
|
|||
|
|
- 操作类型(登录/创建/编辑/删除/控制设备)
|
|||
|
|
- 时间范围
|
|||
|
|
|
|||
|
|
**列表显示:**
|
|||
|
|
| 用户 | 操作 | 对象类型 | 对象 | 详情 | 时间 |
|
|||
|
|
|------|------|----------|------|------|------|
|
|||
|
|
| 张三 | 创建柜子 | 设备 | 10-00000001 | 批量添加3台 | 2026-07-01 10:30 |
|
|||
|
|
| 李四 | 开始充电 | 通道 | 通道1 | 柜子10-00000001 | 2026-07-01 10:35 |
|
|||
|
|
|
|||
|
|
## 质量约束
|
|||
|
|
|
|||
|
|
1. 完成代码后执行 `cargo check` + `tsc --noEmit`,零报错零警告
|
|||
|
|
2. 分层拆分,单函数≤80行,命名语义化,完整注释
|
|||
|
|
3. 所有外部IO/网络请求异常捕获,禁止裸panic
|
|||
|
|
4. 分支逻辑全覆盖,不遗漏兜底分支
|
|||
|
|
5. 常量抽离,不使用废弃API
|
|||
|
|
6. Rust内存安全,React函数组件+Hooks
|