feat: add admin console and review workflow

This commit is contained in:
Codex
2026-06-14 21:13:23 +08:00
parent 2591549734
commit 6417d2baa9
13 changed files with 1184 additions and 39 deletions
+27 -2
View File
@@ -39,12 +39,36 @@
- `make check`:检查前端 JS 语法和后端 Python 编译。
- `make smoke`:运行轻量前端行为烟测,覆盖排序按钮、组内排序和纠错后排序。
- `make data-hash`:输出 `classnotes.txt``学生课时账户.md` 的 SHA-256。
- `make data-hash`:输出 `classnotes.txt``学生课时账户.md`,以及存在时的 `admin_tasks.json` 的 SHA-256。
- `make build`:构建 Docker 镜像。
- `make up`:重启 Docker Compose 服务。
- `make health`:带认证访问 `/api/health`。
- `make deploy`:按推荐顺序执行检查、构建、重启、健康检查和哈希复核。
- `make logs`:查看最近服务日志。
- `make install-gitea-backup`:安装提交后自动推送到 Gitea 的 Git hook。
## Gitea 自动备份
新时空教务管家推荐把 Gitea SSH 仓库配置为 `origin`,并用 `post-commit` hook 在每次提交后自动推送当前分支。
首次配置:
```bash
git remote add origin <你的 Gitea SSH 仓库地址>
make install-gitea-backup
```
安装后,每次 `git commit` 成功都会执行:
```bash
git push origin HEAD:<当前分支>
```
注意:
- 自动备份只推送已提交内容,不会自动提交工作区中的未提交改动。
- 如果 Gitea 暂时不可用或 SSH key 权限异常,本地 commit 仍会保留,hook 只打印错误提示。
- 如果当前仓库已有 `.git/hooks/post-commit`,安装脚本会拒绝覆盖;确需覆盖时执行 `python3 scripts/install_gitea_backup_hook.py --force`。
## 数据保护
@@ -53,9 +77,10 @@
```text
/root/新时空数据/data/classnotes.txt
/root/新时空数据/data/学生课时账户.md
/root/新时空数据/data/admin_tasks.json
```
普通前端和查询类改动不应该改变这两个文件。部署前后 `make data-hash` 输出应一致;如果涉及登记 API 或数据写入功能,先确认自动备份目录:
普通前端和查询类改动不应该改变这文件。部署前后 `make data-hash` 输出应一致;如果涉及登记 API、课时账户编辑或纠错审核批准,先确认自动备份目录:
```text
/root/新时空数据/data/backups/