v0.6测试

This commit is contained in:
2026-04-14 20:42:18 +08:00
parent a60ba8352f
commit d17a63d4cd
13 changed files with 680 additions and 473 deletions

View File

@@ -304,3 +304,38 @@
- dashboard.php 第61行: 快捷操作条件添加劳动委员
- attendance.php 第27行: `/student/conduct.php``/student/conduct_history.php`
- password.php 第26行: `/student/conduct.php``/student/conduct_history.php`
- [x] 12.7 同步学生端dashboard.php页眉使用header.php/footer.php
【目标对象】`frontend/student/dashboard.php`
【修改目的】学生端dashboard.php使用自定义HTML结构与管理端不统一缺少共享页眉和ICP备案号
【修改方式】
- 移除自定义的 `<!DOCTYPE html>`, `<head>`, `<body>` 和自定义 header div
- 添加 `$page_title = '学生端'; include __DIR__ . '/../includes/header.php';`
- 移除重复的 `window.API_BASE_URL` 等变量设置header.php已处理
- 添加 `include __DIR__ . '/../includes/footer.php';` 以显示ICP备案号
- [x] 12.8 登录页面补充备案号悬挂
【目标对象】`frontend/index.php`
【修改目的】登录页面的页脚缺少ICP备案号
【修改方式】
- 在登录页 footer 的版权信息后添加ICP备案号链接使用 `ICP_ENABLED``ICP_NUMBER` 常量)
- 链接指向 https://beian.miit.gov.cn/target="_blank"
- [x] 12.9 修复用户报告的4个运行时Bug
【目标对象】`backend/schemas/admin.py``frontend/admin/conduct.php``frontend/admin/homework.php``frontend/admin/attendance.php`
【修改目的】用户报告1) 历史记录在加减分后无内容; 2) 管理员无法添加学生; 3) 加减分页面仅显示21人; 4) 管理端修改密码失败
【修改方式】
- 12.9a 历史记录问题已在12.3中通过添加 `StudentModel.update_total_points()` 调用修复
- 12.9b 添加学生422错误`add_student` 路由使用裸函数参数而非Pydantic bodyFastAPI从query string读取导致422。创建 `AddStudentRequest` schema路由改用Pydantic body
- 12.9c 仅显示21人`loadStudents()` 未传 `page_size`后端默认20。前端3个文件添加 `{page_size: 1000}`
- 12.9d 修改密码:已确认代码正确(`sha1_md5_password` + `need_change_password=0`
- [x] 12.10 修复登录及管理员日志未写入数据库
【目标对象】`backend/models/log.py`(新建)、`backend/services/log_service.py`(新建)、`backend/services/auth_service.py``backend/routes/auth.py``backend/routes/admin.py`
【修改目的】数据库中 `login_logs``operation_logs` 表已存在但没有任何后端代码写入数据。README中规划了 `models/operation_log.py``services/log_service.py`,但文件不存在
【修改方式】
- 新建 `backend/models/log.py`:包含 `LoginLogModel``OperationLogModel`,分别向 login_logs 和 operation_logs 表写入记录
- 新建 `backend/services/log_service.py``LogService` 提供 `write_login_log``write_operation_log` 方法,用 try-except 包裹确保日志写入失败不影响主业务
- 修改 `auth_service.py`login 方法增加 `user_agent` 参数在5个退出点失败次数过多、用户不存在、密码错误、账号禁用、登录成功均写入 login_logs
- 修改 `auth.py`:从 HTTP 请求头获取 user-agent 并传递给 AuthService.login()
- 修改 `admin.py`8个管理操作成功后写入 operation_logsimport_students、add_student、add_points、revoke_record、create_assignment、update_submission、add_attendance、add_admin