refactor: split app structure

This commit is contained in:
Codex
2026-06-15 12:24:49 +08:00
parent e15c931e91
commit b9468c7485
17 changed files with 1263 additions and 1090 deletions
+12
View File
@@ -15,6 +15,18 @@
- `scripts/install_launch_agent.py`:安装 Mac 开机常驻同步任务。
- `launchd/com.xsk.records.sync.plist.template`LaunchAgent 模板。
## 后端结构
- `app/main.py`:FastAPI 应用入口,只负责注册路由和全局异常处理。
- `app/routers/`:按业务入口拆分 API 和页面路由,包括登录页面、课程记录、课时账户、管理后台、课程小结推送和健康检查。
- `app/config.py`:路径、环境变量、Cookie 名称和进程内写锁。
- `app/auth.py`:网页登录、Basic Auth、管理后台和课程小结推送鉴权。
- `app/schemas.py`:请求体 Pydantic 模型。
- `app/api_utils.py`:API 层通用读取、文件元信息和请求体转换。
- `app/domain.py`:领域数据结构、学生/科目别名、状态和识别常量。
- `app/storage.py`:原子写入、权限继承和业务数据备份。
- `app/data.py`:业务数据解析、登记、审核、课程小结入库和查询逻辑。
## 首次部署
推荐先配置 SSH key。若临时使用密码,可通过环境变量传入,不要写入仓库文件。