# 当前原型部署与恢复 ## 预览 在仓库根目录执行: ```bash docker compose -f docs/design/prototypes/customer-miniapp/compose.yml up -d --wait ``` 当前入口:/miniapp/app(nginx),4303/app为直连。4301/phone为品牌展示中同一套作品,4302为后台。 4303默认端口可用MINIAPP_PREVIEW_PORT调整;4304配置在Compose中。不同端口浏览器模拟数据各自独立,本次不迁移也不清除。 固定屏幕393×852、顶部59+44、iframe393×749,系统横条覆盖显示。演示控制位于手机外。/morandi仅为内部运行时,不用裸运行时做桌面尺寸评审。 ## 修改与重建 CSS/HTML只读挂载即时生效;server.mjs或warm-theme.mjs改动需要restart preview。nginx配置改动后校验并restart navigation-proxy。后端重建导致IP变化时也需重启代理。 编译TSX使用已有基础镜像(原始依赖见source/dingwei-meat-market/和deploy/docker/Dockerfile),默认生成home-news: ```bash docker run --rm --network none --user "$(id -u):$(id -g)" \ -e STUDY_VARIANT=home-news --entrypoint node \ -v "$PWD/docs/design/prototypes/customer-miniapp/runtime:/study" \ -v "$PWD/docs/design/prototypes/customer-miniapp/source/dingwei-meat-market:/upstream:ro" \ dingwei/customer-miniapp-prototype:preferred /study/build-origin.mjs ``` 首次需要基础镜像时,在仓库根目录执行: ```bash docker compose -f docs/design/prototypes/customer-miniapp/deploy/docker/docker-compose.yml --profile source-debug build ``` 基础镜像内源与只读upstream必须一致,构建器逐文件校验;源码依赖保留。旧origin-app.js产物已退役;共享origin-base.css仍是当前依赖,不能删除。原图与品牌母图也不是缓存。 早期4300基础源预览已停止,原Compose仅保留source-debug profile供显式调试/构建,不再默认启动为候选作品。基础镜像不删除。 ## 验证 设置PLAYWRIGHT_MODULE为本机已安装Playwright绝对路径后运行: ```bash node docs/design/prototypes/customer-miniapp/verify-navigation-study.mjs node docs/design/prototypes/customer-miniapp/verify-package.mjs node docs/design/prototypes/customer-miniapp/verify-viewport.mjs node docs/design/proof/experiments/fresh-market/presentation.test.mjs node docs/design/prototypes/customer-miniapp/runtime/verify-week-model.mjs node docs/design/prototypes/customer-miniapp/runtime/verify-cards-model.mjs node docs/design/prototypes/customer-miniapp/runtime/verify-origin-source.mjs node docs/design/prototypes/verify-cleanup.mjs ``` 检查范围见各脚本;浏览器几何通过不代表微信真机或生产业务通过。 ## 边界与回退 服务仅GET/HEAD,资源白名单,未做真实认证,只供受控网络评审。公开旧候选已撤;常用旧入口重定向当前版,其他退役资源返回404。 历史恢复清单见../cleanup-manifest.json,基线f894dc7。请在独立目录恢复检查,避免覆盖当前工作。停预览可使用本Compose的stop,不删除数据;本轮不触碰镜像缓存、docs_bak、账户或其他项目。