# 后台原型预览与维护 项目根目录执行: ```bash python3 docs/design/prototypes/admin-console/workbench/build-design.py python3 docs/design/prototypes/admin-console/workbench/build-stories.py python3 docs/design/prototypes/admin-console/workbench/generate-spec.py .claude/bin/loop-harness scenario generate --module admin-console --root . python3 docs/design/prototypes/admin-console/workbench/build-manifest.py docker compose -f docs/design/prototypes/admin-console/compose.yml up -d --wait # 若容器已在运行且服务程序/白名单变化: docker compose -f docs/design/prototypes/admin-console/compose.yml restart preview ``` 访问 ,4301的后台展示页会加载同一入口。需连接对应网络。这是只读静态原型服务,客户端仅使用合成资料与本地记录;没有真实身份认证或业务接口。 ## 内容边界 `server.mjs`只提供两个资源白名单声明的文件。`workbench-manifest.json`列当前作品与可阅读设计文档;`site-manifest.json`保留旧版资产。`/`指向当前工作台,旧global入口映射到对应新业务功能。旧版回退入口为 `/legacy/proof/signal-study/site/global.html`。 全局tokens仍以`docs/design/tokens/tokens.json/css`为权威,`build-design.py`将CSS原样分发到workbench/tokens.css,供仅挂载模块目录的容器使用;不要编辑这个副本。字体是底座的自托管Noto Sans SC子集,缺字仍由系统回退;完整中文字体覆盖与多平台排版需后续验证。 ## 原型记录与恢复 本地存储键:`dingwei.admin.prototype.workbench.1`。顶部重置先确认,可以下载备份;不影响小程序记录。存储读取失败时暂停写入并提供恢复提示;写入失败不显示成功。旧版site文件没有删除,可切回服务入口恢复旧预览;新记录保持保留。 ## 浏览器验证 永久定义位于`web/e2e/admin-console/`: - `workbench.spec.ts`:逐CASE显式注册;断言在runner.ts,共享参数来自功能目录。 - `critical.spec.ts`:独立编写的费用边界、资金与业务门禁、恢复、范围和并发窗口检查。 - `projection.spec.ts`:直接字段、等待核验与未知结果的摘要映射检查。 - 生成器只注册已声明CASE,不生成通过结论。 使用已安装的`@playwright/test`运行;长期配置为`web/e2e/admin-console/playwright.config.cjs`,可通过`PW_CHROMIUM`指定浏览器、`PW_WORKERS`指定并行数、`PW_RESULTS`/`PW_ARTIFACTS`指定产物。支持环境变量 `DINGWEI_ROOT` 和 `PREVIEW_URL`。测试前置只创建隔离合成数据,不执行受测动作。运行产物与实际结果见VERIFICATION.md。 本轮临时验证环境放在`/tmp/dingwei-admin-tools`,没有引入产品依赖或改系统共享库。可用其配置复跑: ```bash NODE_PATH=/tmp/dingwei-admin-tools/node_modules \ LD_LIBRARY_PATH=/tmp/dingwei-admin-tools/libs/extracted/usr/lib/x86_64-linux-gnu \ /tmp/dingwei-admin-tools/node_modules/.bin/playwright test \ --config /tmp/dingwei-admin-tools/playwright.config.cjs ``` 正式工程仓的包管理、CI与产品测试命令未在本轮建立,不把临时原型测试环境当作正式工具链。 通用复跑入口(已装浏览器和Playwright): ```bash PREVIEW_URL=http://127.0.0.1:4302 npx playwright test --config web/e2e/admin-console/playwright.config.cjs ``` 独立设计检查: ```bash python3 docs/design/prototypes/admin-console/workbench/verify-static.py python3 docs/design/prototypes/admin-console/workbench/verify-preview.py # 同样使用已安装的Playwright;PW_CHROMIUM可选。 PREVIEW_URL=http://127.0.0.1:4302 node docs/design/prototypes/admin-console/workbench/verify-layout.mjs ``` 布局产物默认写入`/tmp/dingwei-admin-layout-check`,可设置`LAYOUT_OUTPUT`。资源校验前应先生成manifest并重启预览以载入新增白名单;生成manifest不改变浏览器业务实现。 报告验收(要求完整一轮,无跳过或重试,并核对输入指纹): ```bash python3 docs/design/prototypes/admin-console/workbench/verify-browser-report.py /path/to/playwright-results.json ``` `tested-inputs.json`应在测试开始前捕获。不能在测试之后为修改过的产品文件重写该基线,也不能合并中断轮次来声称完整一轮通过。