|
|
1 settimana fa | |
|---|---|---|
| .. | ||
| common | 1 settimana fa | |
| README.md | 1 settimana fa | |
| __init__.py | 2 settimane fa | |
app_frontEnd/)职责:v2 工作台单页与交互、图表库、经典页模板、门户与静态页装配、设计系统与界面文案(双语文案语言包 + 显示层术语)
允许依赖:app_common
对外公开面:common/app_frontEnd_guanlan/api.py —— 模块间调用只许走这里(scripts/module_boundary_audit.py 机器检查)。
目录(P5 起,2026-09-28):
common/app_frontEnd_guanlan/
api.py 公开面(10 个公开名,其中 9 个在本模块内)
assets/ app.js · app.css · charts.js · favicon.svg · classic_chart.js(经典页图表脚本)
pages/ shell.html(v2 外壳)· build.py(出页)· snapshot.py(单文件烘焙)
classic.py + classic_{fleet,problem,turbine}.html(从 serve.py 抽出的经典页模板)
design.py 设计系统 CSS 单一来源(serve/静态页/台页共用)
lang.py 双语文案语言包(一条文案一个 key)
terms.py 显示层术语映射(内部说法 → 现场说法)
builders/ portal_build.py(门户装配)· portal_fix_anchors.py(锚点修复)· portal_inject_claims.py(结论段注入)
迁移状态:P5 已完成(2026-09-28) —— 13 件实体迁入本模块;旧路径全部留兼容壳:
src/windscada/ui/{build,snapshot}.py、src/windscada/{design,lang,terms}.py(模块别名壳,python -m 也照旧)、
scripts/{portal_build,guanlan_portal_fix_anchors,guanlan_portal_inject_claims}.py(CLI 壳)。
本轮实逮:① 资源件(js/css/svg/html)无壳可留,按路径读它们的审计器必须同步改(detail_deps、pages_audit、
guanlan_baseline_manifest、audit_chinese_terms、check_portability 的 ALLOW 键、configs/registry.yaml 的 consumers);
② 迁入 builders/ 后 __file__ 上跳层数变了 ⇒ 取根统一走公共层 install_root();③ 服务类脚本的模板常量可以抽成
真资源件 + 只读装载器,但装载必须 newline=''(否则 CRLF 翻译会改掉模板字节)。
验收:build.render 四种组合与 design 两段 CSS 逐字节等于迁移前;serve.py 四个模板常量(CHARTJS/PAGE*)
与三张经典页渲染逐字节一致;scripts/portal_build.py --verify 装配结果与 20.19 MB 门户逐字节一致;
服务重启后门户 / /detail/v2 / /ops / /cms/ 页面体 sha256 与迁移前一致;全门禁 rc=0。
归口说明(2026-09-28 用户裁):语言包与显示层术语归前端(只有出页器与后端 cli.py 的"语言包闸"用它们);
英文投影层 ui_en / i18n_en / data_tpl_en / en_text 仍在既有路径(后端 serve.py 的数据层英文投影在用),归口待裁。
依据:
docs/重构方案_模块化_v0.1.md(用户令 2026-09-22:只重构目录与接口、零行为变化、逐版本可回滚)。