CN112130842A - 一种页面生成方法和装置 - Google Patents
一种页面生成方法和装置 Download PDFInfo
- Publication number
- CN112130842A CN112130842A CN201910551477.1A CN201910551477A CN112130842A CN 112130842 A CN112130842 A CN 112130842A CN 201910551477 A CN201910551477 A CN 201910551477A CN 112130842 A CN112130842 A CN 112130842A
- Authority
- CN
- China
- Prior art keywords
- description language
- page description
- configuration
- page
- rule
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation 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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种页面生成方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据用户在业务模板上的配置操作生成页面描述语言片段,对页面描述语言片段校验,在校验通过情况下,将页面描述语言片段加入业务模板的页面描述语言以更新业务模板的页面描述语言,重复上述过程,直到收到配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言;将稳定态页面描述语言下发到页面生成端解析生成页面。该实施方式能解决定制化产品开发带来的人力浪费问题,有更细封装粒度,用户通过配置操作即可生成灵活多变样式,让用户能按需灵活搭配,开发效率高、成本低,解决相同功能及组件复用问题,可扩展性大大增强。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种页面生成方法和装置。
背景技术
在各式各样的页面搭建平台中,多采用业务定制化方式。针对既定业务,开发定制化的样式模板,搭配固定数据来源的数据,下发生成的配置数据,三端(即安卓、iOS、H5)同步开发定制化样式,获取下发的数据后,将数据填入样式并上线使用。
现有方案开发产品过于定制化,同样式的样式模板,需三端及可视化同步开发三次;过于业务化,产品划分以业务为维度,产品一经开发完成,大体样式基本固定,可调整程度有限;产品划分粒度不够细,各产品可能使用相同样式或功能,但在以业务模板为划分粒度的情况下,相同样式或功能难以复用,需重新开发。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
定制化产品开发带来很大的人力浪费,开发效率低、成本高,相同功能及组件难以复用,可扩展性差。
发明内容
有鉴于此,本发明实施例提供一种页面生成方法和装置,能够解决定制化产品开发带来的人力浪费的问题,具有更细的封装粒度,用户通过配置操作即可生成灵活多变的样式,让用户能够按需灵活搭配,开发效率高、成本低,解决相同功能及组件的复用问题,并且可扩展性大大增强。
为实现上述目的,根据本发明实施例的一个方面,提供了一种页面生成方法。
一种页面生成方法,包括:根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将所述页面描述语言片段加入所述业务模板的页面描述语言,以更新所述业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,所述稳定态页面描述语言用于描述所述用户配置完成后的所述业务模板;将所述稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。
可选地,通过可视化界面接收所述配置操作,所述配置操作包括样式配置、事件配置、数据源配置,并且,在根据用户在业务模板上的配置操作生成页面描述语言片段之前,通过所述可视化界面接收用户输入的模板选择信息,以根据所述模板选择信息选择所述业务模板,并生成所述业务模板的页面描述语言。
可选地,对生成的页面描述语言片段进行校验的步骤,包括:对所述页面描述语言片段进行解析,以确定所述页面描述语言片段对应的规则集以及所述规则集中各规则的参数值;使用所述参数值执行所述各规则,如果在执行过程中未报错,则所述校验通过,否则所述校验未通过。
可选地,对所述页面描述语言片段进行解析,以确定所述页面描述语言片段对应的规则集以及所述规则集中各规则的参数值,包括:根据配置表中配置操作、配置操作的操作对象以及规则集的预设对应关系,确定所述页面描述语言片段对应的规则集,所述操作对象指数据、样式、或事件;以及,对所述页面描述语言片段进行预设操作,以读取和/或计算所述各规则的参数值。
可选地,所述规则集包括需当前执行的规则和可延迟执行的规则,按照规则类型和规则的参数个数,将所述需当前执行的规则依次放入执行队列,以及将所述可延迟执行的规则依次放入阻塞队列,在执行所述各规则时优先执行所述执行队列,在所述执行队列执行完成后开始执行所述阻塞队列。
可选地,还包括将所述配置操作存入操作记录栈,并在所述页面描述语言片段校验未通过的情况下,将相应的配置操作从所述操作记录栈退栈以撤销该配置操作,和/或向用户输出错误提示信息。
根据本发明实施例的另一方面,提供了一种页面生成装置。
一种页面生成装置,包括:页面描述语言生成和校验模块,用于根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将所述页面描述语言片段加入所述业务模板的页面描述语言,以更新所述业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,所述稳定态页面描述语言用于描述所述用户配置完成后的所述业务模板;页面生成模块,用于将所述稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。
可选地,还包括配置操作接收模块,所述页面描述语言生成和校验模块还包括页面描述语言生成子模块,所述配置操作接收模块用于通过可视化界面接收所述配置操作,所述配置操作包括样式配置、事件配置、数据源配置;所述配置操作接收模块还用于通过所述可视化界面接收用户输入的模板选择信息,以根据所述模板选择信息选择所述业务模板;所述页面描述语言生成子模块用于生成所述业务模板的页面描述语言。
可选地,所述页面描述语言生成和校验模块还包括校验子模块,用于:对所述页面描述语言片段进行解析,以确定所述页面描述语言片段对应的规则集以及所述规则集中各规则的参数值;使用所述参数值执行所述各规则,如果在执行过程中未报错,则所述校验通过,否则所述校验未通过。
可选地,所述校验子模块包括规则集确定单元和参数值确定单元,所述规则集确定单元用于根据配置表中配置操作、配置操作的操作对象以及规则集的预设对应关系,确定所述页面描述语言片段对应的规则集,所述操作对象指数据、样式、或事件;所述参数值确定单元用于对所述页面描述语言片段进行预设操作,以读取和/或计算所述各规则的参数值。
可选地,所述规则集包括需当前执行的规则和可延迟执行的规则,所述校验子模块还包括执行单元,用于:按照规则类型和规则的参数个数,将所述需当前执行的规则依次放入执行队列,以及将所述可延迟执行的规则依次放入阻塞队列,在执行所述各规则时优先执行所述执行队列,在所述执行队列执行完成后开始执行所述阻塞队列。
可选地,还包括处理模块,用于:将所述配置操作存入操作记录栈,并在所述页面描述语言片段校验未通过的情况下,将相应的配置操作从所述操作记录栈退栈以撤销该配置操作,和/或向用户输出错误提示信息。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明提供的页面生成方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的页面生成方法。
上述发明中的一个实施例具有如下优点或有益效果:根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将页面描述语言片段加入业务模板的页面描述语言,以更新业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,稳定态页面描述语言用于描述所述用户配置完成后的所述业务模板;将稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。能够解决定制化产品开发带来的人力浪费的问题,具有更细的封装粒度,用户通过配置操作即可生成灵活多变的样式,让用户能够按需灵活搭配,开发效率高、成本低,解决相同功能及组件的复用问题,并且可扩展性大大增强。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的页面生成方法的主要步骤示意图;
图2是根据本发明一个实施例的页面生成过程示意图;
图3是根据本发明一个实施例的页面描述语言的生成和校验过程示意图;
图4是根据本发明实施例的页面生成装置的主要模块示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
图1是根据本发明实施例的页面生成方法的主要步骤示意图。
如图1所示,本发明实施例的页面生成方法的主要包括如下的步骤S101、S102。
S101:根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将页面描述语言片段加入业务模板的页面描述语言,以更新业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言。
稳定态页面描述语言用于描述用户配置完成后的业务模板。业务模板的页面描述语言最初是根据用户选择的业务模板生成的,用于描述用户选择的业务模板。在用户在该业务模板上进行配置操作之后,业务模板的页面描述语言随之更新,例如用户进行第一步配置操作之后,业务模板的页面描述语言更新后即用于描述进行了该步配置操作之后的当前业务模板。
本发明的页面描述语言即DSL(领域特定语言),是指在页面描述领域的特定语言,相应地,稳定态页面描述语言也可以称为稳定态DSL,页面描述语言片段也可以称为DSL片段。
可以通过可视化界面接收配置操作,配置操作可以包括样式配置、事件配置、数据源配置,并且,在根据用户在业务模板上的配置操作生成页面描述语言片段之前,通过可视化界面接收用户输入的模板选择信息,以根据模板选择信息选择业务模板,并生成业务模板的页面描述语言。
对生成的页面描述语言片段进行校验的步骤,具体可以包括:对页面描述语言片段进行解析,以确定页面描述语言片段对应的规则集以及规则集中各规则的参数值;使用确定出的参数值执行各规则,如果在执行过程中未报错,则校验通过,否则校验未通过。
对页面描述语言片段进行解析,以确定页面描述语言片段对应的规则集以及所述规则集中各规则的参数值,具体可以包括:根据配置表中配置操作、配置操作的操作对象以及规则集的预设对应关系,确定页面描述语言片段对应的规则集,操作对象指数据、样式、或事件;以及,对页面描述语言片段进行预设操作,以读取和/或计算各规则的参数值。预设操作可以包括但不限于分词、正则、运算符计算、特殊字符重载、路径匹配等操作。
规则集可以包括需当前执行的规则和可延迟执行的规则,按照规则类型和规则的参数个数,将需当前执行的规则依次放入执行队列,以及将可延迟执行的规则依次放入阻塞队列,例如某一类型的规则先入队,同一类型规则根据参数个数的多少入队等等。在执行各规则时优先执行执行队列,在执行队列执行完成后开始执行阻塞队列。需当前执行的规则和可延迟执行的规则可以由用户在配置表中配置确定。
还可以将配置操作存入操作记录栈,并在页面描述语言片段校验未通过的情况下,将相应的配置操作从操作记录栈退栈以撤销该配置操作,和/或向用户输出错误提示信息。
S102:将稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。
图2是根据本发明一个实施例的页面生成过程示意图。
通过可视化界面接收用户输入的模板选择信息,以根据模板选择信息选择业务模板,并生成业务模板的页面描述语言。用户可以根据业务类型来选择业务模板,并根据需求对业务模板进行配置操作。
本发明实施例提供以单个样式为单位的样式配置项、支持链式触发的事件配置项、支持扩展数据源的数据配置项,用户可以基于样式配置项、事件配置项、数据配置项相应地进行样式配置、事件配置、数据源配置。通过可视化界面接收用户对业务模板的样式配置、事件配置、数据源配置等配置操作,例如在可视化界面上可以展示给用户树状容器列表、拖拽预览区域、配置区域,以方便用户进行上述配置操作。
其中,将组件以单个样式(例如宽、高等)为粒度进行封装,以便在面对不同业务需求时,根据用户的样式配置灵活组合,并且允许样式嵌套组合使用,快速生成针对当前业务的样式模板,保证页面搭建的灵活性。
预先制定接口通用协议,以便可以接收用户按照协议约定制定的第三方数据源,使得用户能根据需要自定义配置数据源,自由选择使用指定数据源或接入第三方数据源,简化流程,更快捷地展示用户所需展示的内容。
链式触发的事件是指通过客户行为触发而调用的事件,例如在电商领域,客户点击关注店铺之后,调用将UI(用户界面)状态改变成已关注,同时给客户发放店铺优惠券的事件。
根据图2,用户在选择的业务模板上执行第一步配置操作之后,得到自定义样式模板,根据本步配置操作生成一页面描述语言片段,校验该页面描述语言片段的合法性,如果合法,则将该页面描述语言片段加入业务模板的页面描述语言中,用户可以继续下一步进行其他的配置操作;如果不合法,则提示用户在下一步修改或重新进行配置操作,在用户进行第二步配置操作后,上述自定义样式模板随之更新,并且根据第二步配置操作生成又一页面描述语言片段,对该又一页面描述语言片段校验合法性,如果合法,则将该又一页面描述语言片段也加入业务模板的页面描述语言,此时的业务模板的页面描述语言包括上述两步配置操作对应的页面描述语言片段,然后用户再继续下一步进行其他的配置操作;如果该又一页面描述语言片段不合法,则再提示用户在下一步修改或重新进行配置操作,以便用户进行第三步配置操作,以此类推,直到用户配置完成后,得到最终的页面描述语言,即包括所有校验通过的页面描述语言片段的页面描述语言,称其为稳定态页面描述语言,将最终的页面描述语言下发到三端(即iOS、安卓、H5三端),以便三端通过约定的解析方式解析该最终的页面描述语言,以生成展示界面(页面)。其中,用户配置完成指的是用户完成对业务模板的所有配置,而不再进行下一步配置,用户配置完成后的自定义样式模板也称为用户配置完成后的业务模板。
本发明实施例支持可视化生成页面描述语言(DSL)片段,针对每次配置操作入栈,在生成的页面描述语言片段校验未通过的情况下,提供用户实时回溯或退栈功能,包括将相应的配置操作从操作记录栈退栈以撤销该配置操作,和/或,向用户输出错误提示信息以便用户修改或重新进行配置操作。
用户配置完成后的业务模板可以存储在预设位置,也可以共享给其他用户。另外,用户最初选择的业务模板可以是给定的预设样式的模板,也可以是保存的其他用户配置完成后的业务模板,用户在该最初选择的业务模板上进行配置操作可以得到符合自身业务需求的自定义的业务模板。本发明实施例还可以固化模板配置并提升入口层级,以方便用户使用。由于增加样式收藏(保存)功能,可以实时获取线上用户共享的模板数据,从而实现一人贡献、多人共享,一次配置、永久使用。
下面对页面描述语言片段的校验进行详细介绍。
本发明实施例将校验规则按照最小粒度存储为各个规则,例如,配置操作为向父容器中固定区域添加子容器,那么需要计算子容器可以拖动的范围,该计算的方法即为一个规则,规则具有参数,对于本例,父容器当前的相对坐标及宽高即为该规则的参数,某一规则的参数值可以是直接能够读取到的数值,也可以是其他规则的执行结果或经过运算得到的数值。规则集中还可以包括因业务需求产生的联动规则,例如父子级容器的尺寸联动规则,具体地,假设子容器尺寸居中于父容器,那么当配置操作为调整父容器尺寸时,子容器尺寸需要联动调整,需要执行子容器尺寸联动调整的规则。
用户可以按照书写规范在配置表中设定配置操作、配置操作的操作对象以及规则集的预设对应关系,并且配置表中还设定了规则集中需当前执行的规则和可延迟执行的规则,具体哪些规则是当前执行的规则和可延迟执行的规则是用户根据业务需求设定的,例如可延迟执行的规则可以是因业务需求产生的联动规则。由规则集可以得到完整的校验规则。例如,某配置操作为对子容器的拖动操作,校验规则用于校验该子容器的拖动操作是否超出边界,那么校验规则按照最小粒度存储,即存储为如下的一组规则:当前子容器位置数据收集规则、边界计算规则、越界判定规则,当前子容器位置数据收集规则的参数值可以直接从业务模板当前的页面描述语言中获取,子容器位置数据收集规则的执行结果,是边界计算规则的入参,边界计算规则的执行结果是越界判定规则的入参。通过执行这组规则集,来校验根据子容器的拖动操作所生成的页面描述语言片段是否合法,如果合法表示子容器的拖动操作未超出边界,如果不合法表示该拖动操作超出边界,当页面描述语言校验未通过(即不合法)时,可以将本次拖动操作从操作记录栈退栈以撤销该拖动操作,和/或向用户输出错误提示信息以便用户在下一步配置操作中改正。
本发明实施例还可以根据用户选择的业务模板确定业务类型,在按照配置表中设定的配置操作、配置操作的操作对象以及规则集的预设对应关系确定所使用的规则集之后,调用该业务类型下的该规则集来执行。操作对象指数据、样式、或事件。
对页面描述语言片段进行预设操作,以读取和/或计算规则集中各规则的参数值。具体地,获取配置操作产生的页面描述语言片段和该配置操作对应的变动内容之后,可以对按照约定描述的DSL片段进行解析,通过分词、正则、运算符计算、特殊字符重载、路径匹配等操作,识别DSL片段中包含的路径、字段、运算符,进行字段取值、相应数据结构查询、值计算等相应动作,以读取和/或计算规则集中各规则的参数值。例如,根据识别出的路径在当前业务模板的页面描述语言中寻址得到具体参数值,或通过值计算来得到具体参数值,等等。需要说明的是,个别参数值还可以是所属规则所依赖的其他规则的执行结果。
在执行规则集时,将配置表设定的需当前执行的规则放入执行队列,可延迟执行的规则放入阻塞队列。执行队列和阻塞队列中的规则按照规则类型和规则的参数个数排序。先执行执行队列,若数据无误则依次执行,并在执行队列执行完成后开始执行阻塞队列。阻塞队列可以浏览器空闲时执行。如果执行队列或阻塞队列执行时有报错,则页面描述语言片段校验未通过,如果无报错,则校验通过。其中报错可以是因数据出错或执行结果不符合预设要求引起的。例如,对于日历选择器,样式本身固有规则要求开始时间不能晚于结束时间,特定业务规则要求时间跨度不能超过一个月,如果不符合这些要求,规则执行将报错。一旦报错,则返回错误内容,并清空执行队列和阻塞队列。
作为一种可选实施方式,对返回的错误内容的类型进行判断,如果为提示类型,则向用户输出相应的错误提示信息,如果为强制类型,则将操作记录栈中的相应配置操作退栈。
作为另一种可选实施方式,根据返回的错误内容向用户输出错误提示信息,并同时将操作记录栈中的相应配置操作退栈。
本实施例将规则与可视化配置操作剥离,方便规则的修改和后续业务规则或样式规则的新增。对每一步的配置操作生成的页面描述语言片段进行校验,以使页面描述语言片段符合样式本身固有规则(简称样式规则,例如:必须为既定数据类型)和业务规则(例如:尺寸限制,嵌套规则限制)。
将校验通过的页面描述语言片段加入业务模板的页面描述语言,以更新业务模板的页面描述语言,当用户配置完成后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,将该稳定态页面描述语言下发到三端(即iOS、安卓、H5三个页面生成端)使用,三端按照既定规则,解析下发的页面描述语言,即可在不需要固定样式的情况下绘制出相应内容的页面。由于校验逻辑在配置操作的阶段已经完成,因此三端可以获得完全合法的页面描述语言。
图3是根据本发明一个实施例的页面描述语言的生成和校验过程示意图。如图3所示,可视化拖拽界面即可视化界面,在可视化界面上产生操作,以进行容器的样式改动(简称改动)的操作为例,相应进行数据联动处理,生成与改动对应的virtual dsl(表示DSL片段),同时将改动添加到操作记录栈(本例包括拖拽文本、改宽度、设置图片、拖拽图片、选择容器),验证virtual dsl,图3中DSLlint表示执行校验操作的模块,通用、平铺、滑动表示三种初始容器的基本验证规则,通过执行本改动相应的容器类型对应的规则集来校验DSL片段。如果校验失败(即验证失败),则对该改动出栈,以撤销改动,并返回错误信息,以向用户提示错误。如果校验成功(即验证成功),则通知可视化界面,以便根据该改动渲染界面。
本发明实施例在可视化搭建部分可以由用户通过可视化界面对业务模板进行配置操作,以对相应样式进行微调,并搭配出用户所需的样式模板,生成相应的页面描述语言片段,同时通过操作记录栈记录相应的可视化搭建操作步骤,并通过执行规则集对页面描述语言片段进行校验,在校验未通过时提供用户实时回溯或退栈功能,保证页面搭建的灵活性和安全性。另外,规则与搭建操作平台剥离,延展性好,并可以实现多平台适配,用户可以按照书写规范在配置表中设定配置操作、配置操作的操作对象以及规则集的预设对应关系,以及设定需当前执行的规则和可延迟执行的规则,书写的灵活度高,并且大大提高业务的延展性。
图4是根据本发明实施例的页面生成装置的主要模块示意图。
如图4所示,本发明实施例的页面生成装置400主要包括:页面描述语言生成和校验模块401、页面生成模块402。
页面描述语言生成和校验模块401,用于根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将页面描述语言片段加入业务模板的页面描述语言,以更新业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,稳定态页面描述语言用于描述用户配置完成后的业务模板;
页面生成模块402,用于将稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。
页面生成装置400还可以包括配置操作接收模块,配置操作接收模块用于通过可视化界面接收所述配置操作,配置操作包括样式配置、事件配置、数据源配置;配置操作接收模块还用于通过所述可视化界面接收用户输入的模板选择信息,以根据所述模板选择信息选择所述业务模板;
页面描述语言生成和校验模块401还可以包括页面描述语言生成子模块,页面描述语言生成子模块用于生成业务模板的页面描述语言。
页面描述语言生成和校验模块401还可以包括校验子模块,用于:对页面描述语言片段进行解析,以确定页面描述语言片段对应的规则集以及规则集中各规则的参数值;使用确定出的参数值执行各规则,如果在执行过程中未报错,则校验通过,否则校验未通过。
校验子模块可以包括规则集确定单元和参数值确定单元,规则集确定单元用于根据配置表中配置操作、配置操作的操作对象以及规则集的预设对应关系,确定页面描述语言片段对应的规则集,操作对象指数据、样式、或事件;参数值确定单元用于对页面描述语言片段进行预设操作,以读取和/或计算各规则的参数值。
规则集可以包括需当前执行的规则和可延迟执行的规则。
校验子模块还可以包括执行单元,用于:按照规则类型和规则的参数个数,将需当前执行的规则依次放入执行队列,以及将可延迟执行的规则依次放入阻塞队列,在执行各规则时优先执行执行队列,在执行队列执行完成后开始执行阻塞队列。
页面生成装置400还可以包括处理模块,用于:将配置操作存入操作记录栈,并在页面描述语言片段校验未通过的情况下,将相应的配置操作从操作记录栈退栈以撤销该配置操作,和/或向用户输出错误提示信息。
另外,在本发明实施例中页面生成装置的具体实施内容,在上面所述页面生成方法中已经详细说明了,故在此重复内容不再说明。
图5示出了可以应用本发明实施例的页面生成方法或页面生成装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的页面生成方法一般由服务器505执行,相应地,页面生成装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统600的结构示意图。图6示出的终端设备或服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考主要步骤示意图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤示意图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的主要步骤示意图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,主要步骤示意图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或主要步骤示意图中的每个方框、以及框图或主要步骤示意图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括页面描述语言生成和校验模块、页面生成模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,页面生成模块还可以被描述为“用于将稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将所述页面描述语言片段加入所述业务模板的页面描述语言,以更新所述业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,所述稳定态页面描述语言用于描述所述用户配置完成后的所述业务模板;将所述稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。
根据本发明实施例的技术方案,根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将页面描述语言片段加入业务模板的页面描述语言,以更新业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,稳定态页面描述语言用于描述所述用户配置完成后的所述业务模板;将稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。能够解决定制化产品开发带来的人力浪费的问题,具有更细的封装粒度,用户通过配置操作即可生成灵活多变的样式,让用户能够按需灵活搭配,开发效率高、成本低,解决相同功能及组件的复用问题,并且可扩展性大大增强。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种页面生成方法,其特征在于,包括:
根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将所述页面描述语言片段加入所述业务模板的页面描述语言,以更新所述业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,所述稳定态页面描述语言用于描述所述用户配置完成后的所述业务模板;
将所述稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。
2.根据权利要求1所述的方法,其特征在于,通过可视化界面接收所述配置操作,所述配置操作包括样式配置、事件配置、数据源配置,并且,
在根据用户在业务模板上的配置操作生成页面描述语言片段之前,通过所述可视化界面接收用户输入的模板选择信息,以根据所述模板选择信息选择所述业务模板,并生成所述业务模板的页面描述语言。
3.根据权利要求1所述的方法,其特征在于,对生成的页面描述语言片段进行校验的步骤,包括:
对所述页面描述语言片段进行解析,以确定所述页面描述语言片段对应的规则集以及所述规则集中各规则的参数值;
使用所述参数值执行所述各规则,如果在执行过程中未报错,则所述校验通过,否则所述校验未通过。
4.根据权利要求3所述的方法,其特征在于,对所述页面描述语言片段进行解析,以确定所述页面描述语言片段对应的规则集以及所述规则集中各规则的参数值,包括:
根据配置表中配置操作、配置操作的操作对象以及规则集的预设对应关系,确定所述页面描述语言片段对应的规则集,所述操作对象指数据、样式、或事件;以及,
对所述页面描述语言片段进行预设操作,以读取和/或计算所述各规则的参数值。
5.根据权利要求3所述的方法,其特征在于,所述规则集包括需当前执行的规则和可延迟执行的规则,按照规则类型和规则的参数个数,将所述需当前执行的规则依次放入执行队列,以及将所述可延迟执行的规则依次放入阻塞队列,在执行所述各规则时优先执行所述执行队列,在所述执行队列执行完成后开始执行所述阻塞队列。
6.根据权利要求1所述的方法,其特征在于,还包括将所述配置操作存入操作记录栈,并在所述页面描述语言片段校验未通过的情况下,将相应的配置操作从所述操作记录栈退栈以撤销该配置操作,和/或向用户输出错误提示信息。
7.一种页面生成装置,其特征在于,包括:
页面描述语言生成和校验模块,用于根据用户在业务模板上的配置操作生成页面描述语言片段,对生成的页面描述语言片段进行校验,在校验通过的情况下,将所述页面描述语言片段加入所述业务模板的页面描述语言,以更新所述业务模板的页面描述语言,重复上述过程,直到收到用户的配置完成指令后,得到包括所有校验通过的页面描述语言片段的稳定态页面描述语言,所述稳定态页面描述语言用于描述所述用户配置完成后的所述业务模板;
页面生成模块,用于将所述稳定态页面描述语言下发到页面生成端,按照既定规则解析以生成相应页面。
8.根据权利要求7所述的装置,其特征在于,还包括配置操作接收模块,所述页面描述语言生成和校验模块还包括页面描述语言生成子模块,
所述配置操作接收模块用于通过可视化界面接收所述配置操作,所述配置操作包括样式配置、事件配置、数据源配置;
所述配置操作接收模块还用于通过所述可视化界面接收用户输入的模板选择信息,以根据所述模板选择信息选择所述业务模板;
所述页面描述语言生成子模块用于生成所述业务模板的页面描述语言。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910551477.1A CN112130842A (zh) | 2019-06-24 | 2019-06-24 | 一种页面生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910551477.1A CN112130842A (zh) | 2019-06-24 | 2019-06-24 | 一种页面生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112130842A true CN112130842A (zh) | 2020-12-25 |
Family
ID=73849329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910551477.1A Pending CN112130842A (zh) | 2019-06-24 | 2019-06-24 | 一种页面生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112130842A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553047A (zh) * | 2021-07-28 | 2021-10-26 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种将dsl转换为可视化页面的方法及装置 |
CN113568618A (zh) * | 2021-07-14 | 2021-10-29 | 上海淇玥信息技术有限公司 | 一种可视化的页面生成方法、装置和电子设备 |
-
2019
- 2019-06-24 CN CN201910551477.1A patent/CN112130842A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568618A (zh) * | 2021-07-14 | 2021-10-29 | 上海淇玥信息技术有限公司 | 一种可视化的页面生成方法、装置和电子设备 |
CN113553047A (zh) * | 2021-07-28 | 2021-10-26 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种将dsl转换为可视化页面的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279932B (zh) | 一种移动终端动态配置用户界面方法和装置 | |
US9959198B1 (en) | Simulated testing of API | |
US11019168B2 (en) | System and method for integrating cloud applications into a cloud service broker platform using an automated, universal connector package | |
US20200057550A1 (en) | Method and apparatus for generating customized visualization component | |
CN106406826B (zh) | 联调任务创建、系统联调方法及装置 | |
CN112612452B (zh) | 一种api平台实现方法、装置、设备及存储介质 | |
CN107423893B (zh) | 一种业务流程的全覆盖测试方法和装置 | |
CN108829467A (zh) | 第三方平台对接实现方法、装置、设备及存储介质 | |
CN109582317B (zh) | 用于调试寄宿应用的方法和装置 | |
CN109981719A (zh) | 信息处理方法及其系统、计算机系统和计算机可读介质 | |
CA2846581A1 (en) | Data infrastructure for providing interconnectivity between platforms, devices and operating systems | |
WO2019029451A1 (zh) | 发布移动应用的方法和电子设备 | |
CN110928571A (zh) | 业务程序开发方法和装置 | |
CN112764726A (zh) | 一种数据合成的方法和装置 | |
CN112130842A (zh) | 一种页面生成方法和装置 | |
CN111381899A (zh) | 用于开发目标系统的方法和装置 | |
CN116382761A (zh) | 一种应用管理方法、电子设备及存储介质 | |
CN111801696A (zh) | 支付页面管理方法、设备、支付系统以及存储介质 | |
CN113760279A (zh) | 一种生成页面的方法和装置 | |
CN113312900A (zh) | 数据校验的方法和装置 | |
CN108170557B (zh) | 用于输出信息的方法和装置 | |
CN113077316A (zh) | 一种数据展示方法和装置 | |
CN109840073B (zh) | 业务流程的实现方法和装置 | |
CN113821430A (zh) | 一种多服务测试方法和装置 | |
CN112579428A (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 |