本轮迁移已完成,生产运行链路现已切换为纯 ASP.NET Core 10。

主要完成:
补齐招生学校计划、投档审核、报到、扫码、补录等原生接口。
新增 SQLite/MySQL 空库初始化及默认审批流、号码规则。
删除 Node 兼容代理,未知 API 直接返回原生 404。
Docker、Compose、Gitea CI 全部切换到 Eis.Web.dll。
CKEditor 已固化到 Web 发布资源,不再依赖 node_modules。
新增纯 .NET 冒烟脚本:[smoke-dotnet-native.ps1 (line 1)](C:/Users/BI/Documents/EIS-dotnet/scripts/smoke-dotnet-native.ps1:1)。
迁移状态已更新:[MIGRATION.md (line 14)](C:/Users/BI/Documents/EIS-dotnet/MIGRATION.md:14)。
容器入口见 [Dockerfile (line 31)](C:/Users/BI/Documents/EIS-dotnet/Dockerfile:31)。
This commit is contained in:
2026-07-23 15:14:42 +08:00 Unverified
parent fea91a19af
commit e3c04dad8a
36 changed files with 1449 additions and 491 deletions
+4 -39
View File
@@ -1,9 +1,8 @@
# 本地开发(默认)
NODE_ENV=development
ASPNETCORE_ENVIRONMENT=Development
ASPNETCORE_URLS=http://127.0.0.1:4173
DATABASE_CLIENT=sqlite
SQLITE_PATH=./data/exam.sqlite
HOST=127.0.0.1
PORT=4173
# 可选 Redis。普通接口缓存使用 DB 0;配置 REDIS_URL 后,登录状态默认自动使用独立的 DB 1。
# 未设置任何 Redis 地址时,接口缓存和认证状态均使用本机内存模式。
@@ -20,40 +19,6 @@ PORT=4173
# 如需让认证状态使用另一台 Redis,可设置独立地址;URL 中可直接指定逻辑 DB。
# REDIS_SESSION_URL=rediss://session-redis.example.com:6379/1
# 原生 ASP.NET Core 认证切换。迁移期间默认关闭;生产环境开启时必须配置共享 Redis,
# 以便尚未迁移的 Node 受保护接口识别由 ASP.NET Core 创建的会话。
AUTH_NATIVE_ENABLED=false
# 第一批考生只读接口切换;必须与 AUTH_NATIVE_ENABLED=true 同时使用。
CANDIDATE_NATIVE_ENABLED=false
# 第一批管理端只读接口切换;必须与 AUTH_NATIVE_ENABLED=true 及共享 Redis 同时使用。
ADMIN_NATIVE_READS_ENABLED=false
# 学校、班级、管理员维护及自主注册开关切换;同样要求原生认证和共享 Redis。
ADMIN_NATIVE_ORGANIZATION_WRITES_ENABLED=false
# 批量报名号申领、审批与账号生成;必须同时启用管理端只读接口。
ADMIN_NATIVE_ACCOUNT_BATCHES_ENABLED=false
# 报名号规则与审批流程定义维护;必须同时启用管理端只读接口。
ADMIN_NATIVE_CONFIGURATION_ENABLED=false
# 通知公告列表、手工公告创建修改及系统公示显隐控制;必须同时启用管理端只读接口。
ADMIN_NATIVE_NOTICE_MANAGEMENT_ENABLED=false
# 考点考场读取、变更提交及审批;必须同时启用管理端只读接口。
ADMIN_NATIVE_CENTERS_ENABLED=false
# 考生档案、报名记录与缴费记录读取;必须同时启用管理端只读接口。
ADMIN_NATIVE_OPERATIONAL_READS_ENABLED=false
# 考生账户归档、密码重置及资料流程审核;必须同时启用考生/报名/缴费读取。
ADMIN_NATIVE_CANDIDATE_MANAGEMENT_ENABLED=false
# 报名审核与缴费状态更新;必须同时启用考生/报名/缴费读取。
ADMIN_NATIVE_REGISTRATION_PAYMENT_WRITES_ENABLED=false
# 工作流收件箱、同级转交与超级管理员监督调整;必须同时启用管理端基础读取。
ADMIN_NATIVE_WORKFLOW_OPERATIONS_ENABLED=false
# 考试创建、修改、发布状态及不可逆归档;必须同时启用管理端基础读取。
ADMIN_NATIVE_EXAM_MANAGEMENT_ENABLED=false
# 准考证全场预检、编排应用、批量打印及 Excel 考务材料;必须同时启用管理端基础读取。
ADMIN_NATIVE_ARRANGEMENTS_ENABLED=false
# 成绩工作区、成绩录入发布、特征分、复议及成绩台账导出;必须同时启用管理端基础读取和业务读取。
ADMIN_NATIVE_RESULTS_ENABLED=false
# 指标资格、招生账户、志愿设置、计划审核、投档录取、报到补录与退档监督。
ADMIN_NATIVE_ADMISSIONS_ENABLED=false
# 仅在首次创建空数据库时使用。部署前务必修改初始密码。
INITIAL_ADMIN_USERNAME=admin
INITIAL_ADMIN_PASSWORD=Admin123!
@@ -78,7 +43,7 @@ PUBLIC_SITE_HERO_DESCRIPTION=使用学校下发的报名号登录,完成密码
PUBLIC_SITE_FOOTER_NOTICE=本平台展示数据仅用于系统演示
# MySQL 8.4 生产环境:将 DATABASE_CLIENT 改为 mysql,并配置以下变量。
# NODE_ENV=production
# ASPNETCORE_ENVIRONMENT=Production
# DATABASE_CLIENT=mysql
# MYSQL_HOST=127.0.0.1
# MYSQL_PORT=3306
@@ -86,7 +51,7 @@ PUBLIC_SITE_FOOTER_NOTICE=本平台展示数据仅用于系统演示
# MYSQL_PASSWORD=replace-with-a-strong-password
# MYSQL_DATABASE=exam_information
# MYSQL_CONNECTION_LIMIT=10
# HOST=0.0.0.0
# ASPNETCORE_URLS=http://0.0.0.0:4173
# 也可以用单个连接地址替代全部 MYSQL_* 连接参数:
# DATABASE_URL=mysql://exam_app:password@127.0.0.1:3306/exam_information