Complete scoped notification composition and recipient selection, and add the React personal timetable with week navigation, integrated exam and experiment entries, exports, and calendar subscription lifecycle management.
53 lines
2.2 KiB
Markdown
53 lines
2.2 KiB
Markdown
# 明序校园 React 迁移应用
|
|
|
|
这是现有 Vue 前端的并行迁移工程。迁移完成并通过验收前,`web/` 仍是正式发布前端,`web-react/` 不覆盖 `src/Jiaowu.Api/wwwroot`。
|
|
|
|
## 本地运行
|
|
|
|
先在仓库根目录启动 API,然后在此目录执行:
|
|
|
|
```powershell
|
|
npm.cmd install
|
|
npm.cmd run dev
|
|
```
|
|
|
|
访问 `http://127.0.0.1:5174/next/`。Vite 会把 `/api` 和 `/health` 转发到 `http://localhost:5255`。
|
|
|
|
生产构建检查:
|
|
|
|
```powershell
|
|
npm.cmd run build
|
|
```
|
|
|
|
## 当前范围
|
|
|
|
- React、TypeScript、Vite、React Router 基础工程;
|
|
- Ant Design 主题和项目设计令牌;
|
|
- 与 Vue 版本兼容的本地会话键、刷新 Token 和 401 处理;
|
|
- 账号密码、验证码和 TOTP 登录;
|
|
- 权限感知的应用外壳;
|
|
- 读取真实 `/api/dashboard` 数据的首个页面;
|
|
- 完整迁移 `/account` 的身份信息、TOTP 和统一身份绑定流程;
|
|
- 完整迁移 `/users` 的分页筛选、Excel、账号、角色、状态和密码管理流程。
|
|
- 迁移 `/notifications` 的收件箱、已读回执、权限范围/筛选/指定收件人群发和已发送记录;
|
|
- 迁移 `/my-timetable` 的周视图、考试与实验融合、Excel/PDF/ICS 导出和日历订阅管理。
|
|
|
|
## 迁移纪律
|
|
|
|
1. 不因前端迁移修改后端业务合同;确需修改时必须单独评审。
|
|
2. 每个页面迁移前登记路由、角色、API、写操作、查询参数和移动端行为。
|
|
3. 页面只有在正常、空数据、异常、无权限和移动端状态都通过后才可标记完成。
|
|
4. 未完成的页面返回 Vue 稳定版本,不提供半成品写操作。
|
|
5. React 成为默认前端前,必须验证 PWA、Capacitor、SSO、TOTP、Passkey、文件导入导出及发布回滚。
|
|
|
|
## 迁移批次
|
|
|
|
| 批次 | 内容 | 状态 |
|
|
| --- | --- | --- |
|
|
| 0 | 工程、主题、会话、登录、应用外壳 | 进行中 |
|
|
| 1 | Dashboard、Users、Account、Notifications、个人课表、移动端代表页 | 已实现,进入联调验收 |
|
|
| 2 | 标准 CRUD 与基础数据模块 | 未开始 |
|
|
| 3 | 学生、教师与审批工作台 | 未开始 |
|
|
| 4 | 选课、排课、成绩、实验等复杂模块 | 未开始 |
|
|
| 5 | PWA、Capacitor、发布切换与清理 | 未开始 |
|