CN111079382A - 基于mvvm模式的表单渲染方法及系统 - Google Patents

基于mvvm模式的表单渲染方法及系统 Download PDF

Info

Publication number
CN111079382A
CN111079382A CN201911199742.0A CN201911199742A CN111079382A CN 111079382 A CN111079382 A CN 111079382A CN 201911199742 A CN201911199742 A CN 201911199742A CN 111079382 A CN111079382 A CN 111079382A
Authority
CN
China
Prior art keywords
type
data
rendering
metadata
viewmodel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911199742.0A
Other languages
English (en)
Inventor
蒋旭曦
高勇
曹艳敏
朱宏雷
孙慧生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suning Cloud Computing Co Ltd
Original Assignee
Suning Cloud Computing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201911199742.0A priority Critical patent/CN111079382A/zh
Publication of CN111079382A publication Critical patent/CN111079382A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开基于MVVM模式的表单渲染方法及系统,其中,该方法包括步骤:描述表单元数据,将表单元数据反序列化为ViewModel元数据,最后将内存中ViewModel元数据描述的表单渲染为表单控件,有效的降低了表单渲染系统的展现层与数据层的耦合,同时简化了表单的创建与维护过程。基于MVVM模式的表单渲染系统,采用上述基于MVVM模式的表单渲染方法,解决了现有技术中需要在RPA业务流程项目的开发过程预先在代码中定义表单,导致RPA业务流程项目的开发、维护过程重复性高且繁琐的技术问题。

Description

基于MVVM模式的表单渲染方法及系统
技术领域
本发明涉及企业应用中机器人流程自动化领域,尤其涉及基于MVVM模式的表单渲染方法及系统。
背景技术
在使用RPA设计器开发RPA业务流程的过程中,通常需要为流程中的每个动作组件配置入参信息和返回值信息,设计器中提供了属性编辑区域,用于渲染当前选中的动作组件的入参表单和返回值表单。
在基于MVVM模式的WPF客户端系统中,表单的创建过程通常需要先在ViewModel中定义表单中数据信息的字段,然后在表示页面的XAML文件中定义各字段对应的表单控件,最后将ViewModel中的字段与表单控件绑定。当字段的值发生变化时,触发PropertyChanged事件,通知页面刷新相应的表单控件;同样地,当用户在表单控件中输入数据时,ViewModel中相应的字段值也会同步更新。
使用上述表单创建方式时,需要在RPA业务流程的项目开发阶段的代码中根据入参信息和返回值信息预先对应地定义入参表单和返回值表单,但是由于RPA设计器中有几百个动作组件,在开发阶段为每个动作组件单独定义表单,使得开发过程重复且增大了开发工作量,一旦动作组件的入参信息或返回值信息需要调整时,需要在修改代码后重新编译,并发布整个RPA业务流程项目的工程,使得RPA业务流程项目的开发、维护过程重复性高且繁琐。
发明内容
本发明的目的在于提供基于MVVM模式的表单渲染方法及系统,以解决现有技术中需要在RPA业务流程项目的开发过程中预先定义表单,导致RPA业务流程项目在开发、维护过程重复性高且繁琐的技术问题。
为了实现上述目的,本发明提供如下技术方案:
一种基于MVVM模式的表单渲染方法,用于在RPA业务流程的创建过程中,将基础动作的入参信息和/或返回值信息渲染生成可视化表单,所述方法包括步骤:
描述表单元数据;
将表单元数据反序列化为ViewModel元数据;
将内存中ViewModel元数据描述的表单渲染为表单控件。
优选地,其特征在于,用XML语言来描述表单元数据。
具体地,描述表单元数据的方法具体包括:
创建XML格式的表单,每个表单对应一个表单项列表;
根据基础动作的入参信息和/或返回值信息配置每个表单项元数据的格式,得到XML格式的表单元数据。
进一步地,配置表单项元数据的格式的方法包括配置表单项类型、表单项名称、表单项展示名称、表单项描述、表单项默认值和表单项枚举;其中,
所述表单项的数据类型包括字符串类型、元素ID类型、布尔类型、文件类型、文件夹类型、密码类型、下拉列表类型、图片类型、日期时间类型或通用类型;当所述表单项类型为下拉列表类型时,所述表单项枚举生效,用于描述下拉列表中的选项。
优选地,将XML格式的表单元数据反序列化为ViewModel元数据的方法包括:
读取XML格式的表单元数据;
根据所述XML格式的表单元数据为内存中的ViewModel赋值,得到ViewModel元数据。
较佳地,将内存中ViewModel元数据描述的表单渲染为表单控件的方法包括:
创建多种数据模板并存储到表单容器模块中,每种数据模板对应一种表单项类型;
利用数据模板选择器根据ViewModel元数据中的表单项类型选择相应的数据模板;
将数据模板渲染为对应的表单控件。
进一步地,所述数据模板为C#语言描述的XAML格式的数据模板,所述数据模板在WPF框架下渲染为对应的表单控件。
一种基于MVVM模式的表单渲染系统,包括表单描述模块、加载模块和表单容器模块,其中,
所述表单描述模块用于描述表单元数据;
所述加载模块用于将表单元数据反序列化为ViewModel元数据;
所述表单容器模块将内存中ViewModel元数据描述的表单渲染为表单控件。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于MVVM模式的表单渲染方法的步骤。
一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,计算机程序被处理器运行时执行上述基于MVVM模式的表单渲染方法的步骤。
与现有技术相比,本发明提供的基于MVVM模式的表单渲染方法及系统具有以下有益效果:
本发明提供的基于MVVM模式的表单渲染方法中,包括步骤:先用XML语言描述表单元数据,然后将表单元数据反序列化为ViewModel元数据,最后使用自定义的数据模板选择器选择不同表单样式的数据模板,将内存中ViewModel元数据描述的表单渲染为可视化的UI表单控件。该方法采用WPF的双向绑定机制,通过自定义的数据模板选择器根据表单项类型来匹配表单控件,有效的降低了展现层与数据层的耦合;采用XML语言作为表单元数据描述,只需编辑相应的XML文件即可完成对表单的修改,简洁易懂、扩展性强,简化了表单的创建与维护过程。
本发明提供的基于MVVM模式的表单渲染系统,采用上述基于MVVM模式的表单渲染方法,有效的降低了表单渲染系统的展现层与数据层的耦合,同时简化了表单的创建与维护过程。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中基于MVVM模式的表单渲染方法的流程示意图;
图2为本发明实施例中描述表单元数据的方法了流程示意图;
图3为本发明实施例中将XML格式的表单元数据反序列化为ViewModel元数据的方法流程示意图;
图4为本发明实施例中将内存中ViewModel元数据描述的表单渲染为表单控件的方法流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
请参阅图1,本实施例提供的基于MVVM模式的表单渲染方法,用于在RPA业务流程的创建过程中,将基础动作的入参信息和/或返回值信息渲染生成可视化表单,该方法包括步骤:
描述表单元数据;
将表单元数据反序列化为ViewModel元数据;
将内存中ViewModel元数据描述的表单渲染为表单控件。
请参阅图2,本实施例提供的基于MVVM模式的表单渲染方法中,描述表单元数据的方法具体包括:
创建XML格式的表单,每个表单对应一个表单项列表;
根据基础动作的入参信息和/或返回值信息配置每个表单项元数据的格式,得到XML格式的表单元数据。
选用XML语言来描述表单元数据,简洁易懂、扩展性强,只需编辑相应的XML文件即可完成对表单的修改,能够有效地简化RPA组件入参表单的创建与维护过程。
具体地,配置表单项元数据的格式的方法包括配置表单项类型(Type)、表单项名称(Name)、表单项展示名称(CnName)、表单项描述(Description)、表单项默认值(Default_value)和表单项枚举(Enums);其中,请参阅下述表1_表单项的数据类型所示,表单项的数据类型包括字符串类型、元素ID类型、布尔类型、文件类型、文件夹类型、密码类型、下拉列表类型、图片类型、日期时间类型或通用类型;当表单项类型为下拉列表类型时,表单项枚举生效,用于描述下拉列表中的选项;表单项描述用于当鼠标悬浮时tooltip显示的文本。
表1_表单项的数据类型
Figure BDA0002295569360000051
Figure BDA0002295569360000061
请参阅图3,本实施例提供的基于MVVM模式的表单渲染方法中,将XML格式的表单元数据反序列化为ViewModel元数据的方法包括:
读取XML格式的表单元数据;
根据XML格式的表单元数据为内存中的ViewModel赋值,得到内存中的ViewModel元数据。
进一步地,将内存中ViewModel元数据描述的表单渲染为表单控件,请参阅图4,渲染方法包括:
创建多种数据模板并存储到表单容器模块中,每种数据模板对应一种表单项类型;
利用数据模板选择器根据ViewModel元数据中的表单项类型选择相应的数据模板;
将数据模板渲染为对应的表单控件。
其中,数据模板为C#语言描述的XAML格式的数据模板,数据模板在WPF框架下渲染为对应的表单控件。
表单容器模块是一个自定义的列表控件,为实现不同样式的表单项渲染,针对每种表单类型,为该容器定义了相应的数据模板。具体地,表单容器模块以数据模板的形式为每一种表单项类型定义了相应的表单样式,同时根据表1_表单项的数据类型中表单项类型与控件的对应关系覆写了容器的内容模板选择器(ContentTemplateSelector)属性,用于在数据绑定时根据不同的表单类型选择相应的数据模板。当需要扩展表单项类型时,为新的表单项类型定义数据模板,并修改数据模板选择器(DataTemplateSelector)即可。
本实施例提供的基于MVVM模式的表单渲染方法采用WPF的双向绑定机制,通过自定义的数据模板选择器根据表单项类型来匹配表单控件,有效的降低了展现层与数据层的耦合;采用XML语言作为表单元数据描述,只需编辑相应的XML文件即可完成对表单的修改,简洁易懂、扩展性强,简化了表单的创建与维护过程。
实施例二
本发明实施例提供一种基于MVVM模式的表单渲染系统,包括表单描述模块、加载模块和表单容器模块。其中,表单描述模块用于描述表单元数据;加载模块用于将表单元数据反序列化为ViewModel元数据;表单容器模块将内存中ViewModel元数据描述的表单渲染为表单控件。
与现有技术相比,本发明实施例提供的基于MVVM模式的表单渲染系统的有益效果与上述实施例一提供的基于MVVM模式的表单渲染方法的有益效果相同,且该方法中的其他技术特征与上述实施例系统公开的特征相同。
本发明提供的基于MVVM模式的表单渲染系统,采用上一实施例中基于MVVM模式的表单渲染方法,有效的降低了表单渲染系统的展现层与数据层的耦合,同时简化了表单的创建与维护过程,解决了现有技术中需要在RPA业务流程项目的开发过程预先在代码中定义表单,导致RPA业务流程项目的开发、维护过程重复性高且繁琐的技术问题。
实施例三
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行上述实施例一中基于MVVM模式的表单渲染方法的步骤。该计算机设备包括但不限于通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储服务数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于MVVM模式的表单渲染方法,有效的降低了表单渲染系统的展现层与数据层的耦合,同时简化了表单的创建与维护过程。
与现有技术相比,本发明实施例提供的一种计算机可读存储介质的有益效果与上述实施例一提供的基于MVVM模式的表单渲染方法的有益效果相同,且该方法中的其他技术特征与上述实施例系统公开的特征相同,在此不做赘述。
实施例四
一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例一中基于MVVM模式的表单渲染方法的步骤,有效的降低了表单渲染系统的展现层与数据层的耦合,同时简化了表单的创建与维护过程。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
与现有技术相比,本发明实施例提供的一种计算机可读存储介质的有益效果与上述实施例一提供的基于MVVM模式的表单渲染方法的有益效果相同,且该方法中的其他技术特征与上述实施例系统公开的特征相同,在此不做赘述。
在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种基于MVVM模式的表单渲染方法,用于在RPA业务流程的创建过程中,将基础动作的入参信息和/或返回值信息渲染生成可视化表单,其特征在于,所述方法包括步骤:
描述表单元数据;
将表单元数据反序列化为ViewModel元数据;
将内存中ViewModel元数据描述的表单渲染为表单控件。
2.根据权利要求1所述的基于MVVM模式的表单渲染方法,其特征在于,用XML语言来描述表单元数据。
3.根据权利要求2所述的基于MVVM模式的表单渲染方法,其特征在于,描述表单元数据的方法具体包括:
创建XML格式的表单,每个表单对应一个表单项列表;
根据基础动作的入参信息和/或返回值信息配置每个表单项元数据的格式,得到XML格式的表单元数据。
4.根据权利要求3所述的基于MVVM模式的表单渲染方法,其特征在于,配置表单项元数据的格式的方法包括配置表单项类型、表单项名称、表单项展示名称、表单项描述、表单项默认值和表单项枚举;其中,
所述表单项的数据类型包括字符串类型、元素ID类型、布尔类型、文件类型、文件夹类型、密码类型、下拉列表类型、图片类型、日期时间类型或通用类型;当所述表单项类型为下拉列表类型时,所述表单项枚举生效,用于描述下拉列表中的选项。
5.根据权利要求3所述的基于MVVM模式的表单渲染方法,其特征在于,将XML格式的表单元数据反序列化为ViewModel元数据的方法包括:
读取XML格式的表单元数据;
根据所述XML格式的表单元数据为内存中的ViewModel赋值,得到ViewModel元数据。
6.根据权利要求3-5中任一权利要求所述的基于MVVM模式的表单渲染方法,其特征在于,将内存中ViewModel元数据描述的表单渲染为表单控件的方法包括:
创建多种数据模板并存储到表单容器模块中,每种数据模板对应一种表单项类型;
利用数据模板选择器根据ViewModel元数据中的表单项类型选择相应的数据模板;
将数据模板渲染为对应的表单控件。
7.根据权利要求6所述的基于MVVM模式的表单渲染方法,其特征在于,所述数据模板为C#语言描述的XAML格式的数据模板,所述数据模板在WPF框架下渲染为对应的表单控件。
8.一种基于MVVM模式的表单渲染系统,其特征在于,包括表单描述模块、加载模块和表单容器模块,其中,
所述表单描述模块用于描述表单元数据;
所述加载模块用于将表单元数据反序列化为ViewModel元数据;
所述表单容器模块将内存中ViewModel元数据描述的表单渲染为表单控件。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,计算机程序被处理器运行时执行上述权利要求1至7任一项所述方法的步骤。
CN201911199742.0A 2019-11-29 2019-11-29 基于mvvm模式的表单渲染方法及系统 Pending CN111079382A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911199742.0A CN111079382A (zh) 2019-11-29 2019-11-29 基于mvvm模式的表单渲染方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911199742.0A CN111079382A (zh) 2019-11-29 2019-11-29 基于mvvm模式的表单渲染方法及系统

Publications (1)

Publication Number Publication Date
CN111079382A true CN111079382A (zh) 2020-04-28

Family

ID=70312058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911199742.0A Pending CN111079382A (zh) 2019-11-29 2019-11-29 基于mvvm模式的表单渲染方法及系统

Country Status (1)

Country Link
CN (1) CN111079382A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068911A (zh) * 2020-07-31 2020-12-11 广东飞企互联科技股份有限公司 电子表单的生成方法、装置、系统、设备以及介质
CN113126986A (zh) * 2021-04-12 2021-07-16 北京明略昭辉科技有限公司 基于动态数据的表单项渲染方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708126A (zh) * 2011-02-28 2012-10-03 微软公司 数据可视化设计和查看系统和方法
CN107220043A (zh) * 2017-05-03 2017-09-29 辽宁科技大学 一种使用wpf界面生成报表的方法及报表引擎
CN108920496A (zh) * 2018-05-23 2018-11-30 北京奇艺世纪科技有限公司 一种渲染方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708126A (zh) * 2011-02-28 2012-10-03 微软公司 数据可视化设计和查看系统和方法
CN107220043A (zh) * 2017-05-03 2017-09-29 辽宁科技大学 一种使用wpf界面生成报表的方法及报表引擎
CN108920496A (zh) * 2018-05-23 2018-11-30 北京奇艺世纪科技有限公司 一种渲染方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068911A (zh) * 2020-07-31 2020-12-11 广东飞企互联科技股份有限公司 电子表单的生成方法、装置、系统、设备以及介质
CN112068911B (zh) * 2020-07-31 2023-12-26 广东飞企互联科技股份有限公司 电子表单的生成方法、装置、系统、设备以及介质
CN113126986A (zh) * 2021-04-12 2021-07-16 北京明略昭辉科技有限公司 基于动态数据的表单项渲染方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112416339A (zh) 页面开发方法、装置、计算机设备
US20140173454A1 (en) Method and system for designing, deploying and executing transactional multi-platform mobile applications
US11093242B2 (en) Automatically mapping data while designing process flows
CN111522552B (zh) 子应用生成方法、装置、计算机设备和存储介质
CN105094832A (zh) 一种所见即所得的动态生成用户界面的方法和系统
CN102043618B (zh) 一种窗口对象显示样式的控制方法及装置
CN107679056B (zh) 生成sql语句的方法、电子装置及可读存储介质
CN108664242B (zh) 生成可视化界面的方法、装置、电子设备和可读存储介质
CN113076096A (zh) 一种桌面应用程序开发方法、装置、设备及存储介质
CN111061475A (zh) 软件代码生成方法、装置、计算机设备和存储介质
CN111079382A (zh) 基于mvvm模式的表单渲染方法及系统
CN112685025A (zh) 快速搭建前端页面的方法及系统
CN104133706A (zh) 固件修改方法及固件修改装置
US20180267782A1 (en) Development platform of mobile native applications
CN114527979A (zh) 一种生成多端表单交互页面的方法及系统
CN112486378B (zh) 图形生成方法、装置、终端及存储介质
CN109426497B (zh) 数据嵌入方法、装置、系统以及存储介质
Kovalevskiy et al. External control of ParaView visualization
WO2024056100A1 (zh) 页面渲染方法、装置、设备、存储介质及计算机程序产品
CN114741637A (zh) 一种生成表单页面的方法、装置、设备及可读存储介质
CN115576556A (zh) 基于element-UI的分页方法、系统、设备及存储介质
CN112162741A (zh) 网页代码的生成方法、装置、设备及介质
EP4341800A1 (en) Updating a deployed app method and system
CN117951411A (zh) 表格处理方法、装置及设备
CN115904345A (zh) 动态表单的数据渲染方法、系统、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200428