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

3.8 KiB
Raw Blame History

切片 01:启动、HTTP、账号、会员与系统管理

基线:4083dce(切片 00 原样可运行副本)
回档标签:xiaobai-preservation-slice-01-20260731
结论:自动差分通过;前端运行资产未改动,仍等待最终全站人工验收

1. 本次范围

本切片只整理原版 app/ 副本中的启动、通用 HTTP、账号、会员和系统管理实现。所有实现均从 原文件机械移动,原导入面由兼容外壳保持;没有从冻结的 next/ 复制产品代码,也没有重新设计 页面、接口或数据结构。

原位置 新的唯一实现位置 兼容方式
app/server.py 的进程组装与完整应用服务 app/backend/application.pyapp/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. 不变量与差分证据

  • APIconfig/api.config.jsonapp/config/api.config.json 的 SHA-256 相同;路由路径、方法、 访问角色、状态码和错误载荷由原注册表与全量测试继续约束。
  • 数据库:原版和迁移副本均为 36 张业务表、62 个 schema 对象,规范化 schema SHA-256 均为 0615a0423856d0eb02bccd81a071840bd50d6563da96d556cec49967ad8a5f4c
  • 账号边界:注册、登录、会话、密码、会员和出生信息使用临时数据库执行同一原版契约,5 项专项 测试全部通过。
  • 前端:本切片没有修改 app/static/index.htmlapp.jsstyles.css 与根目录原版对应文件 哈希相同。app-light-1920x1080.png 保存本切片运行截图。
  • 兼容:原 python server.py 命令以及测试和外部模块使用的 server.DashboardServiceserver.RequestHandlerserver.SERVICEserver.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.pyapp/app_config.pyapp/security.pyapp/database.py 的兼容面须等所有消费者 完成归位后再评估;本阶段禁止删除。
  • 没有删除任何不确定代码,没有修改正式根目录数据库,也没有切换 Docker/NAS。