Refactor exam information workflow

This commit is contained in:
2026-07-20 10:07:14 +08:00 Unverified
parent d4e085b6c5
commit 7094e9b916
22 changed files with 3233 additions and 2793 deletions
+32 -9
View File
@@ -150,14 +150,37 @@ npm test
## 项目结构
项目采用模块化单体架构:仍由一个 Node.js 进程部署,但 HTTP、权限、业务路由、数据库适配和前端页面按职责分开。
```text
index.html 页面入口
styles.css 公共首页、考生端、管理端响应式样式
app.js 前端路由、状态和业务交互
server.mjs HTTP 服务、认证、权限与全部业务 API
database.mjs 分表结构、SQLite / MySQL 适配与事务仓储
excel.mjs Excel 模板、导入解析与导出工作簿
tests/system.test.mjs 端到端系统测试
data/exam.sqlite 本地运行后生成的 SQLite 数据
.env.example 开发与生产环境变量模板
index.html 页面入口
styles.css 公共首页、考生端、管理端响应式样式
app.js 前端路由、事件与表单控制器
server.mjs HTTP 服务启动、模块装配与静态文件服务
database.mjs 数据仓储与数据库模块装配
excel.mjs Excel 模板、导入解析与导出工作簿
src/data/seed.mjs 演示数据
src/http/responses.mjs JSON、文件与请求体处理
src/security/session.mjs Cookie 会话与当前用户
src/security/authorization.mjs 管理层级、权限和数据范围
src/routes/public.routes.mjs 公开 API
src/routes/auth.routes.mjs 登录、注册与改密 API
src/routes/candidate.routes.mjs 考生业务 API
src/routes/admin.routes.mjs 管理业务 API
src/database/schema.mjs SQLite / MySQL 关系模型
src/database/sqlite-adapter.mjs SQLite 初始化、迁移与事务适配
src/database/mysql-adapter.mjs MySQL 初始化、迁移与事务适配
src/client/state.mjs 前端共享状态
src/client/api.mjs 浏览器 API 请求封装
src/client/ui.mjs 格式化、图标与通用 UI 工具
src/client/public-views.mjs 公共首页与登录注册视图
src/client/candidate-views.mjs 考生中心视图
src/client/admin-views.mjs 管理后台视图
tests/system.test.mjs 端到端系统测试
data/exam.sqlite 本地运行后生成的 SQLite 数据库
.env.example 开发与生产环境变量模板
```