migration: preserve startup accounts and system slice
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# 切片 01:启动、HTTP、账号、会员与系统管理
|
||||
|
||||
> 基线:`4083dce`(切片 00 原样可运行副本)
|
||||
> 回档标签:`xiaobai-preservation-slice-01-20260731`
|
||||
> 结论:自动差分通过;前端运行资产未改动,仍等待最终全站人工验收
|
||||
|
||||
## 1. 本次范围
|
||||
|
||||
本切片只整理原版 `app/` 副本中的启动、通用 HTTP、账号、会员和系统管理实现。所有实现均从
|
||||
原文件机械移动,原导入面由兼容外壳保持;没有从冻结的 `next/` 复制产品代码,也没有重新设计
|
||||
页面、接口或数据结构。
|
||||
|
||||
| 原位置 | 新的唯一实现位置 | 兼容方式 |
|
||||
|---|---|---|
|
||||
| `app/server.py` 的进程组装与完整应用服务 | `app/backend/application.py`、`app/backend/bootstrap/runtime.py` | `app/server.py` 继续导出原符号并保持原启动命令 |
|
||||
| `app/server.py` 的 Cookie、鉴权、CSRF、静态文件和 JSON 传输 | `app/backend/http/handler.py` | `RequestHandler` 组合 `HttpTransportMixin` |
|
||||
| `app/server.py` 的账号与会员 HTTP 方法 | `app/backend/features/accounts/http.py` | `RequestHandler` 组合 `AccountHttpMixin` |
|
||||
| `app/server.py` 的系统管理 HTTP 方法 | `app/backend/features/system/http.py` | `RequestHandler` 组合 `SystemHttpMixin` |
|
||||
| `app/server.py` 的账号、会员和出生信息业务方法 | `app/backend/features/accounts/service.py` | `DashboardService` 委托 `AccountService` |
|
||||
| `app/database.py` 的账号、会话、会员与用户凭据方法 | `app/backend/features/accounts/repository.py` | `ReviewDatabase` 组合 `AccountRepositoryMixin` |
|
||||
| `app/database.py` 的系统设置存取方法 | `app/backend/features/system/repository.py` | `ReviewDatabase` 组合 `SystemSettingsRepositoryMixin` |
|
||||
| `app/security.py` | `app/backend/features/accounts/security.py` | 根文件保留原导出 |
|
||||
| `app/app_config.py` | `app/backend/bootstrap/config.py` | 根文件保留原导出 |
|
||||
|
||||
## 2. 不变量与差分证据
|
||||
|
||||
- API:`config/api.config.json` 与 `app/config/api.config.json` 的 SHA-256 相同;路由路径、方法、
|
||||
访问角色、状态码和错误载荷由原注册表与全量测试继续约束。
|
||||
- 数据库:原版和迁移副本均为 36 张业务表、62 个 schema 对象,规范化 schema SHA-256 均为
|
||||
`0615a0423856d0eb02bccd81a071840bd50d6563da96d556cec49967ad8a5f4c`。
|
||||
- 账号边界:注册、登录、会话、密码、会员和出生信息使用临时数据库执行同一原版契约,5 项专项
|
||||
测试全部通过。
|
||||
- 前端:本切片没有修改 `app/static/`;`index.html`、`app.js`、`styles.css` 与根目录原版对应文件
|
||||
哈希相同。`app-light-1920x1080.png` 保存本切片运行截图。
|
||||
- 兼容:原 `python server.py` 命令以及测试和外部模块使用的 `server.DashboardService`、
|
||||
`server.RequestHandler`、`server.SERVICE`、`server.automatic_screener_jobs` 均保持可用。
|
||||
|
||||
## 3. 验证结果
|
||||
|
||||
| 验证 | 结果 |
|
||||
|---|---:|
|
||||
| `python -m unittest discover -s tests -q` | 236 项通过 |
|
||||
| `python -m unittest tests.test_preservation_slice_accounts -v` | 5 项通过 |
|
||||
| `npx playwright test --reporter=dot` | 45 项通过 |
|
||||
| `python -m compileall -q ...` | 通过 |
|
||||
| `git diff --check` | 通过(仅 Git 的 CRLF 提示) |
|
||||
|
||||
Playwright 在自行创建 Python 静态服务器时存在 Windows 子进程退出等待问题;验证时预先启动
|
||||
`127.0.0.1:8876` 静态服务器并由 Playwright 复用,45 项用例在 143 秒内正常返回退出码 0。
|
||||
|
||||
## 4. 保留与待处理
|
||||
|
||||
- `app/backend/application.py` 仍包含其余尚未迁移切片的原版实现,这是刻意保留,不是本切片遗漏。
|
||||
- `app/server.py`、`app/app_config.py`、`app/security.py` 和 `app/database.py` 的兼容面须等所有消费者
|
||||
完成归位后再评估;本阶段禁止删除。
|
||||
- 没有删除任何不确定代码,没有修改正式根目录数据库,也没有切换 Docker/NAS。
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 77 KiB |
Reference in New Issue
Block a user