简介:JNPF产品功能使用手册_v3.4.2.pdf是福建引迈信息技术有限公司发布的JNPF软件开发平台官方操作手册,面向平台使用者、二次开发人员及系统实施人员,用于快速掌握平台功能与正确配置方法。手册按模块详细展开:在线开发涵盖表单设计、列表设计、流程设计与结果展示;门户设计说明新建门户与展示方式;大屏设计包含大屏管理、地图管理、分类管理和数据源管理;代码生成分别介绍功能表单与流程表单的生成方法;系统管理进一步覆盖系统配置、系统公告、系统调度、系统日志及系统监控等运维功能。手册还配有清晰的目录结构,便于读者按需查阅。资源为单个PDF文件,大小约40.01MB,内容完整;发布以来已有1341人学习。对使用JNPF低代码平台搭建在线应用、设计大屏或进行后台管理配置的读者而言,这是一份实用的操作参考。
1. JNPF 3.4.2 上手:这本手册真正帮你解决什么问题
拿到这本 JNPF 软件开发平台 V3.4.2 操作手册时,我第一反应是翻到了“在线开发”那一章。做低代码平台的实施和运维最怕的不是功能太多,而是文档把操作步骤写在明处,坑却藏在暗处。这份手册恰好把表单、列表、流程、大屏、系统管理串成了完整链路。它适合正在选型低代码平台的开发者、刚接手 JNPF 项目的实施人员,以及在平台上维护业务表单的运维同学。核心价值只有一个:在不看业务源码的前提下,把一套带流程、带权限、带数据接口的业务系统完整搭起来并交付。
2. 在线开发:把表单、列表和流程串成一条可落地的链路
2.1 表单设计:单表、多表和主键策略先想清楚
功能设计是整个 JNPF 的入口。在在线开发目录下进入功能设计页面,第一件事是点左上角“新建表单”,JNPF 会弹出表单、列表、流程三种类型的选择。这里有个容易忽略的地方:基础设置里的数据连接决定了后续表结构怎么生成。
如果未设置数据连接,流程新建完成后会自动建表,主表以“mt+功能ID”命名,子表以“ct+雪花ID”命名。我一般不建议在正式环境里依赖这个默认命名,因为一旦功能删了重建,功能ID变了,表名就变了,关联关系容易乱。常见做法是先在数据建模里把表结构设计好,再回到功能设计里通过“新增一行”按钮去绑定已有的数据库表。
选择数据表时可以从数据连接下拉里选数据库,支持单表或多表。多表的情况下必须配置子表的外键字段和关联主键,否则主表和子表之间只是各自存在,流程提交时子表数据根本不会跟着写进去。我这里整理了一张表单基础设置的参数表:
| 配置项 | 说明 | 建议 |
|---|---|---|
| 数据连接 | 选择目标数据库连接 | 先建连接再绑表 |
| 主表命名 | 未绑定时自动为 mt+功能ID | 正式环境建议手动绑定 |
| 子表命名 | 未绑定时自动为 ct+雪花ID | 同上 |
| 主键策略 | 雪花ID / 自增长ID | 涉及跨库合并选雪花ID |
| 并发锁定 | 开启后加乐观锁机制 | 高并发表单建议开启 |
主键策略必须在流程保存前定好,保存后不可修改。之前接手一个订单管理类的 Demo,刚开始图省事选了自增长ID,后来要合并多个环境的数据,撞主键撞得头疼。从那以后凡是带流程的表单,我一律先选雪花ID。配置完基础设置后点击下一步进入表单设计页面,左侧控件区域拖拽控件到画布,右侧配置属性。如果已经绑定了表,需要在“控件字段”下拉里关联对应的表字段。下拉控件字段时支持快捷新建字段,弹出的窗口里会展示当前数据表已有字段,这些字段不能修改,只能新增。
多表设计时支持副表加子表、两个副表或两个子表。副表和普通字段的区别在于,选择控件后要在右侧“数据库表”里选择关联副表,再关联对应控件字段。子表则要先拖“设计子表”控件,在右侧组件属性里关联子表数据源,关联完成后才能往子表区域里拖控件。顺序反了,子表区域永远拖不进去控件。
2.2 列表设计:查询字段与按钮权限怎么配合
新建功能时选“列表”,实际是“表单+列表”的组合。基础设置和表单设计的配置方法与纯表单一致,列表设计是多出来的部分。桌面端和移动端在列表设计里是分开切换的,这点经常被忽略——桌面端列表配好了,移动端打开还是空白。
列表设计要区分三类字段:列表字段决定表格展示哪些列,查询字段决定列表页顶部能按什么条件筛选,按钮权限决定列表操作区里出现哪些按钮。我的习惯是列表字段只放业务上需要直接看到的核心列,比如订单号、状态、金额;查询字段按高频检索项来配,比如单号、时间范围;按钮权限里的“新增”“编辑”“删除”要和角色管理里分配的菜单权限做区分,两处叠加才是最终效果。
V3.4.2 里功能设计增加了高级查询和行内编辑。行内编辑可以不用点进详情页直接改列表字段,但有个前置条件:表单里对应字段必须允许编辑,且列表设计里勾选了行内编辑开关。如果配了没生效,先回表单设计里看看这个字段的只读属性是不是勾上了。
列表设计配置完成后,与表单设计一起点击确定保存。功能设计列表里能看到这条记录,更多操作在“结果展示”里统一管理,包括查询、重置、刷新、导入、新建表单等入口。这里的导入指的不是导入数据,而是导入配置好的表单模板,多人协作时可以直接复用别人设计好的功能定义。
2.3 子表传递与动作设置:远端数据联动的配置参数
子表是 JNPF 表单设计里最容易翻车的部分。先明确一点:子表不是拖一个“子表控件”就完事,而是先在基础设置里添加子表数据源,然后在表单设计中选中“设计子表”控件,在右侧组件属性里关联子表,关联完成后才能往子表区域里拖控件。
子表支持合计设置和动作设置。合计设置开启后,流程使用时子表下方会展示合计栏,合计字段来源是子表内的单行输入、数字输入、计算公式类型字段,可以多选。我通常会加一个计算公式字段做金额合计,再把合计项选上,这样审批人在详情页一眼就能看到总金额。这里要注意,下拉选择、单选这些控件类型是不能参与合计的。
动作设置是 V3.4.2 新增的“子表传递”能力。它解决的是这个场景:在子表里点击“添加数据”,弹窗从远端接口拉数据回来自动填充子表。配置时先选一个数据接口,接口的数据源要在“数据应用→数据接口”里提前建好。接口参数会自动展示到参数设置区域,然后下拉表单字段做映射。接口返回的数据会根据参数先做一次筛选,筛选结果再映射到子表的表单字段上。
这里要特别注意“列表字段”和“关联字段”两个配置区域的区别:列表字段控制弹窗里展示哪些列,关联字段控制弹窗选定数据后,把接口返回的哪些值填到子表的哪些字段上。映射来源支持接口字段和固定值,固定值场景比如批量录入时给某些字段默认打上一个批次号。我配置时一般先测一遍接口返回样例,确认字段名和类型,再去做关联映射,避免配完之后弹窗选不到数据。
2.4 组件事件脚本:下拉联动、显隐与必填的 JavaScript 写法
组件属性里支持自定义事件,有“发生变化时触发”和“失去焦点时触发”两种。手册里给的例子是下拉选择控件的四种联动效果,我直接把它转成可运行的 JavaScript 示例,配好控件字段名就能用:
// 假设下拉控件字段名为 selectType,目标控件字段名为 a、b、c、d // selectType 变化时触发本次事件 var type = this.getValue('selectType'); // 读取当前下拉值 if (type === 'a') { this.setValue('a', 1); // 等于 a 时,给 a 控件赋值 1 } else if (type === 'b') { this.setValue('b', 2); // 等于 b 时,给 b 控件赋值 2 } else if (type === 'c') { this.setVisible('c', false); // 等于 c 时,隐藏 c 控件 } else if (type === 'd') { this.setRequired('d', true); // 等于 d 时,d 控件必填 }这段脚本的关键在于事件绑定在“发生变化时触发”,且脚本里所有控件字段名必须和表单设计中实际配置的字段名完全一致。setValue、setVisible、setRequired是 JNPF 前端提供的三个常用方法。我遇到最多的问题是把控件显示名称当成字段名写进去,脚本直接抛异常。
除了组件事件,表单属性里还有表单事件:加载触发、提交前置触发、提交后置触发。提交前置触发很适合做整体校验,比如提交前校验主表金额和子表合计是否一致,不一致就返回提示阻止提交。校验失败时返回提示信息,流程不会发起。表单属性里还可以统一配置表单尺寸、标题宽度、表单样式、表单宽度,这些是整表单级别的 UI 控制项。组件样式里的控件栅格和标题宽度则控制单个控件在画布上的占位,多端显示里可以分别控制桌面端和移动端展示。
3. 流程设计:审批人、节点事件与超时提醒的完整配置思路
3.1 流程设计的三段式:基础信息、表单设计、流程设计
工作流程模块里,流程设计是核心入口,分三段:基础信息、表单设计、流程设计。基础信息里设置流程名称、所属分类、表单绑定。注意流程绑定的表单必须是之前在线开发里已经建好的“流程类型”表单,普通表单是绑不进来的。绑定后如果表单有改动,流程里需要重新选择生效,否则发起时拿到的还是旧版本。
表单设计这一段和在线开发里的功能设计类似,但它是流程专属的表单配置。流程里用到的子表、合计、动作设置都在这一段配置。流程设计这一段是画流程图:审批节点、条件分支、子流程、抄送节点、结束节点。连线规则决定流转方向,条件分支按表单字段值判断走哪条线,比如金额大于 10000 走总经理审批,否则直接结束。
V3.4.2 的流程节点配置里有几个新东西:审批设置里增加了候选人配置、保存草稿、节点事件、子表合计、审批汇总、流程评论、子流程同步异步。节点事件可以理解为在节点审批通过、驳回、转交流程时触发一段脚本或调用一个数据接口。审批汇总则是在多审批人的节点,把每个人的审批意见汇总展示给发起人。
3.2 审批设置:候选人、自动同意与多级审批的取舍
审批人设置是所有流程表单里花时间最多的地方。候选人配置需要区分几种来源:指定人员、按角色、按部门主管、按发起人。我第一次配置时在“候选人”里选了角色,结果流程到了节点上审批人列表为空,查了半天发现是角色里没有成员。配完一定要去用户管理确认这个角色至少挂了一个有效用户。
V3.4.2 新增了自动同意能力。自动同意适合“规定时限内未处理则视为同意”的场景,和超时提醒配合使用。我一般这样处理:普通审批节点配超时提醒,每天提醒一次;重要节点开自动同意,并设置超时后自动通过并流转。自动同意的开关在节点的高级设置里,如果开启后要能追责,一定要把审批日志打开,操作日志里能看到系统自动通过的时间点和原因。
多级审批的取舍取决于业务对“层层把关”的硬性要求。我见过把三级审批配成三个独立节点导致整个流程走完要一周的案例,后来改成单节点多候选人加会签,时间砍了一半。如果只是需要知会,用抄送节点而不是审批节点,抄送节点不阻塞流程。流程审批过程中还支持保存草稿,发起人填到一半可以存草稿,下次从“我发起的”里继续编辑。
3.3 子流程同步异步与流程委托
子流程是流程复用的一个手段。比如请假申请里要触发费用报销的子流程,可以把它配置成子流程节点。子流程有同步和异步两种模式:同步模式会等子流程全部走完再回到主流程,异步模式则发出子流程后主流程继续往下走。配置时要注意,同步模式下子流程如果有异常,主流程会被阻塞;异步模式则需要在子流程回调里做状态同步,否则主流程不知道子流程结果。
| 模式 | 主流程是否阻塞 | 适用场景 | 异常影响 |
|---|---|---|---|
| 同步子流程 | 是 | 结果必须确认后才能继续 | 子流程异常会阻塞主流程 |
| 异步子流程 | 否 | 仅发起,不依赖结果 | 主流程正常,需回调同步 |
流程委托适合代审批场景。在“流程委托”菜单里,用户可以把某段时间内自己的待办委托给其他人。流程委托是整段委托,不是单个节点。如果只想部分节点代审,应该在节点候选人配置里临时换人。委托配置后可以在“已办事宜”里看到委托记录,便于追溯。
3.4 流程监控:超时提醒、流程复活与异常处理
流程监控是流程管理员的入口,能看到所有发起中的流程实例。V3.4.2 在这里加了两个重要能力:流程复活和异常处理。
流程复活用于处理“流程卡住”的场景。比如 A 节点审批人离职,又没有委托和转办,流程就卡住了。常见做法是在流程监控里对这个实例执行“流程复活”,重新指定节点审批人,让流程继续走下去。复活操作会写入系统日志,所以不用担心操作不可追溯。
异常处理则是在流程运行报错时的兜底。比如某个节点事件脚本调用的数据接口挂了,流程会标记为异常状态,监控列表里能看到失败原因,管理员可以直接终止或重试该节点。我处理过最多的异常是接口入参类型不匹配——脚本里传了字符串,接口要求数字,节点事件直接抛错。遇到这种情况先看数据接口的参数类型定义,再回节点事件脚本里调整类型转换。
超时提醒的配置在节点通知里,可以设置提醒对象和提醒频率。搭配企业微信或短信通知时,提醒消息的模板在“系统模板→消息模板/短信模板”里维护。所以想让超时提醒真正发出去,模板必须先配好,否则提醒事件触发后没有渠道发送。流程监控列表里建议过滤出“异常”状态的数据,优先处理,避免线上流程积压。
4. 系统管理与权限:把数据权限和菜单权限彻底理清楚
4.1 系统配置:安全设置、登录方式与超级管理员
系统配置是平台全局的入口,重点看三块:基础设置、安全设置、第三方设置。基础设置里包含系统名称、登录页信息、默认密码策略等。安全设置里控制登录方式:账号密码、图形验证码、锁定账户策略。V3.4.2 增加了图形验证和登录方式配置,生产环境我建议开启图形验证码,并且把连续失败锁定次数设成 5 次,锁定时长 30 分钟,能有效减少撞库。
超级管理员配置要小心。超级管理员是平台最高权限账号,不受菜单权限和数据范围限制。手册里把超级管理员单独列在第三方设置之后,说明它和普通管理员是隔离的。不要用超级管理员去配日常业务权限,否则所有数据权限排查都会失去意义。第三方设置里是单点登录、企业微信、钉钉之类的对接,对接前先确认回调地址和密钥写对,这类问题排查起来最费时间。
系统配置往下还有系统公告、系统调度、系统缓存、系统日志、系统监控、系统图标。系统公告在 V3.4.2 里支持指定发送人员范围,可以按组织、角色、用户精确推送。系统调度里增加了内部方法类型,适合定时清理数据或者定时调用某个数据接口做数据加工。系统日志里重点看操作日志,所有配置变更都能在这里找到痕迹。
4.2 系统菜单:按钮权限、列表权限与表单权限的边界
系统菜单是权限的核心配置地。新建菜单时要把菜单类型、菜单名称、对应功能或页面地址配好。V3.4.2 里系统菜单增加了子系统,可以挂多个子系统,每个子系统下面再挂菜单树。同步菜单是这里最高效的功能:在线开发里新建的功能列表,可以一键同步到系统菜单里生成菜单项,不用手工逐个建。
菜单配置时有四种权限开关容易混淆,这里列一张表:
| 权限类型 | 控制内容 | 典型用途 |
|---|---|---|
| 按钮权限 | 页面内按钮是否显示 | 控制新增、删除等操作入口 |
| 列表权限 | 列表字段是否可见 | 控制列级字段展示 |
| 表单权限 | 表单字段是否可编辑/可见 | 控制表单字段级操作 |
| 数据权限 | 数据行级过滤 | 控制能看到哪些记录 |
我遇到最多的配置错误是在按钮权限里删掉了“编辑”按钮,结果用户点进详情页还能改字段。这是因为按钮权限管的是页面按钮,表单权限管的是详情页字段可写性,两处是叠加关系,只配一处都会漏。V3.4.2 后菜单权限字段去掉了手输方式,改为下拉选择,减少权限键拼写错误的问题。
4.3 数据权限:按组织、岗位、用户分级过滤
数据权限控制的是行级数据,比如销售只能看到自己创建的订单,部门主管能看到整个部门的数据。配置入口在系统菜单里的“数据权限”标签,规则类型支持按组织、按岗位、按用户、按自定义条件等。
我一般这样配:普通录入人员设“仅本人”,部门级人员设“本部门”,分管领导设“本部门及以下部门”。这里有个容易翻车的点,数据范围里的“组织”取的是发起人当前的组织归属,不是流程节点所处组织。如果一个用户被分配到多个组织但主组织没设置,数据权限取不到值,列表就是空白的。
用户管理里有一个归属组织字段,配置数据权限前一定要逐个确认主组织正确。批量导入用户时,组织归属字段也会跟着导入,导入前必须检查 Excel 里的组织路径和系统里完全一致,否则导入后用户跑到错误的组织下,列表数据权限直接失效。角色管理和分组管理要配合使用,角色管菜单权限和数据范围,分组管通讯录或特定业务场景的人员集合,两者不要混为一谈。
4.4 数据应用:数据接口与接口认证的配置细节
数据应用下是数据连接、数据建模、数据字典、数据接口、接口认证、数据同步、行政区划的组合。在线开发里绑定的数据库表,在数据建模里维护;数据字典支撑下拉框选项;数据接口专门给流程节点事件、子表动作设置、大屏数据源调用。
接口认证是 V3.4.2 新加的模块。对外暴露数据接口时,要配置认证方式,常见的做法是 App Key + App Secret + 签名。配置时要确认接口认证的作用范围是某个数据接口还是某一类接口。之前遇到过接口认证配置好后,大屏数据源一直拉不到数据,排查后才发现是大屏调接口时没有把认证参数带进请求头。接口认证的典型参数如下:
| 参数 | 说明 | 配置位置 |
|---|---|---|
| App Key | 应用标识 | 接口认证模块生成 |
| App Secret | 应用密钥 | 接口认证模块生成 |
| 签名算法 | 按参数拼接后加密 | 接口认证模块展示 |
| Token 有效期 | 过期后需重新获取 | 接口认证模块配置 |
数据同步则是在多个数据源之间做定时搬运,比如把 SQL Server 的数据定时同步到 MySQL。同步任务配置好后,先手动执行一次,确认同步行数和目标表数据量一致,再打开定时调度。行政区划则是内置省市区数据,用于地址类的下拉级联,如果没有特殊要求直接用系统自带即可。
5. 避坑记录:JNPF 里让我翻车的五个典型问题
5.1 问题一:流程发起后数据没有写入关联表
现象:基础设置里绑定了多张表,流程提交提示成功,但列表页查不到新增的数据。
原因:多表关联时只选了数据表,没有配置子表的外键字段和关联主键。主表和子表之间没有外键关联,子表数据在流程保存时无法定位到主表记录,主键冲突时整个事务回滚,表现为提交成功但库里没数据。另一种情况是表单控件没有关联控件字段,提交时字段值为空,主表插入失败被事务回滚。
解决:回到功能设计的基础设置里,检查多表选择区域下方的外键字段和关联主键是否已配置。我一般会取主表的雪花ID作为主键,外键选子表里对应的主键字段,两者类型必须一致。再回表单设计里逐控件确认“控件字段”已选表字段。改完保存功能,重新发起一条流程验证,如果还不写入,去系统日志里看 SQL 异常,异常信息会直接指出哪个字段出错。
5.2 问题二:子表合计栏不显示
现象:子表开启了合计设置,但流程表单运行时底部没有合计栏。
原因:合计字段来源只支持单行输入、数字输入、计算公式三种类型,如果子表里的金额字段用了文本或下拉控件,合计栏不会计算。还有一种情况是合计字段没有选在任何子表行上,系统认为没有可合计的列。
解决:把子表里需要参与合计的字段全部改用数字输入或计算公式类型。计算公式字段可以配置表达式,比如单价乘数量,再把该字段加入合计。配置完成后回到表单设计里预览,确认合计栏出现。要注意合计栏只会在有数据行时显示,空子表不显示合计,这不算 bug,是正常表现。
5.3 问题三:移动端控件消失
现象:桌面端表单正常,App 打开表单时某些控件看不到。
原因:组件样式的“多端显示”里,该控件的移动端勾选被取消了。V3.4.2 的桌面端和移动端已合并设计,但在表单设计中仍然可以按端别控制控件展示。
解决:在表单设计里选中消失的控件,右侧组件样式的多端显示里勾选“移动端”。顺便检查表单属性里是否有整表级别的移动端隐藏设置。这个问题最适合用预览功能提前发现,而不是等 App 打包后再验证。如果是一整块区域消失,优先检查是否选中了子表控件并且子表控件本身在多端显示里没勾移动端。
5.4 问题四:并发提交导致数据覆盖
现象:两个用户同时打开同一个单据修改并提交,后提交的人把先提交的人的数据覆盖了。
原因:表单属性里的并发锁定没有开启,乐观锁机制未生效。JNPF 的并发锁定实现方式是给数据加版本号,提交时比对版本,不一致就拒绝提交。这个开关默认不开启,需要业务上明确有并发编辑风险时才打开。
解决:在表单设计里找到表单属性,开启并发锁定。开启后保存功能,重新发起新流程才生效,老流程实例不受影响。冲突提示最好配得明确一点,让用户知道去刷新页面重新操作,而不是反复点提交按钮。提示文案可以用表单属性里的自定义提示,写“单据已被他人修改,请刷新后重试”。
5.5 问题五:接口认证一直失败
现象:大屏或子表动作设置调数据接口,一直提示认证失败或 401。
原因:接口认证配置了 App Key,但调用时请求头里没带认证信息,或者签名规则不一致。也有可能是数据接口的数据源连接断开,导致每次请求都拿不到数据,系统误报为认证失败。
解决:先到系统日志里看失败原因,不要瞎猜。如果日志明确是 401,到数据应用→接口认证里复制完整的认证参数,再到调用的地方核对请求头。如果是平台内部调用,检查数据接口的调用地址里是否包含了认证参数;如果是外部系统调用,让对接开发按接口认证页面给的签名规则重算一遍。排查完认证之后,再去数据连接里测试一下数据库连通性,双重确认。
6. 验证与验收:交付前我习惯跑完的检查清单
6.1 验收清单:从表单、列表到流程按顺序过一遍
每次在 JNPF 上交付一个功能模块,我会按固定顺序做一遍验收,顺序错了容易白忙。第一步是表单设计,检查所有控件字段是否和数据库表字段对应上,重点看子表的合计和动作设置。第二步是列表设计,确认查询字段、列表字段、按钮权限在桌面端和移动端都符合预期。第三步是流程设计,发起一条完整流程,走完所有审批节点,确认每个节点的候选人都能正常收到待办。第四步是系统菜单,确认同步出来的菜单按钮权限、列表权限、表单权限和数据权限四层叠加后的效果。最后一步是数据接口,用接口认证参数调一次真实数据,确认返回结构符合页面预期。
| 顺序 | 检查点 | 判定标准 |
|---|---|---|
| 1 | 表单字段对应关系 | 每控件已选控件字段,多表外键完整 |
| 2 | 列表设计 | 查询、展示、按钮两端一致 |
| 3 | 流程完整跑通 | 所有节点审批人可收到待办 |
| 4 | 权限叠加效果 | 菜单、按钮、数据范围符合角色定义 |
| 5 | 接口真实调用 | 返回结构、认证参数、数据量正确 |
6.2 日志与监控:交付前最后看一眼这几个地方
验收完功能,别急着交付。回系统管理里看三处:系统日志里的操作日志、待办事宜、流程监控。操作日志里能看到用户实际进行的操作是否产生异常,流程监控里看已完成、进行中、异常状态的实例分布,待办事宜则用于检查是否有多余的历史待办残留。从那以后我每次交付 JNPF 项目都强制走一遍这个清单,不再依靠“发布即完成”的经验主义。这套检查顺序如果你只能记住一句话,那就是:表单字段对应关系永远是根,流程跑通的验证永远不能跳。如果你正在 JNPF 上接手项目,把这份 v3.4.2 手册存一份在本地,遇到节点配置问题时翻目录比搜代码快得多,希望帮到你。
本文还有配套的精品资源,点击获取