Files
xiaobaifupan/app/docs/migration/evidence/slice-01/README.md
T

58 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 切片 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。