CN110244942B - 一种页面生成方法、装置及系统 - Google Patents

一种页面生成方法、装置及系统 Download PDF

Info

Publication number
CN110244942B
CN110244942B CN201910535448.6A CN201910535448A CN110244942B CN 110244942 B CN110244942 B CN 110244942B CN 201910535448 A CN201910535448 A CN 201910535448A CN 110244942 B CN110244942 B CN 110244942B
Authority
CN
China
Prior art keywords
component
target page
code
attribute type
logic code
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.)
Active
Application number
CN201910535448.6A
Other languages
English (en)
Other versions
CN110244942A (zh
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.)
Hefei Youquan Information Technology Co ltd
Original Assignee
Youxinpai Beijing Information Technology 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 Youxinpai Beijing Information Technology Co ltd filed Critical Youxinpai Beijing Information Technology Co ltd
Priority to CN201910535448.6A priority Critical patent/CN110244942B/zh
Publication of CN110244942A publication Critical patent/CN110244942A/zh
Application granted granted Critical
Publication of CN110244942B publication Critical patent/CN110244942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种页面生成方法、装置及系统。所述方法包括:在获取目标页面的配置数据之后,可以根据配置数据中的组件的标识确定对应的组件代码,根据配置数据中的组件的属性类型确定触发组件的属性类型所需的逻辑代码,进而可以解析配置数据以获取组件在目标页面中的架构信息。如此,根据上述内容,本申请实施例可以自动生成页面的代码文件,进而可以生成页面。相比于现有技术而言,本申请实施例提供的页面生成方法,在页面开发以及页面维护的过程中,只需要确定页面的配置数据,即可快速地、自动地生成页面,避免了研发人员进行重复性劳动,能够大大节省人力资源,进而可以提高页面开发效率,缩短页面上线周期。

Description

一种页面生成方法、装置及系统
技术领域
本申请涉及软件开发技术领域,特别涉及一种页面生成方法、装置及系统。
背景技术
随着互联网技术的飞速发展和HTML5、CSS3的应用,各种前端页面的开发也得到了空前的发展,页面制作更加美观,页面的交互效果显著,页面的功能也更加强大。
随着web2.0开发技术的飞速发展,开发者们越来越重视前端开发的效率问题,前后端分离的web系统也越来越多,如何快速、高效地对前端进行开发和构建、编写和封装具有良好性能的前端交互组件成为关键问题。
现有技术中,在开发前端页面时,通常需要研发人员人工撰写页面代码以构建页面。其中,所撰写的代码大多涉及业务逻辑变更、列表页展示字段变更、表单更新、详情页展示字段变更等方面的内容。然而,从上文列举出的代码所涉及的内容来看,重复性工作较多,比如需要重复地进行业务逻辑变更,若采用人工撰写页面代码的方式,则针对每次业务逻辑变更,都需要研发人员人工撰写代码,容易导致研发人员重复性工作较多、工作效率较低的问题,进而导致页面开发效率较低、上线周期较长的问题。
基于此,目前亟需一种页面生成方法,用于解决现有技术中人工撰写代码导致页面开发效率较低、上线周期较长的问题。
发明内容
本申请提供了一种页面生成方法、装置及系统,可用于解决在现有技术中人工撰写代码导致页面开发效率较低、上线周期较长的技术问题。
第一方面,本申请实施例提供一种页面生成方法,所述方法包括:
获取目标页面的配置数据,所述配置数据包括组件的标识、组件的属性类型以及组件之间的关系;
根据所述组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与所述组件的标识对应的组件代码;
根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码;
解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息;
根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件;
执行所述代码文件以生成所述目标页面。
在一种可能的实现方式中,所述组件的属性类型包括事件;所述预先设置的属性类型与逻辑代码的对应关系包括事件与逻辑代码的对应关系;
根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码,包括:
如果所述组件的属性类型为事件,则根据所述组件的事件以及预先设置的事件与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的事件所需的事件逻辑代码。
在一种可能的实现方式中,所述组件的属性类型还包括功能;所述预先设置的属性类型与逻辑代码的对应关系还包括功能与逻辑代码的对应关系;
根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码,包括:
如果所述组件的属性类型为功能,则根据所述组件的功能以及预先设置的功能与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的功能所需的功能逻辑代码。
在一种可能的实现方式中,所述组件的属性类型还包括控制参数;所述预先设置的属性类型与逻辑代码的对应关系还包括控制参数与逻辑代码的对应关系;
根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码,包括:
如果所述组件的属性类型为控制参数,则根据所述组件的控制参数以及预先设置的控制参数与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的控制参数所需的控制参数逻辑代码。
在一种可能的实现方式中,根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件,包括:
采用FS模块根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码、触发所述组件的事件所需的事件逻辑代码、触发所述组件的功能所需的功能逻辑代码以及触发所述组件的控制参数所需的控制参数逻辑代码,生成所述目标页面的代码文件。
在一种可能的实现方式中,解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息,包括:
采用递归循环的方法,解析所述目标页面的配置数据,得到所述目标页面中包含的组件以及所述组件之间的关系;
采用Redux方法,解析所述目标页面的配置数据,得到所述组件与属性类型之间的联系;
根据所述目标页面中包含的组件、所述组件之间的关系以及所述组件与属性类型之间的联系,确定所述组件在所述目标页面中的架构信息。
第二方面,本申请实施例提供一种页面生成装置,所述装置包括:
获取单元,用于获取目标页面的配置数据,所述配置数据包括组件的标识、组件的属性类型以及组件之间的关系;
处理单元,用于根据所述组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与所述组件的标识对应的组件代码;以及,根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码;以及,解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息;
生成单元,用于根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件;以及,执行所述代码文件以生成所述目标页面。
在一种可能的实现方式中,所述组件的属性类型包括事件;所述预先设置的属性类型与逻辑代码的对应关系包括事件与逻辑代码的对应关系;
所述处理单元具体用于:
如果所述组件的属性类型为事件,则根据所述组件的事件以及预先设置的事件与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的事件所需的事件逻辑代码。
在一种可能的实现方式中,所述组件的属性类型还包括功能;所述预先设置的属性类型与逻辑代码的对应关系还包括功能与逻辑代码的对应关系;
所述处理单元具体用于:
如果所述组件的属性类型为功能,则根据所述组件的功能以及预先设置的功能与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的功能所需的功能逻辑代码。
在一种可能的实现方式中,所述组件的属性类型还包括控制参数;所述预先设置的属性类型与逻辑代码的对应关系还包括控制参数与逻辑代码的对应关系;
所述处理单元具体用于:
如果所述组件的属性类型为控制参数,则根据所述组件的控制参数以及预先设置的控制参数与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的控制参数所需的控制参数逻辑代码。
在一种可能的实现方式中,所述生成单元具体用于:
采用FS模块根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码、触发所述组件的事件所需的事件逻辑代码、触发所述组件的功能所需的功能逻辑代码以及触发所述组件的控制参数所需的控制参数逻辑代码,生成所述目标页面的代码文件。
在一种可能的实现方式中,所述处理单元具体用于:
采用递归循环的方法,解析所述目标页面的配置数据,得到所述目标页面中包含的组件以及所述组件之间的关系;以及,采用Redux方法,解析所述目标页面的配置数据,得到所述组件与属性类型之间的联系;以及,根据所述目标页面中包含的组件、所述组件之间的关系以及所述组件与属性类型之间的联系,确定所述组件在所述目标页面中的架构信息。
第三方面,本申请实施例提供一种页面生成系统,所述系统包括配置系统和业务系统;所述业务系统用于:
从所述配置系统中获取目标页面的配置数据,所述配置数据包括组件的标识、组件的属性类型以及组件之间的关系;以及,根据所述组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与所述组件的标识对应的组件代码;以及,根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码;以及,解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息;以及,根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件;以及,执行所述代码文件以生成所述目标页面。
采用上述方法,在获取目标页面的配置数据之后,可以根据配置数据中的组件的标识,确定对应的组件代码,以及根据配置数据中的组件的属性类型,确定触发组件的属性类型所需的逻辑代码,进而可以解析配置数据以获取组件在目标页面中的架构信息。如此,根据上述内容,本申请实施例可以自动生成页面的代码文件,进而可以生成页面。相比于现有技术中采用人工撰写页面代码的方式而言,本申请实施例提供的页面生成方法,在页面开发以及页面维护的过程中,只需要确定页面的配置数据,即可快速地、自动地生成页面,避免了研发人员进行重复性劳动,能够大大节省人力资源,进而可以提高页面开发效率,缩短页面上线周期。
附图说明
图1为本申请实施例适用的一种场景的示意图;
图2为本申请实施例提供的一种页面生成方法所对应的流程示意图;
图3为本申请实施例提供的一种配置数据的示意图;
图4为本申请实施例提供的一种第二数据库所存储的内容的示意图;
图5为本申请实施例提供的一种配置数据的解析方法所对应的流程示意图;
图6为本申请实施例提供的一种页面生成方法所对应的整体性流程的示意图;
图7为本申请实施例提供的一种页面生成装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面首先结合图1对本申请实施例适用的可能的场景进行介绍。
请参考图1,其示例性示出了本申请实施例适用的一种场景的示意图。该场景可以包括配置系统101和业务系统102。其中,配置系统101可以用于获取用户输入的配置数据,并将获取到的配置数据通过网络发送给业务系统102;业务系统102可以用于在接收到配置系统101发送的配置数据之后,根据该配置数据生成对应的目标页面。
需要说明的是,配置系统101和业务系统102可以是一对一的关系,如图1所示,一个配置系统只服务于一个业务系统;或者,配置系统101和业务系统102可以是一对多的关系(图1中未示出),一个配置系统可以服务于多个业务系统。
基于图1所示的系统架构,图2示例性示出了本申请实施例提供的一种页面生成方法所对应的流程示意图。如图2所示,具体包括如下步骤:
步骤201,获取目标页面的配置数据。
步骤202,根据组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与组件的标识对应的组件代码。
步骤203,根据组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发组件的属性类型所需的逻辑代码。
步骤204,解析目标页面的配置数据,确定组件在目标页面中的架构信息。
步骤205,根据组件在目标页面中的架构信息、与组件的标识对应的组件代码以及执行属性类型的组件所需的逻辑代码,生成目标页面的代码文件。
步骤206,执行代码文件以生成目标页面。
采用上述方法,在获取目标页面的配置数据之后,可以根据配置数据中的组件的标识,确定对应的组件代码,以及根据配置数据中的组件的属性类型,确定触发组件的属性类型所需的逻辑代码,进而可以解析配置数据以获取组件在目标页面中的架构信息。如此,根据上述内容,本申请实施例可以自动生成页面的代码文件,进而可以生成页面。相比于现有技术中采用人工撰写页面代码的方式而言,本申请实施例提供的页面生成方法,在页面开发以及页面维护的过程中,只需要确定页面的配置数据,即可快速地、自动地生成页面,避免了研发人员进行重复性劳动,能够大大节省人力资源,进而可以提高页面开发效率,缩短页面上线周期。
步骤201中,获取目标页面的配置数据的方式具体可以为,维护人员可以在图1中示出的配置系统101中输入目标页面的配置数据,配置系统101在确认接收到目标页面的配置数据后,可以将该配置数据发送至业务系统102,由业务系统102来执行图2中示出的技术方案。
本申请实施例中,配置数据可以是对象简谱(JavaScript Object Notation,JSON)格式的配置数据。
配置数据可以包括多种类型的数据,比如,可以包括组件的标识,或者也可以包括组件的属性(props)类型,或者还可以包括组件之间的关系等,具体不做限定。
其中,组件可以是对数据和方法的简单封装,使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。
具体地,组件的标识可以是用于表示组件唯一性的标识。组件的标识可以是组件的名称,或者也可以是组件的唯一编号,具体不做限定。进而,组件的标识可以以字符串的形式来表示,或者也可以以数字的形式来标识,或者还可以以字符串和数字相结合的形式来表示,具体不做限定。
组件的属性类型可以包括组件的事件(event),也可以包括组件的功能,也可以包括组件的控制参数,此外,组件的属性类型还可以包括组件的样式(style)、组件的业务数据等,具体不做限定。
其中,组件的事件可以包括多种类型的事件,比如change事件,click事件等,具体不做限定。
组件的功能可以是指组件自身基本的属性功能,比如控制组件显示的功能,或者控制组件隐藏的功能等。
组件的控制参数可以是指组件的业务功能控制参数,比如,该控制参数可以是将输入框中的内容传给后端接口的控制参数,或者也可以是输入框标题对应的控制参数,或者还可以是输入框是否必填的控制参数等,具体不做限定。
组件之间的关系可以包括组件之间的先后顺序关系,也可以包括组件之间的父子关系,还可以包括其它类型的组件之间的关系,具体不做限定。
为了更加清楚地描述本申请实施例中的配置数据,通过图3来进行示例性说明。如图3所示,为本申请实施例提供的一种配置数据的示意图。
根据图3示出的内容可知,除了上文所述的与组件相关的配置数据之外,本申请实施例中的配置数据还可以包括页面名称、路由地址和首屏数据等。图3主要示意出与组件相关的配置数据(即图3中示出的组件树相关的内容),包括组件的标识,或者也可以包括组件的属性(props)类型,或者还可以包括组件之间的关系等,具体可以参见图3示出的内容,此处不再详细描述。
步骤202中,由于JSON格式的配置数据中不能携带代码文件,因此,想要在页面中显示完整的组件,我们需要一个预设的第一数据库。
需要说明的是,第一数据库可以是React框架的数据库。React用于构建用户界面的JavaScript库,起源于Facebook的内部项目,因为该公司对市场上所有JavaScript MVC框架都不满意,就决定自己写一套,用来架设Instagram的网站。
进一步地,第一数据库中可以预先存储有组件的标识与组件代码的对应关系。
组件的标识与组件代码的对应关系具体可以是组件的标识与组件代码在第一数据库中的存储地址之间的对应关系,如此,可以根据组件的标识以及预先设置的组件的标识与组件代码在第一数据库中的存储地址之间的对应关系,确定组件的标识对应的组件代码所存储的地址,进而,可以根据该地址获取到与组件的标识对应的组件代码。
步骤203中,涉及到配置数据中组件的属性类型时,比如在涉及组件的事件时,组件的事件对应的配置数据需要配置具体的事件触发后执行的事件逻辑代码,而同样由于JSON格式的配置数据中不能携带代码文件,因此,不能直接将执行的事件逻辑代码写在JSON格式的配置数据中,基于此,我们需要一个预设的第二数据库。
根据配置数据中所包括的组件的属性类型的不同,第二数据库中所存储的内容也不同。下面根据组件的属性类型的不同示例,对此进行示例性描述。
一个示例中,如果组件的属性类型包括事件,那么相应地,预先设置的属性类型与逻辑代码的对应关系可以包括事件与逻辑代码的对应关系,具体可以是事件与逻辑代码在第二数据库中的存储地址之间的对应关系,如此,可以根据组件的事件以及预先设置的事件与逻辑代码的对应关系,从第二数据库中确定触发组件的事件所需的事件逻辑代码对应的存储地址,进而,可以根据该地址获取到触发组件的事件所需的事件逻辑代码。
举个例子,下文为采用reducers的第二数据库中,事件逻辑代码的示例。实际实施过程中,可以将reducers的第二数据库封装成工具包,以供页面使用。
export{default as initialState}from‘./initialState’;
export{default as linkTo}from‘./linkTo’;
export{default as loading}from‘./loading’;
export{default as toggle}from‘./toggle’;
export{default as updateState}from‘./updateState’.
又一个示例中,如果组件的属性类型包括功能,那么相应地,预先设置的属性类型与逻辑代码的对应关系还包括功能与逻辑代码的对应关系,具体可以是功能与逻辑代码在第二数据库中的存储地址之间的对应关系,如此,可以组件的功能以及预先设置的功能与逻辑代码的对应关系,从第二数据库中确定触发组件的功能所需的功能逻辑代码对应的存储地址,进而,可以根据该地址获取到触发组件的功能所需的功能逻辑代码。
又一个示例中,如果组件的属性类型包括控制参数,那么相应地,预先设置的属性类型与逻辑代码的对应关系还包括控制参数与逻辑代码的对应关系,具体可以是控制参数与逻辑代码在第二数据库中的存储地址之间的对应关系,如此,可以组件的控制参数以及预先设置的控制参数与逻辑代码的对应关系,从第二数据库中确定触发组件的控制参数所需的控制参数逻辑代码对应的存储地址,进而,可以根据该地址获取到触发组件的控制参数所需的控制参数逻辑代码。
在其它可能的示例中,预设的第二数据库中还可以存储有其它的属性类型与逻辑代码的对应关系,比如可以存储有组件的样式与逻辑代码的对应关系,具体不做限定。
如此,在页面生成的过程中,如果该页面中引入组件的事件(或组件的功能,或组件的控制参数等不同类型的组件的属性)时,一旦该组件的事件在页面中被触发,通过上述方法可以获取到对应的逻辑代码,从而可以执行该事件的函数逻辑,进而可以对该事件进行处理。
为了更加清楚地描述本申请实施例中的第二数据库所存储的内容,通过图4来进行示例性说明。如图4所示,为本申请实施例提供的一种第二数据库所存储的内容的示意图。
根据图4示出的内容可知,采用reducers的第二数据库可以包括上文所述的属性类型与逻辑代码的对应关系,如图4示出的控制组件显示/隐藏或控制组件启用/禁用(即功能与逻辑代码的对应关系),还可以包括图4中示出的initialState、更新的数据、api接口的调用和页面的跳转方式等。具体可以参见图4示出的内容,此处不再详细描述。
步骤204中,对目标页面的配置数据进行解析的过程,具体可以参考图5,为本申请实施例提供的一种配置数据的解析方法所对应的流程示意图,包括如下步骤:
步骤501,采用递归循环(LOOP)的方法,解析目标页面的配置数据,得到目标页面中包含的组件以及组件之间的关系。
步骤502,采用Redux方法,解析目标页面的配置数据,得到组件与属性类型之间的联系。
步骤503,根据目标页面中包含的组件、组件之间的关系以及组件与属性类型之间的联系,确定组件在目标页面中的架构信息。
步骤205和步骤206中,具体实施过程中,可以采用FS模块根据组件在目标页面中的架构信息、与组件的标识对应的组件代码、触发组件的事件所需的事件逻辑代码、触发组件的功能所需的功能逻辑代码以及触发组件的控制参数所需的控制参数逻辑代码,最终生成目标页面的代码文件。
进一步地,在生成代码文件之后,就可以执行该代码文件,从而生成目标页面。相比于现有技术中采用人工撰写页面代码的方式而言,本申请实施例提供的页面生成方法,在页面开发以及页面维护的过程中,只需要确定页面的配置数据,即可快速地、自动地生成页面,避免了研发人员进行重复性劳动,能够大大节省人力资源,进而可以提高页面开发效率,缩短页面上线周期。
为了更加清楚地描述本申请实施例中提供的页面生成方法,下面以图1示出的场景为例,如图6所示,对页面生成方法的整体性流程进行详细描述。
根据图6示出的内容,配置系统101可以选择一个业务系统,比如图6中示出的业务系统102,然后为业务系统102创建项目名、域名和负责人等数据,以及选择所需的模板组件,还可以为业务系统102配置组件的属性类型和组件之间的关系等数据,再创建业务系统102对外交互的api接口的配置数据,最后将上述数据作为业务系统102的配置数据发送给业务系统102。
在业务系统102中,通过查看页面管理列表,在确定待生成的页面之后,点击生成页面按钮,可以提取出待生成页面对应的参数(如组件类型、页面名称和将要生成的组件名等)。采用FS模块可以根据上述提取出的参数生成该页面对应的代码。由于页面中会包括不同的组件,对于不同组件分别对应的代码的生成方法,具体可以查看图6中示出的高阶组件和业务组件的代码生成流程图,此处不再详细描述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7示例性示出了本申请实施例提供的一种页面生成装置的结构示意图。如图7所示,该装置具有实现上述页面生成方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:获取单元701,处理单元702和生成单元703。
获取单元701,用于获取目标页面的配置数据,所述配置数据包括组件的标识、组件的属性类型以及组件之间的关系;
处理单元702,用于根据所述组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与所述组件的标识对应的组件代码;以及,根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码;以及,解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息;
生成单元703,用于根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件;以及,执行所述代码文件以生成所述目标页面。
在一种可能的实现方式中,所述组件的属性类型包括事件;所述预先设置的属性类型与逻辑代码的对应关系包括事件与逻辑代码的对应关系;
所述处理单元702具体用于:
如果所述组件的属性类型为事件,则根据所述组件的事件以及预先设置的事件与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的事件所需的事件逻辑代码。
在一种可能的实现方式中,所述组件的属性类型还包括功能;所述预先设置的属性类型与逻辑代码的对应关系还包括功能与逻辑代码的对应关系;
所述处理单元702具体用于:
如果所述组件的属性类型为功能,则根据所述组件的功能以及预先设置的功能与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的功能所需的功能逻辑代码。
在一种可能的实现方式中,所述组件的属性类型还包括控制参数;所述预先设置的属性类型与逻辑代码的对应关系还包括控制参数与逻辑代码的对应关系;
所述处理单元702具体用于:
如果所述组件的属性类型为控制参数,则根据所述组件的控制参数以及预先设置的控制参数与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的控制参数所需的控制参数逻辑代码。
在一种可能的实现方式中,所述生成单元703具体用于:
采用FS模块根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码、触发所述组件的事件所需的事件逻辑代码、触发所述组件的功能所需的功能逻辑代码以及触发所述组件的控制参数所需的控制参数逻辑代码,生成所述目标页面的代码文件。
在一种可能的实现方式中,所述处理单元702具体用于:
采用递归循环的方法,解析所述目标页面的配置数据,得到所述目标页面中包含的组件以及所述组件之间的关系;以及,采用Redux方法,解析所述目标页面的配置数据,得到所述组件与属性类型之间的联系;以及,根据所述目标页面中包含的组件、所述组件之间的关系以及所述组件与属性类型之间的联系,确定所述组件在所述目标页面中的架构信息。
基于同样的发明构思,本申请实施例提供一种页面生成系统,所述系统包括配置系统和业务系统;所述业务系统用于:
从所述配置系统中获取目标页面的配置数据,所述配置数据包括组件的标识、组件的属性类型以及组件之间的关系;以及,根据所述组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与所述组件的标识对应的组件代码;以及,根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码;以及,解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息;以及,根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件;以及,执行所述代码文件以生成所述目标页面。
在一种可能的实现方式中,所述组件的属性类型包括事件;所述预先设置的属性类型与逻辑代码的对应关系包括事件与逻辑代码的对应关系;
所述业务系统具体用于:
如果所述组件的属性类型为事件,则根据所述组件的事件以及预先设置的事件与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的事件所需的事件逻辑代码。
在一种可能的实现方式中,所述组件的属性类型还包括功能;所述预先设置的属性类型与逻辑代码的对应关系还包括功能与逻辑代码的对应关系;
所述业务系统具体用于:
如果所述组件的属性类型为功能,则根据所述组件的功能以及预先设置的功能与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的功能所需的功能逻辑代码。
在一种可能的实现方式中,所述组件的属性类型还包括控制参数;所述预先设置的属性类型与逻辑代码的对应关系还包括控制参数与逻辑代码的对应关系;
所述业务系统具体用于:
如果所述组件的属性类型为控制参数,则根据所述组件的控制参数以及预先设置的控制参数与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的控制参数所需的控制参数逻辑代码。
在一种可能的实现方式中,所述业务系统具体用于:
采用FS模块根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码、触发所述组件的事件所需的事件逻辑代码、触发所述组件的功能所需的功能逻辑代码以及触发所述组件的控制参数所需的控制参数逻辑代码,生成所述目标页面的代码文件。
在一种可能的实现方式中,所述业务系统具体用于:
采用递归循环的方法,解析所述目标页面的配置数据,得到所述目标页面中包含的组件以及所述组件之间的关系;以及,采用Redux方法,解析所述目标页面的配置数据,得到所述组件与属性类型之间的联系;以及,根据所述目标页面中包含的组件、所述组件之间的关系以及所述组件与属性类型之间的联系,确定所述组件在所述目标页面中的架构信息。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序或智能合约,所述计算机程序或智能合约被节点加载并执行以实现上述实施例提供的事务处理方法。可选地,上述计算机可读存储介质可以是只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (13)

1.一种页面生成方法,其特征在于,所述方法包括:
获取目标页面的配置数据,所述配置数据包括组件的标识、组件的属性类型以及组件之间的关系,所述配置数据还包括页面名称、路由地址和首屏数据;
根据所述组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与所述组件的标识对应的组件代码;
根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码;
解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息;
根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件;
执行所述代码文件以生成所述目标页面。
2.根据权利要求1所述的方法,其特征在于,所述组件的属性类型包括事件;所述预先设置的属性类型与逻辑代码的对应关系包括事件与逻辑代码的对应关系;
根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码,包括:
如果所述组件的属性类型为事件,则根据所述组件的事件以及预先设置的事件与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的事件所需的事件逻辑代码。
3.根据权利要求2所述的方法,其特征在于,所述组件的属性类型还包括功能;所述预先设置的属性类型与逻辑代码的对应关系还包括功能与逻辑代码的对应关系;
根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码,包括:
如果所述组件的属性类型为功能,则根据所述组件的功能以及预先设置的功能与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的功能所需的功能逻辑代码。
4.根据权利要求3所述的方法,其特征在于,所述组件的属性类型还包括控制参数;所述预先设置的属性类型与逻辑代码的对应关系还包括控制参数与逻辑代码的对应关系;
根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码,包括:
如果所述组件的属性类型为控制参数,则根据所述组件的控制参数以及预先设置的控制参数与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的控制参数所需的控制参数逻辑代码。
5.根据权利要求4所述的方法,其特征在于,根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件,包括:
采用FS模块根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码、触发所述组件的事件所需的事件逻辑代码、触发所述组件的功能所需的功能逻辑代码以及触发所述组件的控制参数所需的控制参数逻辑代码,生成所述目标页面的代码文件。
6.根据权利要求1所述的方法,其特征在于,解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息,包括:
采用递归循环的方法,解析所述目标页面的配置数据,得到所述目标页面中包含的组件以及所述组件之间的关系;
采用Redux方法,解析所述目标页面的配置数据,得到所述组件与属性类型之间的联系;
根据所述目标页面中包含的组件、所述组件之间的关系以及所述组件与属性类型之间的联系,确定所述组件在所述目标页面中的架构信息。
7.一种页面生成装置,其特征在于,所述装置包括:
获取单元,用于获取目标页面的配置数据,所述配置数据包括组件的标识、组件的属性类型以及组件之间的关系,所述配置数据还包括页面名称、路由地址和首屏数据;
处理单元,用于根据所述组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与所述组件的标识对应的组件代码;以及,根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码;以及,解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息;
生成单元,用于根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件;以及,执行所述代码文件以生成所述目标页面。
8.根据权利要求7所述的装置,其特征在于,所述组件的属性类型包括事件;所述预先设置的属性类型与逻辑代码的对应关系包括事件与逻辑代码的对应关系;
所述处理单元具体用于:
如果所述组件的属性类型为事件,则根据所述组件的事件以及预先设置的事件与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的事件所需的事件逻辑代码。
9.根据权利要求8所述的装置,其特征在于,所述组件的属性类型还包括功能;所述预先设置的属性类型与逻辑代码的对应关系还包括功能与逻辑代码的对应关系;
所述处理单元具体用于:
如果所述组件的属性类型为功能,则根据所述组件的功能以及预先设置的功能与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的功能所需的功能逻辑代码。
10.根据权利要求9所述的装置,其特征在于,所述组件的属性类型还包括控制参数;所述预先设置的属性类型与逻辑代码的对应关系还包括控制参数与逻辑代码的对应关系;
所述处理单元具体用于:
如果所述组件的属性类型为控制参数,则根据所述组件的控制参数以及预先设置的控制参数与逻辑代码的对应关系,从所述第二数据库中确定触发所述组件的控制参数所需的控制参数逻辑代码。
11.根据权利要求10所述的装置,其特征在于,所述生成单元具体用于:
采用FS模块根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码、触发所述组件的事件所需的事件逻辑代码、触发所述组件的功能所需的功能逻辑代码以及触发所述组件的控制参数所需的控制参数逻辑代码,生成所述目标页面的代码文件。
12.根据权利要求7所述的装置,其特征在于,所述处理单元具体用于:
采用递归循环的方法,解析所述目标页面的配置数据,得到所述目标页面中包含的组件以及所述组件之间的关系;以及,采用Redux方法,解析所述目标页面的配置数据,得到所述组件与属性类型之间的联系;以及,根据所述目标页面中包含的组件、所述组件之间的关系以及所述组件与属性类型之间的联系,确定所述组件在所述目标页面中的架构信息。
13.一种页面生成系统,其特征在于,所述系统包括配置系统和业务系统;所述业务系统用于:
从所述配置系统中获取目标页面的配置数据,所述配置数据包括组件的标识、组件的属性类型以及组件之间的关系,所述配置数据还包括页面名称、路由地址和首屏数据;以及,根据所述组件的标识以及预先设置的组件的标识与组件代码的对应关系,从预设的第一数据库中确定与所述组件的标识对应的组件代码;以及,根据所述组件的属性类型以及预先设置的属性类型与逻辑代码的对应关系,从预设的第二数据库中确定触发所述组件的属性类型所需的逻辑代码;以及,解析所述目标页面的配置数据,确定所述组件在所述目标页面中的架构信息;以及,根据所述组件在所述目标页面中的架构信息、与所述组件的标识对应的组件代码以及执行所述属性类型的组件所需的逻辑代码,生成所述目标页面的代码文件;以及,执行所述代码文件以生成所述目标页面。
CN201910535448.6A 2019-06-19 2019-06-19 一种页面生成方法、装置及系统 Active CN110244942B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910535448.6A CN110244942B (zh) 2019-06-19 2019-06-19 一种页面生成方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910535448.6A CN110244942B (zh) 2019-06-19 2019-06-19 一种页面生成方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110244942A CN110244942A (zh) 2019-09-17
CN110244942B true CN110244942B (zh) 2023-03-21

Family

ID=67888342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910535448.6A Active CN110244942B (zh) 2019-06-19 2019-06-19 一种页面生成方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110244942B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795095B (zh) * 2019-09-20 2021-05-18 贝壳找房(北京)科技有限公司 建立业务逻辑组件与业务组件及生成页面的方法与系统
CN112579068A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 代码的生成方法、装置、存储介质和设备
CN111752560A (zh) * 2019-11-25 2020-10-09 京东安联财产保险有限公司 组件生成方法、装置、计算机设备及计算机可读存储介质
CN111078198A (zh) * 2019-11-25 2020-04-28 网易(杭州)网络有限公司 前端页面处理方法、装置、设备及计算机可读存储介质
CN111241454B (zh) * 2020-01-21 2024-05-07 合肥优荃信息科技有限公司 一种生成网页代码的方法、系统和装置
CN111580819B (zh) * 2020-05-21 2022-03-11 深圳华锐金融技术股份有限公司 页面生成方法、装置、计算机设备和存储介质
CN114089982A (zh) * 2020-11-03 2022-02-25 西安京迅递供应链科技有限公司 前端页面生成方法、装置、设备和介质
CN112527260B (zh) * 2020-12-21 2024-07-12 杭州趣链科技有限公司 表单json数据的生成方法、设备及存储介质
CN114518879A (zh) * 2021-01-07 2022-05-20 深圳思为科技有限公司 一种页面的生成方法、装置以及处理设备
CN113835693B (zh) * 2021-09-15 2024-03-08 欧电云信息科技(江苏)有限公司 代码生成方法、装置、电子设备、存储介质
CN114217782B (zh) * 2022-02-22 2022-05-27 深圳市明源云科技有限公司 交互页面自动生成方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007121630A1 (fr) * 2006-04-23 2007-11-01 Huawei Technologies Co., Ltd. Procédé et terminal de client permettant de produire deux systèmes de gestion de réseau
WO2017077544A1 (en) * 2015-11-05 2017-05-11 Vishal Shah G-mvc architecture by providing view rules to handle the action events of controller and states of model
CN109460276A (zh) * 2018-10-25 2019-03-12 北京字节跳动网络技术有限公司 页面和页面配置文件生成方法、装置、终端设备及介质
CN109471626A (zh) * 2018-10-11 2019-03-15 深圳市金证科技股份有限公司 页面逻辑结构、页面生成方法、页面数据处理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529948B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
CN104216691B (zh) * 2013-05-31 2017-11-17 华为技术有限公司 一种创建应用的方法及装置
CN107015851A (zh) * 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种服务组件管理方法及系统
CN106250128B (zh) * 2016-07-26 2019-12-10 网易(杭州)网络有限公司 用户界面的显示处理方法及装置
CN108733375A (zh) * 2018-05-29 2018-11-02 厦门白山耘科技有限公司 web前端配置化开发方法、装置、存储介质及计算机设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007121630A1 (fr) * 2006-04-23 2007-11-01 Huawei Technologies Co., Ltd. Procédé et terminal de client permettant de produire deux systèmes de gestion de réseau
WO2017077544A1 (en) * 2015-11-05 2017-05-11 Vishal Shah G-mvc architecture by providing view rules to handle the action events of controller and states of model
CN109471626A (zh) * 2018-10-11 2019-03-15 深圳市金证科技股份有限公司 页面逻辑结构、页面生成方法、页面数据处理方法及装置
CN109460276A (zh) * 2018-10-25 2019-03-12 北京字节跳动网络技术有限公司 页面和页面配置文件生成方法、装置、终端设备及介质

Also Published As

Publication number Publication date
CN110244942A (zh) 2019-09-17

Similar Documents

Publication Publication Date Title
CN110244942B (zh) 一种页面生成方法、装置及系统
US8122292B2 (en) Debugging of business flows deployed in production servers
US20230057335A1 (en) Deployment of self-contained decision logic
WO2018228211A1 (zh) 应用转换方法、装置及设备
US9021440B1 (en) System and method for automated test script generation
US8108834B2 (en) Defining and executing processes using declarative programming language constructs
CN111427561A (zh) 业务代码的生成方法、装置、计算机设备和存储介质
CN111045655A (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
Woodside et al. Transformation challenges: from software models to performance models
US8589864B2 (en) Automating the creation of an application provisioning model
US20050268280A1 (en) Encapsulating changes to a software application
US20120266131A1 (en) Automatic program generation device, method, and computer program
CN108845940A (zh) 一种企业级信息系统自动化功能测试方法和系统
US10303444B2 (en) Composable application session parameters
US9542656B2 (en) Supporting ETL processing in BPEL-based processes
CN110806868A (zh) 一种单页面搭建及加载方法
US20230060787A1 (en) System and Method for Real-Time, Dynamic Creation, Delivery, and Use of Customizable Web Applications
CN113326030A (zh) 一种业务请求的处理方法和装置
Fdez‐Riverola et al. A JAVA application framework for scientific software development
US11604662B2 (en) System and method for accelerating modernization of user interfaces in a computing environment
US8412744B2 (en) Visualization of runtime analysis across dynamic boundaries
CN111124386B (zh) 基于Unity的动画事件处理方法、装置、设备和存储介质
CN117971350A (zh) 小程序运行方法、装置和计算机可读存储介质
CN114449063A (zh) 一种报文处理方法、装置及设备
Gharibi et al. ArchFeature: Integrating features into product line architecture

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231130

Address after: 230012 In the factory building of Anhui Guogou Energy Co., Ltd., 100 meters east of the intersection of Guanjing Road and Luban Road in Xinzhan District, Hefei City, Anhui Province

Patentee after: Hefei Youquan Information Technology Co.,Ltd.

Address before: 100102 room 323701, building 5, yard 1, Futong East Street, Chaoyang District, Beijing

Patentee before: YOUXINPAI (BEIJING) INFORMATION TECHNOLOGY Co.,Ltd.