初次切换前端架构

This commit is contained in:
2026-07-23 19:59:15 +08:00 Unverified
parent 4780ca88d0
commit 6fd468d9e0
19 changed files with 2507 additions and 6 deletions
+19 -3
View File
@@ -1,6 +1,6 @@
# 衡准 · 考试信息管理系统
一个完整可运行的分级权限考试信息管理系统,后端使用 ASP.NET Core 10;本地开发采用 SQLite,生产环境支持 MySQL 8.4。
一个完整可运行的分级权限考试信息管理系统,前端使用 Vue 3 + Vite后端使用 ASP.NET Core 10;本地开发采用 SQLite,生产环境支持 MySQL 8.4。
## 已实现功能
@@ -85,15 +85,28 @@
## 运行
需要 .NET 10 SDK。
需要 .NET 10 SDK、Node.js 20.19+(推荐 Node.js 24)和 npm
```powershell
Set-Location .\src\Eis.Web\ClientApp
npm ci
npm run build
Set-Location ..\..\..
dotnet restore .\Eis.slnx
dotnet run --project .\src\Eis.Web\Eis.Web.csproj
```
打开 <http://127.0.0.1:4173>。
日常开发主页时,可以让 ASP.NET Core 继续监听 `4173`,另开一个终端启动 Vite
```powershell
Set-Location .\src\Eis.Web\ClientApp
npm run dev
```
然后打开 <http://127.0.0.1:5173>。Vite 会把 API、旧业务模块、CKEditor 和基础样式代理到 ASP.NET Core。当前采用渐进式迁移:Vue 已接管应用入口与公开首页;考生中心、管理后台、招生学校端及其他公开子页继续通过兼容入口按需加载,业务行为保持不变。生产构建输出到 `src/Eis.Web/wwwroot/vue-app`,不得手工修改该目录中的文件。
账户可在“账户安全”中启用 TOTP 二次验证。生产环境必须设置至少 32 个字符的 `TOTP_ENCRYPTION_KEY`;该值用于加密 TOTP 密钥并保护恢复码哈希,部署后必须稳定保存,不能随意更换。本地开发未设置时会使用仅适合开发的稳定派生值。
生产环境还必须单独设置至少 32 个字符的 `DOCUMENT_VERIFICATION_SECRET`。系统用它为成绩单和录取通知书生成 HMAC 防伪查询码;更换该值会使此前下载文书的查询码失效,因此应独立生成、稳定保存且不得与 TOTP 密钥共用。
@@ -373,7 +386,10 @@ src/Eis.Application 应用服务契约
src/Eis.Infrastructure SQLite/MySQL、认证、缓存、Excel 与业务实现
src/Eis.Tools 可独立发布的数据库初始化、重建和演示数据工具
src/Eis.Web ASP.NET Core 宿主、端点和静态资源
src/Eis.Web/wwwroot 浏览器入口、样式、前端模块及 CKEditor
src/Eis.Web/ClientApp Vue 3 单文件组件、Vite 配置与前端源码
src/Eis.Web/wwwroot/vue-app Vue 生产构建产物
src/Eis.Web/wwwroot/js 渐进迁移期间保留的业务模块
src/Eis.Web/wwwroot 浏览器入口、基础样式及 CKEditor
tests/Eis.Infrastructure.Tests xUnit 自动化测试
scripts/publish.ps1 Web 与数据库工具统一发布脚本