Skip to content

Phase 93 — 低代码平台设计

版本: v4.5.0 创建日期: 2026-03-10 状态: ✅ 已实现


一、模块概述

Phase 93 实现企业级低代码应用构建平台,支持可视化拖拽设计器、15种内置组件、多数据源连接(REST/GraphQL/DB/CSV)、应用版本管理与一键回滚,使非技术人员也能快速构建业务应用。

1.1 核心目标

  1. 可视化构建: 拖拽式App Builder,支持页面布局、表单、图表等15种内置组件
  2. 数据源集成: 统一连接REST API、GraphQL端点、数据库和CSV文件
  3. 版本管理: 应用设计稿自动版本化,支持历史回溯和一键回滚
  4. 发布与导出: 应用预览、一键发布、导出为独立包

1.2 技术架构

┌───────────────────────────────────────────────────────┐
│               Low-Code Platform                        │
│                                                        │
│  ┌──────────────────┐  ┌───────────────────────────┐  │
│  │  App Builder      │  │  Component Registry        │  │
│  │  可视化拖拽设计器  │  │  15种内置组件(表单/图表   │  │
│  │  页面布局引擎     │  │  /表格/容器/按钮/文本等)  │  │
│  └──────────────────┘  └───────────────────────────┘  │
│  ┌──────────────────┐  ┌───────────────────────────┐  │
│  │  DataSource Mgr   │  │  Version Manager           │  │
│  │  REST/GraphQL     │  │  设计稿快照存储             │  │
│  │  DB/CSV连接器     │  │  版本比对与一键回滚         │  │
│  └──────────────────┘  └───────────────────────────┘  │
│  ┌────────────────────────────────────────────────────┐│
│  │              Publish & Export Engine                 ││
│  │  预览沙箱 → 发布部署 → 导出独立包                   ││
│  └────────────────────────────────────────────────────┘│
└───────────────────────────────────────────────────────┘

二、核心模块设计

2.1 AppBuilder (enterprise/low-code/app-builder.js)

可视化应用构建引擎,管理应用生命周期和组件编排。

核心方法:

  • createApp(name, template) — 创建新应用(可选模板初始化)
  • saveDesign(appId, designData) — 保存应用设计稿(自动生成版本快照)
  • preview(appId) — 生成预览沙箱,渲染当前设计
  • publish(appId, options) — 发布应用(生产模式打包)
  • listComponents() — 获取15种内置组件列表及元数据
  • addDataSource(appId, config) — 添加数据源连接(REST/GraphQL/DB/CSV)
  • testConnection(datasourceConfig) — 测试数据源连通性
  • getVersions(appId) — 获取应用版本历史列表
  • rollback(appId, versionId) — 回滚至指定版本
  • exportApp(appId, format) — 导出应用为独立包

2.2 内置组件列表

序号组件类型说明
1Form输入表单容器,支持校验规则
2Table展示数据表格,支持排序/过滤/分页
3Chart可视化图表组件(柱状/折线/饼图)
4Button交互按钮,绑定动作和事件
5Text展示富文本/Markdown渲染
6Image媒体图片展示与上传
7Container布局嵌套容器,Flex/Grid布局
8Tabs布局标签页切换容器
9Modal交互弹窗对话框
10Select输入下拉选择器(静态/动态数据源)
11DatePicker输入日期时间选择器
12FileUpload输入文件上传组件
13List展示列表视图(支持虚拟滚动)
14Stat展示统计卡片(数值+趋势)
15Map可视化地理位置地图组件

三、核心文件

文件说明
src/main/enterprise/low-code/app-builder.js低代码应用构建引擎(核心逻辑)
src/main/enterprise/low-code/low-code-ipc.jsIPC Handler注册(10个通道)

四、IPC Handlers

Channel说明
lowcode:create-app创建新应用(支持模板初始化)
lowcode:save-design保存应用设计稿(自动版本快照)
lowcode:preview生成应用预览(沙箱渲染)
lowcode:publish发布应用到生产环境
lowcode:list-components获取15种内置组件列表及元数据
lowcode:add-datasource添加数据源连接(REST/GraphQL/DB/CSV)
lowcode:test-connection测试数据源连通性
lowcode:get-versions获取应用版本历史列表
lowcode:rollback回滚应用至指定版本
lowcode:export导出应用为独立包

五、数据库表

5.1 lc_apps — 低代码应用表

sql
CREATE TABLE IF NOT EXISTS lc_apps (
  id TEXT PRIMARY KEY,
  name TEXT NOT NULL,
  description TEXT,
  design_data TEXT,          -- JSON: 页面布局和组件树
  datasources TEXT,          -- JSON: 数据源配置数组
  status TEXT DEFAULT 'draft', -- draft | published | archived
  current_version INTEGER DEFAULT 1,
  created_by TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

5.2 lc_versions — 应用版本表

sql
CREATE TABLE IF NOT EXISTS lc_versions (
  id TEXT PRIMARY KEY,
  app_id TEXT NOT NULL,
  version INTEGER NOT NULL,
  design_snapshot TEXT,      -- JSON: 完整设计稿快照
  changelog TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (app_id) REFERENCES lc_apps(id)
);

六、测试覆盖

测试文件测试数量状态
src/main/enterprise/low-code/__tests__/app-builder.test.js23✅ 通过
合计23✅ 全部通过

测试要点

  • 应用创建、保存、预览、发布完整生命周期
  • 15种内置组件注册和渲染验证
  • 数据源连接(REST/GraphQL/DB/CSV)和连通性测试
  • 版本快照自动生成与一键回滚
  • 设计稿JSON序列化/反序列化正确性
  • 应用导出包完整性校验

基于 MIT 许可发布