详解HFBPM开发框架(中)
详解HFBPM开发框架(中)
数据库结构也就是数据字典,常见的做法是把表结构放在excel或者word里,但是这种方法有个弊端,实时性不强,修改了表很容易忘记更新文档,或者顾不上更新文档,往往在项目初期数据字典和数据库还是一致,到了中后期,没人去更新文档了。把数据字典的功能加到框架上,用程序来读取表结构,甚至修改表结构,统一管理,确保一致性。这种管理方式好处还是很多的,方便分享,方便查询。
表结构管理界面如下图:

一个表的字段管理,如下图,可以直接从数据库中读取表结构,包括列名、类型、长度、是否为空、默认值、是否为主键等信息,不需要逐个手动创建,一切都是为了方便。

前面有了统一查询,是否可以做一个统一提交呢?当然可以,但很少有人这么做。这不太符合软件设计规范,一般一个接口一个功能。比如订单提交,把订单的数据打包成一个json,调用后台的SaveOrder接口,这是常规做法。如果一个接口实现了所有提交的功能,似乎分不清楚。HFBPM框架虽然提供了这个功能,但不提倡这么做,当初设计这个功能也是为了方便,少写后台代码,有点投机取巧了。
既然有这个功能,有必要介绍一下。
统一提交的重点还是配置提交需要的参数,配置提交到那个表,单表提交还是多表提交,主键名字,编号创建规则,数据校验,是否允许删除,是否允许作废等。如下图:

虽然不太提倡这么用,但是如果使用统一提交和统一查询,是不是就不用写后台代码了,只需要前端编写页面就可以了?一个早期的项目为了方便,大量使用了统一提交(见下图),但是在需要精细化控制接口权限的时候,还是要每个业务编写BLL层和Data层。

第三方授权是与微信服务号、微信小程序、企业号、钉钉集成时的登录授权。框架记录每个app的帐号和密钥。如下图:

框架手机版使用h5开发,可以直接与服务号、微信企业号、钉钉等对接,根据各app的OpenId与系统帐号绑定,实现单点登录。
框架还可以与其他第三方系统进行集成,例如奥信OA,用友致远OA等。
集成的功能包括,从第三方系统直接打开业务系统,向第三方系统推送待办任务,推送待办任务处理结果,实时同步任务退回、转办、加签、取消、完成等状态。
与微信服务号集成时,用户绑定管理,如下图:

与微信企业号集成时,用户帐号绑定如下图:

与钉钉集成时,用户帐号绑定如下图:

与澳信OA集成时,用户帐号绑定如下图:

与致远OA集成时,用户帐号绑定如下图:

框架手机版效果如下图:

与第三方系统集成时,特别关心任务和消息是否推送成功,任务的执行结果如何,以便在丢失任务时,有迹可循。
例如与微信企业号集成时,任务消息跟踪如下图:

与澳信OA集成时,任务消息跟踪如下图:

与致远OA集成时,任务消息跟踪如下图:

与钉钉集成时,任务消息跟踪如下图:
最有效的即时消息莫过于短信,这个传统的方式,即使可靠。HFBPM的短信模块支持两个短信通道,一个是亿美通讯的,一个是阿里云的。可以随时切换使用那个通道,每个短信业务也可以单独指定使用那个通道,为啥要弄2个短信通道?也是被逼出来的,运营商短信签名管理越来越严格,经常因为签名问题被拦截,那个通道稳定就启用那个通道。通道切换时,不需要修改代码,管理端配置切换就可以。
短信调用的配置如下图:

每个短信业务定义一个短信的调用配置,如下图:

已发送短信,根据通道短信网关返回发送结果,精准的确定用户是否收到,如下图:



浙公网安备 33010602011771号