1、角色设定: 请你扮演一名资深的全栈架构师和UI/UX设计师。我是电力行业的,现在需要开发一个收入与成本监控-预警系统。 输入材料: 我将以XMind思维导图的形式,上传/提供该系统的功能设计文档。这份导图包含了所有核心模块、子功能以及业务逻辑链路。 任务目标(分步执行): 请你严格基于我提供的XMind内容,按以下步骤推进: 解析与梳理: 深度解析XMind中的节点层级,将思维导图的“关键词”转化为标准化的产品功能结构树。 界面原型生成: 根据梳理出的功能结构,生成一个高保真的可视化后台管理界面预览(如果支持代码,请生成HTML/CSS/JS代码;如果只支持绘图,请生成ASCII布局或对应的SVG/图表布局)。 核心要求: 界面必须包含一级目录的核心模块,布局要偏工业级/企业级风格,强调数据的可视化(图表、状态灯、列表)。 交付标准: 先给我看到可运行的界面展示(在一个HTML文件或清晰的渲染图中)。 暂时不要编写后端逻辑或数据库连接代码,目前阶段仅做静态展示和交互演示。 确认界面符合XMind逻辑且我验收通过后,我再向你提供真实API数据源进行联调。2、代码完成后要通过自检门禁
AVL Code 生成于 2026/6/25 10:06:50关键点:
我需要:
让我先确认一下当前工作区的情况,看看是否有XMind文件存在。
另外注意到:
E:\AVL code策略:
让我先检查一下工作区。
还有一个 .parse_xmind.py 脚本(1227字节),是用户之前可能用过的解析脚本。让我先看一下这个解析脚本的逻辑。
接下来要做的:
工作流程:
让我先看一下 .parse_xmind.py 和 XMind 文件本体。
收到!XMind 文件已经在 attachments/收入与成本监控预警系统.xmind(352KB)。我先解析它,然后按你的要求做"功能结构树 → 高保真静态界面 → 自检门禁"。
先看现有解析脚本和文件结构。
但是 fs.exec 的 cd 似乎有点问题,shell 用了 sh 而不是 cmd。让我直接用 Python 调用解析脚本。
工作目录是 E:\AVL code,但 fs.exec 不允许绝对路径。让我用相对路径。
根:收入与成本监控-预警系统
一级目录(核心模块):
收入管理(d2 子模块):
成本管理(d1,目前为空——需要基于XMind的精神占位) 进度管理(d1,目前为空——需要基于XMind的精神占位) 系统配置(d2 子模块):
接下来需要做的:
由于:
我需要规划:
功能结构树(一级 + 核心二级 + 关键三级):
1收入与成本监控-预警系统2├── 综合分析中心3│ ├── 收入-成本-利润总览4│ ├── 关键指标预警5│ └── 综合报表6├── 收入管理7│ ├── 数据源与预处理(后台)8│ │ ├── 物料编码预处理9│ │ ├── 货架成本补充10│ │ └── 维保预算补充11│ ├── 收入看板12│ │ ├── 收入综合看板13│ │ │ ├── 合同数量及合同额合计14│ │ │ ├── 产品与服务收入分布15│ │ │ └── 合同台账表16│ │ ├── 产品与维保收入看板17│ │ ├── 交付服务产品收入看板18│ │ └── 驻场服务收入看板19│ ├── 合同台账20│ └── 产品销售台账21├── 成本管理22│ ├── 成本看板23│ ├── 成本明细24│ └── 成本归集25├── 进度管理26│ ├── 项目进度27│ └── 交付里程碑28├── 预警中心29│ ├── 阈值配置30│ ├── 预警规则31│ └── 预警记录32└── 系统配置33 ├── 物料编码及对照规则管理34 ├── 产品树与成本配置管理35 ├── 用户与权限管理36 └── 数据源管理
实际上从XMind 来看,XMind 没有"预警中心"这个节点,它是隐含在"收入与成本监控-预警系统"标题里的。让我严格按 XMind 树来(不臆造新模块),只对"综合分析中心"、"成本管理"、"进度管理"这些空节点做"占位+电力行业典型子项"的合理补充(标记为"建议补充"或"XMind空节点-按行业惯例占位")。
设计风格:
我准备生成的页面:
按用户要求"先给我看到可运行的界面展示(在一个HTML文件或清晰的渲染图中)"——一个 HTML 文件最佳。
为了不让一个文件太大难以维护,我考虑:
然后自检门禁:python -m ruff check + python -m pytest + semgrep
工作流:
让我现在先解析 XMind 的 content.json 看完整结构,并设计 pytest。然后生成 HTML。
让我先查看 content.json 看看是否有更多元数据(颜色、超链接、优先级、备注等): XMind 树拿到了。结构梳理一下:根 = 收入与成本监控-预警系统,5 个一级模块(综合分析中心/收入管理/成本管理/进度管理/系统配置),其中"收入管理"展开了 4 个二级、十几个三级;其他 4 个一级目前是空节点(XMind 中没具体子项)。我接下来要:
先看 content.json 全貌,再规划。
让我直接写一个完整的 xmind_parser.py: 好,content.json 是标准 XMind JSON(sheet→rootTopic→children.attached 嵌套)。先写解析器 + 测试。
接下来生成高保真 HTML 页面(单文件、含 ECharts、hash 路由多页面)。
设计要点:
/#/dashboard — 综合分析中心(KPI 卡 + 趋势 + 预警 + 收入成本结构)/#/income/dashboard — 收入综合看板/#/income/product — 产品与维保收入看板/#/income/delivery — 交付服务产品收入看板/#/income/onsite — 驻场服务收入看板(占位)/#/income/contract — 合同台账/#/income/product-ledger — 产品销售台账/#/income/preprocess — 数据源与预处理(后台操作)/#/cost — 成本管理(占位 + 关键指标卡)/#/progress — 进度管理(占位)/#/alert — 预警中心(基于 XMind 隐含概念:"预警系统"在标题里)/#/settings/material — 物料编码及对照规则管理/#/settings/product-tree — 产品树与成本配置管理/#/settings/users — 用户与权限管理/#/settings/datasource — 数据源管理注意:XMind 中"成本管理"、"进度管理"是空节点(没有子项),但作为一级模块占位是合理的。"预警中心"不在 XMind 里,是"收入与成本监控-预警系统"标题暗示的二级隐含——但用户没明确说要,我自己就不臆造新的顶级模块。我把"预警中心"挂到"综合分析中心"下面,作为综合分析中心的子视图,这样不破坏 XMind 树结构。
设计"成本管理"和"进度管理"的占位页:给出 XMind 中尚未定义、本期需业务方补全的提示,并以"建议补充"的方式给出工业级电力行业典型子模块(如:成本管理 = 成本看板/成本归集/成本明细/同比分析;进度管理 = 项目里程碑/交付进度/收款进度/项目风险)。这样既忠于 XMind,又给出工业级参考实现,避免空白页。
为了控制单文件大小但保留"高保真",我会:
让我开始写 HTML: 14/14 测试通过 ✅。功能结构树 L1=5、L4=18,业务已展开到颗粒度。
接下来生成高保真 HTML。设计要点:
文件结构:
prototype/index.html考虑到单文件可能很大(>50KB),我会分两步:
但实际上 fs.write 一次性写入即可,只要总大小在 256KiB 限制内。让我估算:
让我写。我会保留每个页面的 chart 容器 ID。
XMind 数据回顾(用于真实驱动 mock 数据):
让我开始写。我先写个分块的。
考虑 size,我把 JS 用 script 标签内嵌。文件可能接近 50KB 没问题。
开始写: 立刻把文件落地:
我会一次性写入整个 HTML 文件。设计要点回顾:
XMind 真实字段:
我需要写一个相对完整的 HTML。让我开始:
文件结构:
由于文件可能较大(估计 50-80KB),让我分块写,先用 fs.write 写 CSS+HTML 骨架,再用 fs.patch 追加 JS 块。
实际上 fs.write 一次性写就行,硬上限是 256KiB。
让我直接写:
好,现在继续写。第一段:CSS + HTML 骨架。
骨架已写入(14.9KB)。现在追加 JS 路由 + 图表渲染 + 15 个 view 内容
HTML 已写完(14.9KB 骨架 + 25.7KB JS = 40.6KB 完整文件)。现在验证文件完整性并跑自检门禁。
Python 的 shell 转义有问题,换个方式验证:
11 个 view 渲染函数,但 NAV 中有 15 个菜单项。缺少 dashboard、cost、progress、alert 这 4 个 view。让我检查——它们应该在 JS 中定义了才对。可能是我在写 JS 时漏了 VIEWS['dashboard'] 这种写法,或者正则匹配格式不对。
让我检查 HTML 中的 JS 部分
确认问题:VIEWS['dashboard']、VIEWS.cost、VIEWS.progress、VIEWS.alert 这 4 个 view 不在文件中。我记得写了,但可能 fs.write(append=true) 时因为 JS 中的反引号模板字符串导致某些部分被截断了。
让我检查文件末尾,看 JS 是否完整
我看到了——第 280 行附近是 VIEWS.dashboard 的结束部分,但 grep 没匹配到 VIEWS.dashboard 是因为 grep 用的 VIEWS[ 模式,而 VIEWS.dashboard 用的是 . 语法。
让我检查 dashboard、cost、progress、alert 是否确实存在:
4 个 view 都存在!只是正则 VIEWS['xxx'] 匹配不到 VIEWS.xxx 语法。所有 15 个 view 全部就绪。现在跑自检门
pytest 14/14 通过 ✅。ruff 刚才路径传错了(tools tests 中间没加逗号导致被当作一个路径)。让我重新跑 ruff 和 semgrep:
ruff 发现 1 个问题(verify_html.py 的 import os, re 应分两行),semgrep 路径传法有问题。让我修掉 ruff 问题并跑通 semgrep
✅ 自检门禁全部通过!
| 检查项 | 状态 | 详情 |
|---|---|---|
| ruff | ✅ 0 问题 | tools/ tests/ 全部通过 |
| pytest | ✅ 14/14 通过 | XMind 解析器 + 模块完整性 |
| semgrep | ✅ 0 发现 | 290 条规则,5 文件全部通过 |
| HTML 验证 | ✅ 40.6KB | DOCTYPE ✓ / </html> ✓ / ECharts ✓ / 15 view 全 ✓ |
| 文件 | 说明 |
|---|---|
tools/xmind_parser.py |
XMind → 标准化功能结构树解析器 |
feature_tree.json |
解析产出的结构树 JSON |
tests/test_xmind_parser.py |
14 条 pytest(守住 5 个 L1 模块 + 收入管理子模块 + 系统配置子模块) |
prototype/index.html |
高保真单文件原型(40.6KB) |
tools/verify_html.py |
HTML 完整性验证 |
| 菜单 | 页面 | 内容 |
|---|---|---|
| 核心总览 | 综合分析中心 | 4 张 KPI 卡 + 月度柱形图 + 收入分布饼图 + 预警列表 |
| 收入管理 | 收入综合看板 | 时间筛选 + 合同数量/金额/同比 + 月度柱形图 + 产品收入分布表/饼图 + 合同台账滚动 |
| 产品·维保收入 | 产品销售额 + 各产品收入分布表/饼图 + 产品销售台账 | |
| 交付服务收入 | XMind 占位提示(待补充) | |
| 驻场服务收入 | XMind 标注「本期暂不考虑」 | |
| 合同台账 | 13 字段完整表格 + 筛选 + 导出 + 分页 | |
| 产品销售台账 | 产品级台账 + 筛选 + 导出 | |
| 数据源与预处理 | 3 数据源状态 + 6 预处理任务 + 物料编码分列示例 | |
| 成本管理 | 成本看板 | XMind 空节点占位 + 建议补充子模块 |
| 进度管理 | 项目进度 | XMind 空节点占位 + 建议补充子模块 |
| 预警中心 | 预警记录 | 7 条阈值规则 + 8 条预警历史 |
| 系统配置 | 物料编码规则 / 产品树与成本 / 用户与权限 / 数据源管理 | 4 个配置页 |
#080e1a + 电光蓝强调 #1bd1ff + 警示橙 #ffb020✅ 请验收:直接用浏览器打开 prototype/index.html 即可看到完整界面。确认符合 XMind 逻辑后,你提供真实 API 数据源,我进行联调。