首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一种低代码平台的设计思路:以菜单体系组织业务能力

一种低代码平台的设计思路:以菜单体系组织业务能力

原创
作者头像
驰骋工作流程
发布于 2026-10-25 10:18:17
发布于 2026-10-25 10:18:17
160
举报

本文从产品设计与代码结构出发,说明如何用带类型的菜单替代页面画布,组织单据、实体、字典、视图、大屏与流程能力,并说明其适用边界。

基于菜单体系的低代码平台设计

低代码概念很多,立场也不尽相同。本文从产品设计与代码结构出发,介绍该低代码开发平台(简称 该低代码平台)的核心思路——基于菜单体系构建应用,供选型与实施参考。力求客观描述能力边界与工程实现,不代替读者做结论。


一、先说结论:该低代码平台如何理解「低代码」

行业里对低代码的解释常见有几类:拖拽页面、表单设计器、流程引擎、模型驱动、DSL 配置等。它们都有道理,但侧重点不同。

该平台的立场是:开发一个业务系统,本质上是在拼装一组功能入口(菜单);每个菜单对应一类工具,解决一类问题。应用不是「画出来」的一张大页面,而是由若干类型明确的菜单有效堆积而成。

因此,该低代码平台的产品骨架不是「页面画布」,而是 菜单体系:

层级

含义

代码中的载体

系统(System)

一个应用/子系统

GPM_System / MySystem

模块(Module)

功能分组

GPM_Module

菜单(Menu)

具体功能入口,带类型(MenuModel)

GPM_Menu,字段 MenuModel

创建菜单时,平台通过向导(GPN_Menu,「新建积木菜单」)引导实施人员选择工具类型,而不是从空白路由开始手写。


二、核心理念:菜单即工具

2.1 一句话定义

该低代码平台 = 基于菜单体系的低代码开发平台。 每个菜单是一把解决特定功能范围的工具;一个应用系统,是由不同类型的菜单有效堆积出来的。

2.2 为什么强调「类型」

若所有菜单都只是「URL + 标题」,平台只是门户壳子。该低代码平台用 MenuModel 区分菜单语义,例如:

  • Bill:单据列表与编辑
  • EntityNoName:编号名称实体
  • Dict / DictTable / DictTableTree:字典
  • Start / Todolist / Runing:流程入口
  • RptWhite / RptBlue:大屏
  • DBList / GanttDBView:视图
  • SelfUrl / Tabs:页面引用
  • Info / Calendar / NetDisk 等:OA 应用

类型决定:打开哪个 Vue 解析页、绑定哪类后端实体、权限与按钮如何初始化。实施人员选类型,平台生成菜单记录与默认能力,这是「低」的关键来源。

2.3 与「堆页面」的差别

思路

做法

风险

堆页面

每个功能画一页 UI

类型不清,复用难,权限与数据模型各写一套

堆菜单(该低代码平台)

先选工具类型,再配置元数据/组件

需理解分类;高度定制仍要高代码

该低代码平台选择后者:先分类,再堆积。


三、代码结构:菜单体系落在哪里

从前端与后端对照,可大致看到产品边界。

3.1 前端(Vue3)

主目录:前端模块源码目录该低代码平台/

目录

职责

GPM/CCMenu

菜单实体、菜单模型、新建菜单向导 GPN_Menu

CCBill

单据、实体、字典、审核、方法、数据安全等

CCPrj

工程引擎(甘特、任务、模板)

DBView / CCBill/DBList

数据源驱动的列表、左树右表、甘特视图

Windows / BigScreenDesigner / components

信息窗、大屏与图表组件

GenerDBSrc

通用数据源配置

Calendar 等

OA 类能力入口

菜单创建入口集中在 GPN_Menu.ts 的分组定义;类型常量集中在 MenuModel.ts。

3.2 后端(.NET,命名空间 BP.该低代码平台)

主目录:引擎源码模块该低代码平台/,单据相关在 CCBill/。

模块

职责

CCMenu

系统 / 模块 / 菜单 / 权限中心

CCBill

单据、实体、活动表单、方法、模板

CCPrj(WF 侧)

工程模板与实例

Portal / DataV / Rpt

门户窗体、大屏、报表

Dev2Interface该低代码平台

对外创建菜单、单据、实体、大屏等的接口

菜单表核心字段包括:MenuModel、UrlPath(Vue 组件路径)、UrlExt(路由参数)、FrmID / FlowNo、模块与系统归属、是否启用与缓存等。权限通过权限中心(PowerCenter)挂到菜单上。

3.3 与流程引擎的关系

该低代码平台不是另起一套与 BPM 无关的低代码。流程(该引擎)与单据、实体、工程、大屏共享组织、表单、数据源与权限底座。菜单体系把这些能力 挂到同一应用导航树 上,形成可交付的业务系统。


四、菜单工具箱:按问题分类

新建菜单向导把工具分成若干组。下面按「解决什么问题」说明,便于选型时对照需求。

4.1 流程

问题:审批、公文、请假、订单、物联网等「按节点推进、需留痕」的事务。

工具能力概要:

  • 极简模式 / 专业模式
  • 绑定单表单 / 绑定多表单
  • 导入流程模板
  • 引入单流程组件、引入流程菜单(系统级发起/待办/在途等)

流程菜单类型覆盖发起、待办、在途、抄送、查询等,可按「指定流程」细化,避免所有流程挤在同一入口。

4.2 单据(Bill)

问题:报销单、出库单、出门单等——有单号、标题,记录事情经过,偏「叙事文」性质。

特点(与实体区分,见代码与需求文档):

维度

单据

实体(编号名称)

典型字段

BillNo、Title、BillState

No、Name、EntityState

主键

OID

No

性质

流水、事件、过程

主数据、属性说明

流程

可绑定节点、支持审核模式

一般不作为流程主表单

操作:创建单据、引入单据组件、导入单据模板;可选 AI 辅助生成表单。

4.3 实体(Entity)

问题:资产、学生、车辆等——有编号、名称,描述事物属性,偏「说明文」性质。

工具:创建实体、创建树实体、引入实体组件、导入实体模板。

树实体用于组织、分类等层级主数据,与扁平编号名称实体分开建模。

4.4 字典管理

问题:省份、职位、大类小类等「不常变的键值对」。

工具:编号名称字典表、树结构字典表、引入字典维护。

字典与实体的边界:字典偏选项与分类;实体偏可维护的业务对象(可挂方法、权限、关联单据等)。实施时建议按变更频率与业务厚度选型。

4.5 工程(CCPrj)

问题:项目管理、甘特图、任务跟踪、里程碑——与「审批流」不同的进度管理范式。

平台将工程做成与流程对称的一等能力:类别 → 模板 → 实例;菜单上提供新建工程模板、引入工程组件(查询/发起/待办/在途/已完成)。任务可关联流程或单据等处理方式,适合「既要审批又要管进度」的场景。

4.6 活动(建设中)

问题:问卷、外部订单、样表、外部用户信息采集——偏外部分享与采集。

包含表单(调查/申报)、考卷(样表/测评)、流程(订单/审批)等入口,面向外网用户类型与采集次数配置。文档与界面标注「开发中」,选型时宜按当前版本验证后再落生产。

4.7 大屏列表

问题:经营分析、门户信息窗、图形统计。

工具:绑定/创建数据大屏(含可视化设计器项目)、白色风格信息窗、数据源列表、通用列表组件(GLEn)等。

4.8 视图

问题:不新建业务表,而用数据源配置「怎么看数据」。

工具:不分页视图、分页视图、左树右表、二维/三维交叉报表等。适合台账、组织浏览、跨表分析。

4.9 高代码

问题:低代码配不满的定制逻辑——用 TypeScript 全栈配置,按页面模式编程。

平台抽象十余种页面模式(如 Search、Ens、TreeEns、GPN、GL、GanttEns、Tabs、DataV、Rpt2D/3D 等):基类定规则,子类写业务,少量 Vue 解析页统一渲染。菜单向导可把已有高代码组件挂进导航,并提供 AI 辅助生成实体包等能力。

低代码与高代码在同一菜单树共存:标准能力配置化,例外能力代码化,而不是二选一。

4.10 页面引用

工具:自定义 URL 菜单、Tabs 页面容器。用于接入外部系统或把多个页面收进标签容器。

4.11 工具视图

工具:实体从表、单据从表、流程从表。把从表数据提升为独立查询入口,便于明细台账与对账。

4.12 OA 应用

工具:信息发布、日程、日历、记事本、知识库、工作日志、网盘、自定义消息提醒等。偏办公配套,可按需挂到应用菜单,减少重复造轮子。


五、搭建一个应用的典型路径

下面用「菜单堆积」描述一条常见实施路径(非唯一标准):

代码语言:javascript
复制
1. 建系统 / 模块(导航骨架)
2. 主数据:字典 + 实体(必要时树实体)
3. 业务流水:单据(及从表)
4. 审批:流程(绑定表单)+ 引入流程菜单
5. 进度类:工程模板 + 引入工程组件(如需要)
6. 查询分析:视图 / 交叉报表 / 大屏
7. 办公配套:OA 菜单(如需要)
8. 缺口:高代码组件或自定义 URL 补齐
9. 按菜单配置权限中心(可见、可操作)

每一步对应向导里的一类工具;交付物是「可导航、可授权、可运行」的菜单树,而不是零散页面文件。


六、技术特征(选型时可核对)

以下特征可从代码与运行行为核实,便于与其他低代码产品对比。

  1. 菜单模型驱动 MenuModel + UrlPath/UrlExt 决定运行时解析方式,而不是仅存一个外链。
  2. 业务对象三分 单据 / 实体 / 字典字段模型与生命周期不同,减少「一张万能表」带来的混乱。
  3. 流程与工程双引擎 审批流与项目进度分轨,又共用菜单、组织与表单基础设施。
  4. 数据源统一 列表、视图、部分报表与大屏可走通用数据源配置,降低直连库表的散落 SQL。
  5. 低代码 + 高代码同树 配置菜单与 TS 页面模式菜单挂在同一 GPM 体系下,扩展路径清晰。
  6. 权限挂菜单 菜单级权限中心与组织模型联动,适合按岗位/部门控制入口与数据范围(具体策略需按项目验证 DBSafe 等配置)。
  7. 模板与引入 各分组普遍提供「创建 / 引入组件 / 导入模板」,强调复用而非重复搭建。

七、适用与边界(客观说明)

较适合的场景

  • 以流程、单据、主数据、台账、报表为主的企业内部系统
  • 需要快速组装「系统→模块→菜单」并分级授权的交付
  • 团队能接受「先选工具类型再配置」的实施方法
  • 存在一定二开需求,希望高代码与低代码共存

需要谨慎评估的边界

  • 重度个性化 UI:大屏与表单可配,但强品牌定制前端仍可能落到高代码或外部页面
  • 活动/外部分享等标注「开发中」的能力:上线前需用目标版本实测
  • 纯移动端原生体验、复杂物联网实时场景:需结合现有移动端与集成方案单独评估
  • 学习成本:分类清晰的代价是实施人员要理解单据/实体/字典/视图等概念,否则容易选错工具

低代码不能消灭分析与建模;该低代码平台把建模结果映射为菜单类型与元数据,而不是承诺「零概念零培训」。


八、小结

关于低代码,每个人都可以有自己的立场。该平台通过该低代码平台给出的一种工程化解释是:

  1. 开发系统 ≈ 堆积有类型的菜单
  2. 每个菜单是一类问题的专用工具
  3. 菜单体系之上,再谈表单、流程、大屏、视图与高代码

若你正在做低代码选型,不妨用三个问题对照任意平台(包括该低代码平台):

  • 应用的一等公民是「页面画布」还是「功能菜单/模型」?
  • 业务对象是否区分流水(单据)与主数据(实体/字典)?
  • 配置能力用尽时,扩展是另起炉灶,还是仍挂在同一菜单与权限体系下?

本文基于当前仓库中的菜单向导、MenuModel 与 前端模块源码目录该低代码平台、BP.该低代码平台 结构整理,供参考;具体能力以你所使用的产品版本与实测为准。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 基于菜单体系的低代码平台设计
    • 一、先说结论:该低代码平台如何理解「低代码」
    • 二、核心理念:菜单即工具
      • 2.1 一句话定义
      • 2.2 为什么强调「类型」
      • 2.3 与「堆页面」的差别
    • 三、代码结构:菜单体系落在哪里
      • 3.1 前端(Vue3)
      • 3.2 后端(.NET,命名空间 BP.该低代码平台)
      • 3.3 与流程引擎的关系
    • 四、菜单工具箱:按问题分类
      • 4.1 流程
      • 4.2 单据(Bill)
      • 4.3 实体(Entity)
      • 4.4 字典管理
      • 4.5 工程(CCPrj)
      • 4.6 活动(建设中)
      • 4.7 大屏列表
      • 4.8 视图
      • 4.9 高代码
      • 4.10 页面引用
      • 4.11 工具视图
      • 4.12 OA 应用
    • 五、搭建一个应用的典型路径
    • 六、技术特征(选型时可核对)
    • 七、适用与边界(客观说明)
      • 较适合的场景
      • 需要谨慎评估的边界
    • 八、小结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档