# 切片 10:前端 Shell、页面、样式与移动端职责归位 > 基线:`38de3de`(切片 09) > 回档标签:`xiaobai-preservation-slice-10-20260731` > 结论:源码、静态资产、API、数据库、桌面/移动页面及动画差分通过;最终视觉仍等待全站人工验收 ## 1. 原实现归位 本切片只移动和拆分原版前端源码,没有从`next/`取用代码,也没有重写页面、样式、动画、交互或响应式规则。 | 原位置 | 新位置 | 处理方式 | |---|---|---| | `static/index.html` | `app/frontend/index.html` | 原 DOM 骨架,仅调整静态资源路径和拆分脚本加载顺序 | | `static/app.js` | `app/frontend/app.js`、`pages/*/page.js`、`pages/market/runtime.js`、`shared/export.js` | 按连续源码行机械拆分 | | `static/styles.css`等公共样式 | `app/frontend/styles/` | 字节级移动 | | `static/wentian-v2.css` | `app/frontend/pages/heaven/page.css` | 字节级移动 | | `static/ui-core.js` | `app/frontend/shared/ui-core.js` | 字节级移动 | | `static/heaven-loading-v2.js` | `app/frontend/pages/heaven/loading-v2.js` | 字节级移动 | | `static/pages/`、`shared/`、`vendor/` | `app/frontend/`同职责目录 | 字节级移动 | `app/backend/bootstrap/config.py`现在只把静态根目录从`app/static/`切换到`app/frontend/`。原`app/static/`已不再存在,避免形成两套可被误改的前端实现。 ## 2. 源码与静态资产等价 - 原`static/app.js`共 9,283 行,SHA-256 为`c020d0bc68f8a96b352a0ffa62c913a0ea3f5ca0afc41f70969f833e447166a6`。 - 所有拆分文件中的保真源码片段按原行号重组后,SHA-256仍为同一值,9,283行无遗漏、无重排、无内容变化。 - 七层原版样式、问天样式、加载动画、共享脚本、页面注册脚本及Lucide供应商文件在移动后保持字节一致。 - `index.html`的差异仅限资源新路径和两个机械拆分脚本入口;反向替换后与原版逐字符一致。 - 浏览器请求仍只有`shared/api.js`一个`fetch`出口。 - 完整行号映射见`frontend-source-map.json`;拆分工具为`app/tools/split_frontend_runtime.py`,可重复验证但不用于运行时构建。 ## 3. API 与数据库差分 - 同一管理员账号和同一固定日期下,对原版与迁移版执行21个全站只读请求。 - 请求覆盖账号、行情、情绪、轮动、竞价、题材、人气、龙虎榜、选股、问师、问天、复盘与提醒;状态码和规范化业务JSON全部一致。 - 两个数据库副本均包含62个schema对象,schema哈希一致。 - 21张关键表的记录数、顺序和规范化内容逐行一致;`screener_strategies`仅排除每次初始化可能更新的`updated_at`。 - 完整结果见`api-requests.json`、`api-diff.json`和`database-diff.json`,两份差分文件的`all_equal`均为`true`。 ## 4. 真实浏览器差分 - 1920×1080日间模式检查情绪周期、集合竞价、智能选股、观势、观气、观心介绍及观心呼吸。 - 1920×1080夜间模式检查情绪周期的背景、字体、表格、几何和横向溢出。 - 390×844检查情绪周期与观势:移动Shell、底部五入口、页面纵向滚动、无横向溢出及问天特效均一致。 - 观势星空节点90个、观气100个、观心110个;三页八卦节点均为2个。 - 观势与观气保留`wt-tw`和`wt-spin`动画;观心呼吸保留`heart-incense-burn`、`heart-incense-glow`及动态波纹。 - 观气五行行业为5组且默认折叠;观心介绍到呼吸流程可正常进入。 - 原版和迁移版检查流程均未产生新增控制台error或warn。 - 动画帧、焦点框和动态状态文字属于采样瞬时状态,因此截图文件哈希不要求相同;可见布局几何、计算样式、节点、动画名称和交互结果必须一致,本次均通过。 - 两个服务使用相同主机名、不同端口时会共享并覆盖登录Cookie;曾导致迁移版切页被误判为失效。逐服务重新登录后行为一致,该问题属于并行验收环境限制,不是产品回归。 - 机器可读记录见`browser-acceptance.json`,截图均保存在本目录。 ## 5. 自动验证与保留边界 | 验证 | 结果 | |---|---:| | 前端专项测试 | 85项通过 | | 原版`python -m unittest discover -s tests -q` | 231项通过 | | 迁移版`python -m unittest discover -s tests -q` | 294项通过 | | `npx.cmd playwright test --reporter=dot` | 45项通过(2.3分钟) | | 全部拆分后JavaScript执行`node --check` | 通过 | | `git diff --check` | 通过 | - `demo_data.py`、`frontend/heaven-loading.js`、五个疑似无引用前端函数和`wencai_saved_queries`继续保留到切片11逐项审计。 - 没有修改`next/`、正式数据库、Docker/NAS或`8765`服务。 - 自动差分只能证明已检查范围一致;依据迁移总纲,未经用户最终人工确认不得宣称全站视觉已经完全等价。