数据智能 BI 低代码平台

面向企业数据服务与管理驾驶舱场景,建设可配置化 BI 设计、图表渲染、指标管理、数据标签、模型探查和大屏发布能力。参与两级 BI 设计器建设,维护 JSON 驱动的模板渲染链路,建设 40+ 图表组件注册与异步加载体系,支撑几十家私有云客户的数据智能场景。

设计器的难点不是拖拽

BI 设计器真正难的地方,是让模板 JSON、设计态结构、渲染态协议、图表异步加载、历史记录、多端布局和数据权限长期共存。

JSON 驱动的模板渲染链路

参与两级 BI 设计器建设,维护 JSON 驱动的模板渲染链路,建设 40+ 图表组件注册与异步加载体系。通过 IndexedDB 承载撤销/重做历史,处理 Vue 2 动态配置响应式深合并、多端栅格适配、图表联动和复杂大屏交互。将重复图表与驾驶舱建设沉淀为配置化能力,支撑几十家私有云客户和标准/非标数据智能场景。

我沉淀下来的设计原则

  • 设计态允许复杂操作,渲染态必须稳定轻量。
  • 模板 JSON 不是数据库字段集合,而是一个需要版本和兼容性的协议。
  • 图表组件不能各自为政,要通过注册表、异步加载和统一数据协议接入。
  • 撤销/重做、联动、权限和多端布局都要成为设计器的一等能力。
两级设计器模板级布局和图表级配置分离
40+ 组件图表、地图、表格、轮播、Tab、iframe、3D 背景
IndexedDB复杂编辑历史和撤销重做不全压在内存
多端布局PC、移动端、大屏映射不同栅格和配置
设计态和渲染态必须分开思考
维度设计态渲染态
目标方便编辑、拖拽、回显和调试稳定加载、快速渲染、少副作用
状态允许中间态和局部无效配置只消费校验后的模板协议
组件暴露完整配置面板只关心数据、样式和交互结果
bi-template-contract.tsts8 行
type BiTemplate = {
  layout: GridLayout[];
  theme: ThemeToken;
  widgets: Record<string, ChartWidget>;
  interactions: InteractionRule[];
  datasource: DataBinding[];
  viewport: 'pc' | 'mobile' | 'screen';
};
配置化平台最怕“什么都能配”。真正可维护的低代码,是让变化进入清晰的模型,而不是把复杂度藏进 JSON。
曾迪BI 设计器复盘