大屏开发需区分不变架构与可变内容,用模板锁定布局、接口和主题。AI生成EChartsoption和数据转换函数,人负责迭代调参。组件独立、数据分离、option外提、颜色集中管理四条规则确保改动不牵连。ECharts基座兜底loading、error和空数据,保障稳定。
聊大屏开发,得先掰扯明白一件事:它跟咱们平时做的CRUD页面,压根儿不是一回事。
CRUD开发,典型的信息完整、一次搞定。后端把字段和接口都给你了,列表、表单、详情怎么展示,板上钉钉。AI按模板填空,基本就能跑起来。
长期稳定更新的攒劲资源: >>>点此立即查看<<<

大屏呢?信息不完整,还老得改。后端就给个数据源,图表长啥样、颜色对不对、布局怎么调——这些都得靠视觉和业务反复看效果、来回调整。第一版生成出来,真正的开发工作才刚刚开始。
两种场景下,AI的策略完全是两码事:CRUD的重心是“怎么生成对的”,大屏的重心则是“怎么随便改都不炸”。
大屏里,有些东西定下来就基本不改了。另一些呢,整个迭代周期都在反复调整。必须把这两类拆开,才能在稳定的骨架上安心地改。
类型和接口定义:后端给的字段和接口路径,定下来就是死的。这块让AI填空就行——字段映射到TypeScript类型,接口映射到API方法。一次生成,后续只有后端字段变更才需要动。
页面结构拓扑:大屏的Grid布局——上面一排数字卡片,左边一个大折线图,右边上下两个图表——这个布局定了之后基本不变。变的是把里面某个图表换成柱状图或饼图,而不是换掉整个布局骨架。
整体主题:深色还是浅色,主色调是什么,颜色变量集中放在一个文件里。定下来以后,不会一个图表一个色号。
文件结构:每个大屏的文件怎么组织——index.tsx管页面和Grid,store.ts(按需)管数据,components/下每个图表一个文件,utils.ts管数据转换。这种组织方式跨大屏复用,不用每次都重新设计。
ECharts 基座:封装一个组件来处理loading、error、空数据、resize自适应。所有图表组件都基于它渲染,不用每张图单独处理这些状态。这是最重要的安全网——AI生成的option出错,基座能兜底显示“图表渲染出错”,而不是直接白屏。
拿一个实际的大屏来说,用文字描述就是:
页面布局:
┌──────────────────────────────────────────────────────────┐
│Header: 数据大屏 30s 刷新 · 深色 │
├──────────┬──────────┬──────────┬─────────────────────────┤
│StatCard │StatCard │StatCard │StatCard │
│总数 128│金额 5.2亿 │成交 3.1亿 │ 涨跌 +2.3% │
├────────────────────┬──────────────────────────────────────┤
│ │ │
│ 收益率曲线 (折线图) │ ┌────────────────────────────────┐ │
│ │ │ 评级分布 (饼图) │ │
│ 1Y ── 3Y ── 5Y ── │ │ AAA 45% AA 30% A 20% BBB 5% │
│ │ └────────────────────────────────┘ │
│ │ ┌────────────────────────────────┐ │
│ │ │ TOP10 成交 (表格) │ │
│ │ │ 名称│ 金额 │ 涨跌 │ │
│ │ └────────────────────────────────┘ │
└────────────────────┴──────────────────────────────────────┘
对应的组件树:
index.tsx ← Grid 布局骨架
├── StatCards ← 四个数字卡片(复用 ×4)
│ └── StatCard ← 单个卡片组件
├── YieldCurve ← 收益率折线图
│ └── EChartsBase ← option ← 基座兜底三态
├── RatingDist ← 评级分布饼图
│ └── EChartsBase ← option
└── Top10Table ← 成交 TOP10 表格
└── SSearchTable
拆成任务就是:
Task 1 [api] 数据接口 → types.ts + api/index.ts
Task 2 [data-transform] 数据转换 → utils.ts
Task 3 [component-widget] StatCard(1 组件 ×4 实例)
Task 4 [component-chart] YieldCurve
Task 5 [component-chart] RatingDist
Task 6 [component] Top10Table
Task 7 [page-dashboard] 页面骨架 + Store + Grid 组装所有组件
这个拓扑结构定了之后基本不变。迭代改的是“收益率曲线换成面积图”(Task 6内部改option)、“加一个国债期货行情”(新建Task 9图表组件)、“深色主题太暗了”(主题文件统一换色值)。结构不变,内容在变。
图表类型和数量:产品说“加个饼图”、“柱状图换成折线”,改的是图表实例,不是架构。AI生成option对象,人来决定要不要、长什么样。
数据处理和Store结构:数据怎么从API响应转换成图表格式,Store(按需)怎么组织筛选条件和数据切片。大屏的接口数量和嵌套深度不同,数据流模式(简单/中等/复杂)也不同。这不是一次就能定死的,而是随着接口的逐步到位而逐渐明确的。
Option配置:ECharts的option对象——颜色、间距、动画、tooltip格式。这部分让AI直接生成JSON,人看效果再调。
大屏改得最多的就是换图表和调参数。如果改一个图表会牵连其他组件,迭代就变成了排雷。下面这四条规则能守住边界。
图表组件之间不要有互相import。每个图表只被页面组件引用,删除一个组件,就是删JSX里一行代码,再加删一个文件。加新图表也是在Grid里加一行,不碰已有图表。这才是真正的“脱耦”。
图表组件内部不要直接调接口。数据从外面进来——要么通过props传,要么从Store(按需)订阅。数据转换逻辑放在独立的utils.ts里。后端接口字段变了,只改转换函数,图表组件完全不用动。
ECharts的option要抽成独立的变量或函数,别内联在JSX里。改图表配置——折线换柱状,调颜色——只改option定义处,不碰渲染部分。
所有色值都引用一个theme文件,不在组件里硬编码。换主题时只改一处,全局生效。
分工不是按“能不能”来分,而是按“反复次数”和“出错成本”来分。
小调整——改个颜色、换个图表类型、调个间距。这种活儿人手动改更快,让AI读代码加理解上下文再加定位修改点,成本远超手写。
架构决策——数据流用简单模式还是复杂模式、Store要不要分片。这需要人理解整体大屏的接口数量和嵌套关系,AI顶多查个表给个建议。
风格判断——“这个颜色太暗了”、“这个字太小了”。视觉感受这东西,AI做不了。
生成option对象——ECharts的option就是JSON,AI生成JSON的能力完全没问题。给一段文字描述(“折线图,三条线分别是1Y/3Y/5Y收益率,x轴日期,y轴百分比”),AI直接给你出option。
数据转换函数——API返回的字段名和图表需要的格式之间的映射。让AI读types.ts和接口文档,生成转换逻辑。
单个图表大改——“收益率曲线换成面积图,再加一个均线”。这是D2修改路径——定位到YieldCurve.tsx的option变量,替换配置就行。
新图表加入已有大屏——D1修改路径。AI生成新图表组件,人在Grid里加一行引用,不碰已有图表。
改一个间距、调一个色值——打开文件,手动改,保存。就这么简单。
大屏真正的开发时间不在第一次生成,而在后面那无数次反复调整。
| 场景 | 改什么 | 不改什么 |
|---|---|---|
| 加/换图表 | index.tsx Grid区域新增或替换引用 | 已有图表组件、Store、API |
| 改图表配置 | components/{Chart}.tsx 的 option 变量 | Store、API、其他图表 |
| 改主题/颜色 | 主题文件统一替换色值 | 各图表的 option 结构 |
| 加筛选条件 | store.ts 加字段,页面加 FilterBar | 图表组件的数据接收方式 |
| 加/减指标卡片 | index.tsx Grid区域 | Store、已有图表 |
| 改数据源/字段 | types.ts → API → 组件逐层跟踪 | 图表 option 结构 |
每次改动都不能改变既定的数据流模式,也不能牵连其他图表。改一个图表只动一个文件,改布局只动Grid,改数据只动转换函数。这才是理想状态。
AI生成图表代码,有三个地方最容易漏:loading态、error态、空数据占位。你指望AI自觉去“记得加”?十张图表里总有一张要漏。
最简单的解法,就是封装一个EChartsBase组件,内置这三种状态。所有图表都基于它渲染:
option={option}
loading={loading}
error={error}
empty={!data.length}
height={300}
AI不需要记得处理异常——这是基座的活儿。AI只需要正确传props就行,基座会兜底所有异常状态。这才是靠谱的做法,不是靠AI的“自觉”。
大屏AI辅助开发的核心,不是“让AI一次生成对”,而是设计一套让AI“改不坏”的边界。
最终衡量标准很简单:删掉一个图表,页面还能不能跑?改一个数据源,UI要不要动?如果答案是肯定的,那你的架构就对了。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述