数据智能 BI 低代码平台
面向企业数据服务与管理驾驶舱场景,建设可配置化 BI 设计、图表渲染、指标管理、数据标签、模型探查和大屏发布能力。参与两级 BI 设计器建设,维护 JSON 驱动的模板渲染链路,建设 40+ 图表组件注册与异步加载体系,支撑几十家私有云客户的数据智能场景。
设计器的难点不是拖拽
BI 设计器真正难的地方,是让模板 JSON、设计态结构、渲染态协议、图表异步加载、历史记录、多端布局和数据权限长期共存。
JSON 驱动的模板渲染链路
参与两级 BI 设计器建设,维护 JSON 驱动的模板渲染链路,建设 40+ 图表组件注册与异步加载体系。通过 IndexedDB 承载撤销/重做历史,处理 Vue 2 动态配置响应式深合并、多端栅格适配、图表联动和复杂大屏交互。将重复图表与驾驶舱建设沉淀为配置化能力,支撑几十家私有云客户和标准/非标数据智能场景。
我沉淀下来的设计原则
- 设计态允许复杂操作,渲染态必须稳定轻量。
- 模板 JSON 不是数据库字段集合,而是一个需要版本和兼容性的协议。
- 图表组件不能各自为政,要通过注册表、异步加载和统一数据协议接入。
- 撤销/重做、联动、权限和多端布局都要成为设计器的一等能力。
两级设计器模板级布局和图表级配置分离
40+ 组件图表、地图、表格、轮播、Tab、iframe、3D 背景
IndexedDB复杂编辑历史和撤销重做不全压在内存
多端布局PC、移动端、大屏映射不同栅格和配置
| 维度 | 设计态 | 渲染态 |
|---|---|---|
| 目标 | 方便编辑、拖拽、回显和调试 | 稳定加载、快速渲染、少副作用 |
| 状态 | 允许中间态和局部无效配置 | 只消费校验后的模板协议 |
| 组件 | 暴露完整配置面板 | 只关心数据、样式和交互结果 |
type BiTemplate = {
layout: GridLayout[];
theme: ThemeToken;
widgets: Record<string, ChartWidget>;
interactions: InteractionRule[];
datasource: DataBinding[];
viewport: 'pc' | 'mobile' | 'screen';
};配置化平台最怕“什么都能配”。真正可维护的低代码,是让变化进入清晰的模型,而不是把复杂度藏进 JSON。