25 Commits
108 changed files with 31382 additions and 461 deletions

No files matched your search

+2
View File
@@ -3,6 +3,8 @@
**/node_modules/
**/dist/
.artifacts/
.codex-build/
packages/CaptchaKit/artifacts/
.vs/
.vscode/
*.user
+20 -3
View File
@@ -94,10 +94,11 @@ ZIP 会生成到 `.artifacts/app-updates`,根目录直接包含 `index.html`
`versions.props` 的 `JiaowuFrontendVersion`(传入 `--version` 时也必须一致)。使用
SuperAdmin 进入“运维与审计 → App 前端热更新”,上传 ZIP,填写目标平台、通道和
兼容的原生版本后先保存为草稿,再执行发布。当前 Android 工程的 `versionName` 为
`1.0`,因此对应更新包的“兼容原生版本”应填写 `1.0`。
`2.6.0`,因此对应更新包的“兼容原生版本”应填写 `2.6.0`。
App 启动、以及从后台回到前台超过 5 分钟后,会向 `/api/app-updates/latest` 检查版本,
在后台下载并校验服务端提供的 SHA-256;切到后台或下次启动时切换,并保留当前页面地址。
App 每次启动、网络恢复以及从后台回到前台时,都会向 `/api/app-updates/latest` 检查版本,
在后台下载并校验服务端提供的 SHA-256。下载完成后,用户可在常驻提示中确认立即重新加载;
若选择稍后,切到后台或下次启动时自动切换,并保留当前页面地址。
新资源若未能成功启动,原生更新器会自动回滚。再次发布
已归档版本即可回滚正式通道;不同原生版本、Android/iOS、测试/正式通道彼此隔离。
更新版本元数据和 ZIP 保存在数据库中,部署新服务端版本前必须先执行
@@ -691,3 +692,19 @@ Docker 镜像不包含 `.env`、数据库密码或 JWT 密钥。应用容器以
dotnet test Jiaowu.slnx
npm --prefix web run build
```
## 人员、课程、学期与成绩归档
人员和课程列表默认显示未归档记录,可切换“已归档”或清空筛选查看全部;成绩管理提供同样的归档筛选。学期管理保留当前和历史学期展示,并可按归档状态筛选。各页面均提供单条、批量归档及恢复,提交前展示阻断事项和处理入口,归档或恢复原因必填,每批最多 100 条。批量请求逐项重新校验和提交,显示每条记录的处理结果。
- 人员:学生毕业/退学、教师退休/离职后可归档;归档前检查相关未结课任务、未发布成绩、学生待审批事项和必办离校事项。恢复不会变更学籍、任职状态或登录账号状态。
- 课程:未结束教学任务,以及在读学生适用的已发布培养方案会阻止归档。已归档课程退出新开课和课程申报选项;已有培养方案、教学任务和成绩引用保留。课程启停状态独立于归档状态。
- 学期:当前学期不可归档;开放选课批次、未结束教学任务、未建册或未发布成绩需要先处理。恢复后仍为历史学期,不会自动设为当前。归档不会连带归档人员、课程,也不冻结补考和成绩更正。
- 成绩:以教学班成绩单为单位,仅允许已发布且没有待审批成绩更正的成绩单归档。归档标记独立于发布状态,成绩单、绩点、毕业审核和历史统计继续使用原正式成绩;更正仍走既有审批流程。
已归档人员、课程和学期不能直接编辑或删除;人员、课程和学期 Excel 导入不能覆盖已归档记录,导出遵循列表归档筛选。教学任务发布和撤销结课会检查已归档的学期、课程与教师。归档操作按原有角色及学院范围授权,课程继续执行公共课校级维护规则,学期由校级管理员管理。每次状态变化保留操作者、时间和原因,恢复不删除历史日志。
统一接口为 `POST /api/archives/{kind}/preview`、`POST /api/archives/{kind}/apply` 和 `GET /api/archives/{kind}/{id}/history?page=1`,其中 `kind` 为 `teachers`、`students`、`courses`、`terms`、`grades`。原学期归档接口继续可用并复用同一校验流程。历史日志按每页 20 条读取,旧归档记录不会伪造操作日志。
数据库新增 `20260905093721_UnifiedArchiving` MySQL 迁移;SQLite 开发库由 `DevelopmentSqliteMigrator` 补齐字段和归档日志表,已有记录默认未归档,已有学期归档状态保留。部署时应按现有数据库升级流程应用迁移。
Loaded 3 of 108 files, more files were not shown because too many files have changed in this diff. Show more