本发明专利技术公开了一种智能云表单的实现方法,属于WEB开发技术领域。该方法包括表单设计器,不同终端的表单共用一套业务模型;组件继承;组件与设计器智能互动;表单元素分级存储;扩展HTML属性;动态数据绑定等部分。与现有技术相比,本发明专利技术的智能云表单的实现方法可以适应移动互联网的发展,解决多终端表单定制问题,另一方面为满足用户多种多样的需求,提供组件扩展机制,允许用户定制个性化组件,在提供灵活性的同时,扩大系统使用范围,具有良好地推广应用价值。
【技术实现步骤摘要】
本专利技术涉及WEB开发
,具体地说是一种智能云表单的实现方法。
技术介绍
随着移动互联网的快速发展,传统的针对桌面端的应用增长缓慢,越来越多的移动应用如雨后春笋般应运而生。目前WEB开发领域虽然存在一些比较成熟的表单定制工具,但普遍提供的都是针对桌面端的表单定制解决方案,无法实现在一个系统中同时为多个不同终端(桌面、移动)定制表单,并实现不同终端表单之间的数据共享。传统的表单定制都是动态建表,如果为桌面端、移动端各定制了一个表单,则会动态创建两张表。进行实际业务操作时,使用不同终端录入的同一业务数据,将会保存在不同的表中,数据一致性无从谈起。此外,用户的需求永远都是多变的,单纯依靠各种表单定制工具提供的有限组件很难满足用户多种多样的需求,尤其是对于已经开发完成或者已经发布的系统,继续添加或修改组件将会带来很高的开发成本。因此需要提供一种有效的组件扩展机制,允许用户结合业务需要定制个性化业务组件。
技术实现思路
本专利技术的技术任务是针对上述现有技术的不足,提供一种支持多终端的、可扩展的智能云表单的实现方法。本专利技术的技术任务是按以下方式实现的:智能云表单的实现方法,其特点是:表单设计器,用于定制不同终端的表单,不同终端的表单共用一套业务模型,所述不同终端类型的表单包括桌面版表单及移动版表单;表单设计器内置大量组件,每个组件是一个单独的JavaScript文件,所有组件都继承自自定义基类,组件可继承、可扩展;组件与表单设计器智能互动,组件向表单设计器进行主动注册,注册完毕,表单设计器依次调用组件的初始化方法,组件与表单设计器通过自定义事件进行交互,交互的关键点在于事件以组件ID命名;表单元素分级存储,所述表单元素分为表单、区域、域三级,分别对应后台业务模型中的主业务模型、子业务模型、业务模型项;扩展HTML属性,扩展属性包括:组件ID、元素类型、是否自动建表、关联业务含义、关联数据绑定、关联业务模型及业务模型映射;动态数据绑定扩展,定义期为域指定数据绑定规则,运行期动态解析数据规则绑定数据,获得解析结果后动态绑定到前台表单域上。为了实现表单换肤功能,该方法可以设置表单皮肤样式模块,用于保存表单皮肤样式文件,记录表单与皮肤的关联关系。表单发布支持两种方式,一种是根据表单元素动态建表,一种是建立表单元素与已有表的关联。表单设计器用于定制不同终端的表单时,第一种表单定制完毕后,在后台相应生成一套业务模型,所述业务模型用于描述动态创建的表单表;定制其它表单时,不再动态生成后台业务模型,而是在其它表单与前述已建立的业务模型间建立关联关系,从而间接使用前述第一种表单动态创建的表单表。为了更为直观地体现出不同终端的差异,以表单设计器设计表单时,可以分别以终端设备图片为背景。用户可自定义组件,继承自定义基类,定义组件的HTML模板、初始化操作、鼠标拖放事件处理、鼠标双击事件处理。定制同一组件的个性化版本时,通过继承组件实现,实现代码复用。与现有技术相比,本专利技术的智能云表单的实现方法具有以下突出地有益效果:(一) 支持多终端(桌面、移动)表单定制,为移动应用表单定制提供了基础;(二) 支持组件继承,允许用户自定义组件,弥补一般表单定制工具组件封闭,不允许扩展开发的弊端;(三) 提供动态数据绑定扩展机制,允许用户自定义数据绑定规则及解析类,方便用户结合具体业务需求进行数据绑定;(四) 支持表单换肤功能,允许用户预定义皮肤,表单定制完成之后,可通过换肤功能调整表单整体样式,更好的实现所见即所得的效果。 附图说明附图1是实施例中多终端表单共用一套后台业务模型的原理图;附图2是实施例中组件继承原理图;附图3是实施例中组件与表单设计器间智能互动流程图;附图4是实施例中表单元素分级存储结构框图。具体实施方式参照说明书附图以具体实施例对本专利技术的智能云表单的实现方法作以下详细地说明。实施例:本专利技术智能云表单的实现方法的实现方案如下:1) 多终端表单共用一套业务模型说明:支持多终端表单,需要解决数据一致性问题,本专利技术的实现方案是多个前台终端表单共用一套后台业务模型。本专利技术认为表单属于前台的东西,需要有后台一套业务模型与之对应,业务模型与数据库表进行对应,从而将前台表单与后台业务表进行解耦。如附图1所示,桌面版表单定制完毕,会在后台相应生成一套业务模型,该业务模型描述了动态创建的表单表,桌面版表单与该业务模型间有关联关系;定制移动版表单时,不再动态生成后台业务模型,而是在移动版表单与前述已建立的业务模型间建立关联关系,从而间接使用前述桌面版表单动态创建的表单表,也就从根本上解决了数据一致性问题。2) 组件继承说明:组件是对原生HTML标签的集成、封装和扩展,每个组件是一个单独的JavaScript文件,当将组件添加到设计区时,实际添加的是一个HTML片段。如附图2所示,所有组件都继承自CFWidget类(自定义基类),该类包括HTML模板、初始化操作、鼠标拖放操作、鼠标双击操作四个部分,任何组件都可以基于这四部分自由扩展,同时,如果要定制同一组件的个性化版本,可以二次继承该组件,复用已有实现代码,而只提供个性化部分即可。组件继承示例如下所示:// 继承组件CFText = $.inherit(CFWidget, overrides);3) 组件与设计器智能互动说明:当载入表单设计器页面时,自动加载指定终端(桌面、移动)的组件JavaScript源文件。每个组件的最后一行代码为:// 注册组件CForm.reg(组件类名);从而让组件自动注册到设计器。组件与设计器间智能互动过程如附图3所示:1.所有组件自动注册完毕,设计器会依次调用每个组件的init方法,init方法会自动向设计器注册“放下(drop)”、“双击(dblClick)”事件,事件注册方式为:// 注册放下事件this.builder.on(“当前组件ID_drop”,操作);// 注册双击事件this.builder.on(“当前组件ID_dblClick”,操作);2.当用户进行表单设计时,需要从组件栏拖拽组件到中间设计区,将组件拖拽到适当位置后,松开鼠标。3.设计器监听到鼠标松开事件,触发组件注册的“drop”事件,组件内部动态渲染组件模板,渲染完毕将组件对应的HTML片段添加到设计区中。放下事件的触发方式为: // 触发放下事件 this.builder.fireEvent(组件ID + \_drop\, [ target ]);4.当用户设置表单域属性时,需要双击组件。5.设计器监听到鼠标双击事件,触发组件注册的“dblClick”事件,从而弹出组本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.智能云表单的实现方法,其特征在于:
表单设计器,用于定制不同终端的表单,不同终端的表单共用一套业务模型;
表单设计器内置大量组件,每个组件是一个单独的JavaScript文件,所有组件都继承自自定义基类,组件可继承、可扩展;
组件与表单设计器智能互动,组件向表单设计器进行主动注册,注册完毕,表单设计器依次调用组件的初始化方法,组件与表单设计器通过自定义事件进行交互,交互的关键点在于事件以组件ID命名;
表单元素分级存储,所述表单元素分为表单、区域、域三级,分别对应后台业务模型中的主业务模型、子业务模型、业务模型项;
扩展HTML属性,扩展属性包括:组件ID、元素类型、是否自动建表、关联业务含义、关联数据绑定、关联业务模型及业务模型映射;
动态数据绑定扩展,定义期为域指定数据绑定规则,运行期动态解析数据规则绑定数据,获得解析结果后动态绑定到前台表单域上;
表单换肤,支持预定义表单皮肤样式,定义期可动态切换样式,运行期加载相应的样式文件。
2.根据权利要求1所述的智能云表单的实现方法,其特征在于:设置有表单皮...
【专利技术属性】
技术研发人员:刘桂海,任传慧,
申请(专利权)人:浪潮软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。