本帖最后由 luodang2050 于 2019-12-11 11:55 编辑
活字格技术咨询
接触活字格,发现设计模式很方便,扩展也很灵活,也支持单点登陆及集成目前已有平台。就是扩展比较绕。
现需针对数据增删改查底层进行修改,以满足业务需求,详见以下场景描述,并汇总如下问题,内容有点多,但都是用心了,麻烦解答下,深表感谢!另外金牌服务试用申请了多久才能批呢?
1、活字格内置的增删改查行为可否直接在内置接口上开发,还是只能在服务端自定义开发api接口?注:如能在内置接口上改动的话,那将大大方便页面上的设计,否则后面的方案每个页面都要重复设计,工作量挺大的。
2、活字格自带的设计端及服务端操作数据的api,是否与内置的行级及字段级权限控制紧密结合?
3、不同应用的数据表权限能否共用?
4、视图V基于表A及表B,视图V能否继承表A的权限控制?
5、如何通过代码自定义列显示?
6、通过api方式查询表数据,怎么展示到表格中?
7、活字格表格松绑定模式怎么确定每行的状态,如已删除哪些行?行是否修改?哪些单元格为修改的?单元格修改前的值怎么获取?
活字格的增删改查,默认定义了内置接口,如主键的生成方式、默认字段的处理,但貌似此接口无法二开?
现需求如下:
1、更改主键的生成方式为自定义id(因活字格的自动id、GUID为文本型,不适合做主键)
2、数据的加载与重载,能否通过自定义查询来展示数据?
3、增删改,需要自定义api,方便自定义数据提交行为,并加入数据异动日志功能。
关于数据异动日志功能:
1、每个用户对每个表行的增删改,能够记录到字段级别的操作记录,方便其他用户确认某行有权限字段的异动。(已确定方案)
2、管理员针对某一数据行,随时可指定任意操作节点的还原。(已确定方案)
通过按钮提交很容易改为自定义api方式。
新增行时可通过判断主键方式来确定,提交表格时容易改为自定义api方式。
1)在表格上建立两辅助字段为【初始值】【当前值】。
2)当表格加载或重载时,可设定辅助字段【初始值】【当前值】为对应行的所有初始值合成的json文本。
3)当行修改时,可通过valuechange事件定位到改行的具体位置,并更新到【当前值】,同时判断是否与初始值不同,如不同则设置单元格格式为【修改标志】,用户体验很好。
4)当表格提交时,通过【初始值】【当前值】,判断改行是否修改,如修改则自定义api方式提交。
提问:此方法行得通,但设计太繁琐,有没简便方式能够直接获取当前行是否为修改行?且所有单元格的初始值呢?
1)方法1:删除时可触发valuechange事件,但貌似无法定位具体的删除行?如能定位删除行,则可记录改删除行的主键及版本号,提交表格时则可改为自定义api形式。(咨询?)
2)方法2:给行删除添加专门按钮,删除时移入临时回收站,待表格提交时根据回收站内容再统一删除,甚至可做出撤销删除功能。(需确定表格行删除的api,推荐)
提问:活字格能否直接确定表格的删除行?
1)可直接通过按钮形式执行删除动作,可设定自定义api。
2)但不推荐紧绑定形式,因紧绑定形式的增改不可控。
3)可在松绑定形式添加【立即删】按钮,则删除一行可立即提交。
1)不推荐紧绑定形式,因数据不可控。如新增或修改后立即提交,数据库如有约束将失败。而且一般业务模式都是整个数据行修改确认后才会提交,频繁提交只会增加服务器负担,且产生大量冗余日志。
2)如确需某行新增或修改后立即提交,可添加【立即提交】按钮,点击后判断改行是否新增或修改行(参照松绑定形式方案),则自定义api提交。更进一步,可批量提交多选定行,业务更加灵活。
1)通过活字格提供api或第三方api,可自定义查询数据,并返回json对象,将改对象展示到表格中
方案:目前已知方式是遍历表格所有列,并将json对象中有的列全部填入。不够行则通过活字格api新增表格行。
提问:活字格内置有没更便捷的方式直接将json对象置于表格中。
2)活字格默认数据展示,当某字段无查看权限是,依然置空,影响体验,且容易让人知道此处有玄机,并找管理员确认,造成不必要的影响。
提问:如何通过代码自定义列显示?
提问:活字格自带的设计端及服务端操作数据的api,是否与内置的行级及字段级权限控制紧密结合?
注:如未集成权限控制,则没必要
1)如表A设定了行权限。表A与表B通过full join联合建立了视图V,但视图V未做权限设置。
提问:视图V能集成表A的行权限?
2)在应用X建立表A并设置了行权限,应用Y也引用了表A。
提问:两应用的表A权限能否共用?
活字格目前只支持单页全部加载或重载,但在某些情况不够灵活。
1)如表格提交多行修改,当某行因版本问题提交失败时,活字格默认的处理机制为全部刷新,将会丢失已修改信息,降低效率。
2)正确做法应该根据版本号,重载冲突的行,进一步设计可保留该行修改字段信息,还原工作现场。
|
|