低代码需求文档

9 阅读12分钟

1. 表单设计器需求

表单设计器是用户创建数据录入界面的核心工具,需同时满足业务人员拖拽配置和开发者代码扩展的需求。

1.1 设计器界面

  • 画布:居中区域,实时展示表单布局,支持拖拽调整组件位置。
  • 组件库:左侧面板,分类展示可用组件(基础、高级、移动端、自定义)。
  • 属性面板:右侧面板,选中组件后显示可配置属性。
  • 大纲树:左侧可切换显示表单组件层级结构,方便选择深层组件。
  • 顶部工具栏:保存、预览(PC/移动端切换)、版本历史、代码视图(开发者模式)。
  • 代码视图:支持切换到代码模式,直接编辑表单的 JSON 定义或嵌入自定义脚本。

1.2 组件库

基础组件(零代码通用)

  • 文本输入:单行文本、多行文本、密码、数字输入。
  • 选择类:下拉单选/多选、单选框组、复选框组、开关。
  • 日期时间:日期选择、时间选择、日期时间范围。
  • 文件上传:图片上传、附件上传(支持预览、限制格式/大小)。
  • 布局组件:栅格列(分栏)、卡片、分割线、标签页。
  • 其他:按钮、富文本展示、分割线、描述文本。

高级组件(复杂场景)

  • 子表单:表格形式录入多行数据(如订单明细),支持新增/删除行。
  • 关联选择器:从其他表单的数据中选择记录,支持筛选、分页。
  • 签名面板:手写签名,生成图片保存。
  • 地图定位:选择地理位置,获取经纬度/地址。
  • 评分/滑块:评分、滑块数值选择。
  • 公式字段:只读,根据其他字段自动计算(如总价=单价*数量)。

移动端专用组件(适配手机交互)

  • 底部弹窗选择器:下拉选项在移动端弹窗选择。
  • 图片轮播:展示多张图片。
  • 扫一扫:调用摄像头扫码,填充结果。
  • 地理位置获取:一键获取当前位置。
  • 录音/录像:移动端音视频采集。

自定义组件(低代码扩展)

  • 注册机制:开发者可开发 React/Vue 组件,打包上传后出现在组件库,配置界面可定义属性。
  • 使用方式:业务人员像使用内置组件一样拖拽使用。

1.3 组件属性配置

通用属性

  • 字段名称:标识字段,用于数据存储。
  • 标题/标签:显示名称。
  • 占位提示
  • 默认值:支持固定值、公式(如当前时间)、上下文变量(如当前用户)。
  • 是否必填
  • 是否只读/禁用。
  • 隐藏条件:配置表达式控制组件显示/隐藏(如 {{field1}} === 'A' 时显示)。

校验规则

  • 内置校验:邮箱、手机号、身份证、URL、数字范围、长度限制。
  • 自定义正则:输入正则表达式和提示信息。
  • 异步校验:调用 API 校验唯一性(如用户名是否已存在)。

数据联动

  • 选项来源:下拉框选项可设置为静态数据、数据字典、来自其他表单的数据(关联字段)、API 返回数据。
  • 字段联动:当前字段值变化时,更新其他字段的值或选项列表(例如选择省份后,城市下拉框自动过滤)。

交互事件

  • 事件类型:值变化、获得焦点、失去焦点、按钮点击。
  • 事件动作:执行脚本、调用 API、触发表单提交、打开弹窗、跳转页面等。

1.4 数据源与数据绑定

  • 数据表绑定:表单可以绑定一个数据实体(表),保存时自动写入数据库。
  • 临时数据:不绑定数据表,仅用于流程中的表单数据传递。
  • 数据回填:打开表单时可传入数据 ID,自动填充已有数据(用于编辑详情)。
  • 数据关联:支持从关联表单中读取数据填充到当前字段(如根据客户ID自动带出客户名称)。

1.5 布局与样式

  • 栅格系统:支持 24 栏栅格,组件可设置占据列数,响应式下自动换行。
  • 移动端适配:可单独配置组件在移动端的显隐、占宽比例、是否堆叠。
  • 样式定制:全局主题(主色、圆角、字体),单个组件支持自定义 CSS 类名。

1.6 代码扩展(低代码)

  • 自定义脚本:在表单级别或组件级别编写 JavaScript 函数,用于处理复杂逻辑(如数据转换、动态校验、API 调用)。
  • 生命周期钩子:表单加载前、加载后、提交前、提交后可插入脚本。
  • 自定义组件开发 SDK:提供开发工具包,包含组件接口、平台 API、模拟运行环境。

1.7 移动端适配

  • 画布切换:设计器右上角可切换 PC 和手机画布,手机画布显示手机边框,组件自动适配宽度。
  • 响应式配置:每个组件可分别设置 PC 和移动端的布局参数(占宽、隐藏、排列顺序)。
  • 扫码预览:生成二维码,手机扫码后在真实环境中预览表单交互。

2. 流程设计器需求

流程引擎负责驱动业务流转,需支持可视化编排,同时为开发者提供自动化扩展。

2.1 设计器界面

  • 画布:BPMN 风格或更简化的流程图,支持拖拽节点、连接线。
  • 节点库:左侧列出节点类型(开始、审批、填写、抄送、自动、网关、结束)。
  • 属性面板:右侧配置选中节点的详细信息。
  • 迷你地图:方便导航大流程图。
  • 工具栏:保存、校验、发布、版本管理。

2.2 节点类型

人工任务节点

  • 审批节点:指定人员审批,支持通过/拒绝操作。
  • 填写节点:指定人员填写/修改表单内容,可保存草稿。
  • 抄送节点:通知相关人员查看,无需处理。

自动任务节点

  • 脚本节点:执行自定义 JavaScript 脚本,可访问流程变量和数据。
  • 服务调用节点:调用外部 HTTP API,支持配置请求参数、鉴权、结果解析。
  • 数据操作节点:自动创建、更新、删除数据记录。

网关节点

  • 排他网关:根据条件决定唯一流转分支(例如请假天数>3 走经理审批,否则走主管审批)。
  • 并行网关:所有分支同时执行,等待所有分支完成后汇聚。
  • 包含网关:满足条件的分支并行执行(与排他不同,可多选)。

事件节点

  • 定时事件:到达指定时间或周期性触发。
  • 消息事件:接收外部消息触发流程(如 Webhook 触发)。
  • 信号事件:流程内广播信号,触发其他节点。

子流程

  • 内嵌子流程:在当前流程内展开一段独立流程。
  • 调用子流程:调用独立的另一个流程定义,可传参和接收返回值。

2.3 节点详细配置(以审批节点为例)

  • 审批人设置

    • 固定成员、角色、部门。
    • 发起人上级(支持多级向上查询)。
    • 表单字段指定(如选择“部门经理”字段的值)。
    • 动态表达式(如从组织架构查询)。
  • 多人审批策略

    • 或签:一人通过即通过。
    • 会签:所有人都通过才通过。
    • 顺序投票:按顺序依次审批。
    • 百分比通过(如超过 50% 同意即通过)。
  • 驳回设置

    • 允许驳回节点:可驳回至任意历史节点,或仅驳回至发起人/上一个节点。
    • 驳回后重新提交模式:从驳回节点继续,或重新开始。
  • 字段权限:配置该节点下表单字段的读写权限(详见 3.2)。

  • 表单操作按钮:自定义审批时显示的按钮(同意、拒绝、转办、加签等)。

  • 通知设置:任务产生时发送通知(站内信、邮件、钉钉/企微消息)。

2.4 流程条件与分支

  • 条件表达式:支持基于流程变量、表单字段值的条件判断,语法为 {{form.field1}} == 'value'
  • 条件编辑器:零代码模式提供点选式条件构建器(字段、操作符、值),低代码模式可直接编辑表达式。
  • 默认分支:排他网关可设置默认分支,当所有条件不满足时走默认分支。

2.5 流程变量与表达式

  • 内置变量:发起人、发起时间、流程实例 ID、表单数据。
  • 自定义变量:可在脚本节点或表达式里创建和修改。
  • 表达式引擎:支持在节点配置中使用表达式动态赋值(如设置审批人时使用 {{form.dept}} 的部门主管)。

2.6 低代码扩展

  • 脚本节点:提供代码编辑器(支持语法提示),可编写复杂业务逻辑,访问流程上下文,调用平台 API(如查询数据、发送请求)。
  • 自定义连接器:开发者可开发“连接器插件”,将外部系统 API 封装为可视化节点。例如,封装钉钉机器人连接器,业务人员只需选择“发送消息”动作,填写接收人、内容即可。
  • 服务调用节点高级配置:支持鉴权方式(Basic、OAuth2、API Key)、请求体模板、结果映射到变量、错误重试。

2.7 流程版本管理

  • 版本号:每次修改发布生成新版本,如 v1.0、v1.1。
  • 实例版本隔离:已发起的流程实例继续使用生成时的版本,新发起使用最新版本。
  • 版本对比:支持对比两个版本的差异。
  • 版本回滚:可指定版本为默认版本。

3. 表单与流程集成

表单和流程需紧密配合,确保数据正确流转和权限控制。

3.1 流程绑定表单

  • 每个流程需绑定一个主表单(流程数据载体)。
  • 支持关联多个辅助表单(如子流程表单、数据引用表单)。
  • 流程发起时,表单数据即流程数据。

3.2 节点字段权限

  • 每个节点可配置对主表单字段的权限

    • 可见:是否在任务界面显示该字段。
    • 可编辑:是否允许修改。
    • 必填:是否需要填写才能提交。
  • 权限继承与覆盖:节点默认继承上一个节点的权限,可单独修改。

  • 动态权限:根据条件动态改变字段权限(如金额大于1000时财务字段变为只读)。

3.3 流程数据操作

  • 表单数据更新:填写节点或自动节点可修改表单字段。
  • 数据落库:流程结束时,可将最终表单数据写入绑定数据表(若表单绑定了数据表)。
  • 数据中间状态:流程运行中,数据可暂存草稿,不落库。

3.4 流程历史与意见

  • 审批意见:每个节点可填写意见,意见与节点关联,支持附件。
  • 操作记录:记录每个节点的处理人、时间、动作、意见、表单快照。
  • 流程轨迹图:图形化展示流程历史流转路径。

4. 移动端支持

确保表单和流程在移动端有良好的用户体验,并支持离线场景。

4.1 移动端表单渲染

  • 自动适配:表单在手机端自动采用移动端组件渲染(如下拉变为底部弹窗)。
  • 触摸优化:按钮点击区域增大,支持手势返回。
  • 移动端特有组件:支持调用相机、相册、扫码、地理位置等。

4.2 移动端流程任务处理

  • 待办任务列表:在移动端展示待办任务,支持分类、搜索、筛选。
  • 任务处理界面:加载对应流程节点的表单,字段权限、布局适配移动端。
  • 快捷操作:支持手写签名、拍照上传、语音输入意见。
  • 消息推送:新任务到达时通过 App 推送通知。

4.3 离线能力

  • 离线缓存:打开过的表单和任务数据可缓存到本地,无网络时查看和编辑。
  • 离线提交:离线填写的表单数据暂存本地,网络恢复后自动同步提交。
  • 冲突检测:同步时若数据已被修改,提示用户手动解决。

需求优先级建议(P0/P1/P2)

模块需求项优先级说明
表单设计器基础组件(文本、数字、下拉、日期)P0最常用组件,必须
布局组件(栅格、卡片)P0页面基本布局
组件属性(必填、默认值、隐藏条件)P0基本配置
数据表绑定P0表单数据持久化
移动端画布预览P0支持移动端开发
子表单P1复杂业务需要
关联选择器P1数据关联常见
自定义脚本P1低代码扩展核心
自定义组件注册P2高级扩展
流程设计器审批节点(审批人设置、多人策略)P0核心节点
抄送节点P0基本通知
填写节点P0修改数据
排他网关P0条件分支必须
条件表达式P0分支条件配置
节点字段权限P0关键安全控制
脚本节点P1自动化扩展
服务调用节点P1集成外部系统
并行网关P1复杂流程
子流程P2大型流程复用
表单与流程集成流程绑定表单P0基础集成
节点字段权限配置P0流程级权限
审批意见记录P0审计需要
移动端移动端表单渲染P0支持移动访问
移动端待办任务P0移动办公基础
相机/相册调用P0常用
离线缓存与同步P1复杂但提升体验