diff --git a/scripts/gen_overlay_pages.py b/scripts/gen_overlay_pages.py index 9b7dd50..2ff8496 100644 --- a/scripts/gen_overlay_pages.py +++ b/scripts/gen_overlay_pages.py @@ -2,44 +2,93 @@ # -*- coding: utf-8 -*- """生成 M9 覆盖层 12 个页面壳 wwwroot/pbl_overlay/.ui(bricks 纯 JSON)。 -为什么需要:wwwroot/overlay/pbl_overlay_core.js 的 PAGES 注册表 route 指向 +【产物定位:构建产物,不入库】 +wwwroot/pbl_overlay/*.ui 属生成目录,已在 .gitignore 中排除,由 +apps/pbls/build.sh 第 9 步调用本脚本重跑生成(module-development-spec +「CRUD-Generated wwwroot Directories Must Not Be Git-Tracked」/ QC 退回意见 #3 方案 (b))。 +本脚本(生成器)与 wwwroot/i18n/*/msg.txt(文案事实源)才是入库的交付物。 + +为什么需要页面壳:wwwroot/overlay/pbl_overlay_core.js 的 PAGES 注册表 route 指向 `/pbl_overlay/.ui`,play.js 的 pageUrl() 会拼成 -`/pbl_scense_ext/pbl_overlay/.ui`;页面壳文件不存在则导航即 404(QC #3)。 +`/pbl_scense_ext/pbl_overlay/.ui`;页面壳文件不存在则导航即 404。 页面壳职责(只做壳,不做业务渲染): 1. 打 `data-pbl-page=""` + `data-pbl-overlay-root="1"` 标记 —— play.js hostPageKey() 据此识别当前页、boot() 据此挂载覆盖层根节点; -2. 提供 `script` actiontype 按钮调用 `PblOverlayLoader.start({page:...})`, +2. 每个文案节点带 `data-pbl-i18n=""`,正文内嵌中文(首屏零请求可读); + loader.js 在切换语言时按 msg.txt 覆盖同名节点(i18n 单一事实源); +3. 提供 `script` actiontype 按钮调用 `PblOverlayLoader.start({page:...})`, 由 loader 按需注入 core/transport/play JS 与 CSS(不在 .ui 里硬写