提交修改,后台管理页面bug修复,已经发布后台管理界面V1.0版本

This commit is contained in:
2025-12-25 17:56:09 +08:00
parent 845f1c6618
commit b1da484431
23 changed files with 614 additions and 257 deletions

View File

@@ -22,6 +22,7 @@
行为:
-`xcx_users` 不存在该 `UserKey`,系统 SHALL 自动插入一条用户记录(资料可为空)。
- 若用户 `IsDisabled = 1`,系统 SHALL 返回 `success: false`
-`xcx_users` 中已经存在该 `UserKey`,系统 SHALL 在登录流程中**更新该记录的 `UpdateTime` 为当前服务器时间**(用于“最近登录/活跃”判断)。
#### Scenario: 首次登录自动建档
- **WHEN** 提交的 `code` 能换取有效 `openid`
@@ -196,6 +197,23 @@
- **WHEN** Stream 中无可读消息
- **THEN** 返回 `success: true` 且数据为空
### Requirement: 管理端统计接口QueryStats
系统 SHALL 提供聚合统计接口 `GET /api/Admin/QueryStats`,返回单行 JSON`data` 对象字段如下:
- `ActiveUsers` (number):最近 7 天内 `UpdateTime` >= DATE_SUB(NOW(), INTERVAL 7 DAY) 且 `UserKey``PhoneNumber` 都不为空的用户数
- `TotalConversations` (number)`xcx_conversation` 的总记录数
- `TodayNewConversations` (number)`xcx_conversation``CreateTime >= CURDATE() AND CreateTime < DATE_ADD(CURDATE(), INTERVAL 1 DAY)` 的记录数
- `TotalUsers` (number)`xcx_users``UserKey``PhoneNumber` 都不为空的用户总数
响应(成功):
- `success: true`
- `data`: { `ActiveUsers`, `TotalConversations`, `TodayNewConversations`, `TotalUsers` }
行为/安全:
- 当前实现为匿名访问,建议在后续迭代中加上管理员鉴权(例如 `[Authorize(Roles = "Admin")]` 或策略)。
- 为保证查询性能,建议为 `xcx_users.UpdateTime``xcx_conversation.CreateTime` 建立适当索引(若数据量很大)。
## Known Limitations
- 当前 JWT 配置存在,但认证中间件与授权标注未启用;接口默认可匿名访问。
- `MessageType` 的过滤条件存在实现差异:部分接口仅在 `MessageType == 1` 时追加过滤(不覆盖 2