CN109597617B - 基于模板快速生成业务页面的方法和装置 - Google Patents
基于模板快速生成业务页面的方法和装置 Download PDFInfo
- Publication number
- CN109597617B CN109597617B CN201910072816.8A CN201910072816A CN109597617B CN 109597617 B CN109597617 B CN 109597617B CN 201910072816 A CN201910072816 A CN 201910072816A CN 109597617 B CN109597617 B CN 109597617B
- Authority
- CN
- China
- Prior art keywords
- page
- code
- service
- template
- business
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开公开了一种基于模板快速生成业务页面的方法、装置、电子设备和计算机可读存储介质。其中该基于模板快速生成业务页面的方法包括:构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程;构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。本公开实施例通过采取该基于模板快速生成业务页面的方案,解决了现有技术中业务应用的业务页面开发工作量大,开发效率低的技术问题。
Description
技术领域
本公开涉及计算机应用开发领域,尤其涉及一种基于模板快速生成业务页面的方法、装置、电子设备及计算机可读存储介质。
背景技术
现有技术中以浏览器网页页面技术为基础来开发各种业务应用是很广泛的,例如卡片式页面设计的业务应用,如抖音,头条等业务应用,业务应用中显示的各种信息以卡片的形式展示。其中每个卡片需要单独编写相应的代码,编码繁琐,效率低下。同时,现有技术中浏览器的种类众多,版本也众多,业务应用的业务页面要在众多的浏览器和版本中成功加载和呈现,需要加入很多实现兼容性的代码。
而这些业务应用的每一个页面所提供实现的业务场景都具有很多相同或相似的工作流程或交互方式,例如上述卡片式的页面,每一个卡片无论是样式、交互方式和数据类型与形式都具有很多相似性。这就导致现有技术中,在开发这种业务应用时,存在大量的重复性工作,开发中即容易导致错误,效率又严重低下。
如何减少业务应用中的业务页面开发工作量,提高开发效率是现有技术中亟待解决的技术问题。
发明内容
针对上述技术问题,本公开提出了一种基于模板快速生成业务页面的方法、装置、电子设备和计算机可读存储介质。
第一方面,本公开实施例提供一种基于模板快速生成业务页面的方法,包括:构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程;
构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;
基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;
将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。
进一步,所述基础页面的结构包括页面头和页面主体;所述页面头包含各种用于构建页面代码的函数库;所述页面主体包括多个脚本语言的功能函数,用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程。
进一步,所述函数库包括客户端jsbridge库,埋点sdk库,公共css库或公共js库中的一个或多个。
进一步,所述功能函数实现的功能包括页面数据获取,数据处理,模板渲染或渲染后页面的处理中的一个或多个。
进一步,所述页面模板的结构包括页面结构定义、业务流程函数和页面样式;其中所述业务流程函数用于实现相应的业务处理逻辑;所述页面样式用于定义基于该页面模板而生成的页面所呈现的页面样式。
进一步,所述页面结构定义包括多个,用于定义具体页面结构和必要数据。
进一步,所述基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码,包括:提取所述页面模板中的所有结构部分;分别针对每个所述结构部分,根据具体业务进行代码转换,生成所述业务场景的每一个页面的最终页面代码。
进一步,所述将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码,包括:将所述最终页面代码的每一个结构部分对应合并入所述基础页面的结构部分,生成所述业务页面的代码。
进一步,基于客户端环境加载展示所述业务页面来构建所述业务场景。
进一步,使用渐进式结构框架vue.js来组织模板结构。
第二方面,本公开实施例提供一种基于模板快速生成业务页面的装置,包括:
基础页面模块,用于构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程;
页面模板模块,用于构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;
转换模块,用于基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;
合并模块,用于将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。
进一步,所述基础页面的结构包括页面头和页面主体;所述页面头包含各种用于构建页面代码的函数库;所述页面主体包括多个脚本语言的功能函数,用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程。
进一步,所述函数库包括客户端jsbridge库,埋点sdk库,公共css库或公共js库中的一个或多个。
进一步,所述功能函数实现的功能包括页面数据获取,数据处理,模板渲染或渲染后页面的处理中的一个或多个。
进一步,所述页面模板的结构包括页面结构定义、业务流程函数和页面样式;其中所述业务流程函数用于实现相应的业务处理逻辑;所述页面样式用于定义基于该页面模板而生成的页面所呈现的页面样式。
进一步,所述页面结构定义包括多个,用于定义具体页面结构和必要数据。
进一步,所述基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码,包括:提取所述页面模板中的所有结构部分;分别针对每个所述结构部分,根据具体业务进行代码转换,生成所述业务场景的每一个页面的最终页面代码。
进一步,所述将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码,包括:将所述最终页面代码的每一个结构部分对应合并入所述基础页面的结构部分,生成所述业务页面的代码。
进一步,基于客户端环境加载展示所述业务页面来构建所述业务场景。
进一步,使用渐进式结构框架vue.js来组织模板结构。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面中的任一所述基于模板快速生成业务页面的方法。
第四方面,本公开实施例提供一种非暂态计算机可读存储介质,其特征在于,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行前述第一方面中的任一所述基于模板快速生成业务页面的方法。
本公开公开了一种基于模板快速生成业务页面的方法、装置、电子设备和计算机可读存储介质。其中该基于模板快速生成业务页面的方法包括:构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程;构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。本公开实施例通过采取该基于模板快速生成业务页面的方案,解决了现有技术中业务应用的业务页面开发工作量大,开发效率低的技术问题。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1:本公开一个实施例的基于模板快速生成业务页面的方法流程图;
图2:本公开一个实施例的基于模板快速生成业务页面的装置结构图;
图3:本公开一个实施例的基于模板快速生成业务页面的电子设备结构图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
图1为本公开实施例提供的基于模板快速生成业务页面的方法流程图,本实施例提供的该基于模板快速生成业务页面的方法可以由一基于模板快速生成业务页面的装置来执行,该基于模板快速生成业务页面的装置可以实现为软件,或者实现为软件和硬件的组合,该基于模板快速生成业务页面的装置可以集成设置在图像处理系统中的某设备中,比如服务器或者终端设备中。如图1所示,该方法包括如下步骤:
步骤S101,构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程;
业务应用的整体业务场景通过业务页面的加载运行得意呈现,通常每一个页面对应呈现一个具体业务场景。在业务应用的每一个页面所呈现的业务场景中都可能具有很多相同或相似的工作流程或交互方式,据此,将业务应用中相同或相似的工作流程抽象出来,包括共用的应用环境,例如业务应用中使用的各种函数库。以业务应用的业务场景是基于客户端环境展示h5页面为例,所有业务页面中的数据都通过客户端提供的jsbridge接口获取,此时所有业务页面都共用客户端jsbridge函数库。将上述抽象的工作流程和应用环境构建成基础页面。
在一个实施例中,构建的基础页面的结构包括页面头head,和页面主体body;其中页面头head用于搭建业务应用的业务页面运行的环境,例如包含各种用于构建页面代码的函数库;页面主体body包括多个脚本语言编码的功能函数,例如实现业务场景中抽象出的相同工作流程的功能函数。通过这种基础页面的结构来搭建所述业务页面运行所需的环境和/或实现同类业务场景中抽象出的相同的工作流程。
在一个实施例中,以javascript脚本语言编码的工作流程功能函数包括页面数据获取函数,数据处理函数,模板渲染函数,以及渲染后页面处理函数等。
步骤S102,构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;
将业务应用中相同或相似的业务逻辑,业务功能分别抽象出来,构建成多个页面模板,为每一个具体业务页面的开发提供代码模板。在页面模板的基础上,根据具体业务逻辑,业务功能的属性,通过简单的转换就可以生成业务应用的每一个页面具体的最终业务代码。
在一个实施例中,构建的页面模板的结构包括页面结构定义、业务流程函数和页面样式;其中,所述页面结构定义可以包括多个,用于定义具体页面结构和必要数据;所述业务流程函数用于实现相应的业务处理逻辑;所述页面样式用于定义基于该页面模板而生成的页面所呈现的页面样式。
在一个实施例中,使用渐进式结构框架vue.js来组织页面模板的模板结构。这种模板结构在vscode这种编辑器中具有更好的显示效果,例如高亮显示。也可以自定义模板的结构和语法。其中,采用标签<template>来定义所述页面结构定义,采用标签<script>来定义业务流程函数,以及采用标签<style>来定义页面样式。
当存在多个<template>定义的页面结构定义时,每一个<template>被赋予不同的ID或class属性用以区别。<template>中的内容在后续处理程序中得到处理,例如替换其中定义的数据变量或表达式。其中,数据变量使用语法${variable},表达式使用语法${statement}。例如,变量可以是${list[0].name},表达式可以是${sex===0?'男':'女'}。
在一个实施例中,多个<template>定义的页面结构定义可以具有如下形式:
在一个实施例中,使用脚本语言javascript来编码定义业务流程函数,实现业务应用中抽象出的业务处理逻辑。例如,定义数据处理函数processData(data)对特定业务数据进行处理;定义渲染后页面处理函数afterRender(status)对渲染后页面进行处理,比如渲染结束通知客户端渲染结果以及发送埋点数据。当存在多个<template>时,必须指定渲染哪个模板,使用renderTemplateId字段表示要渲染的模板ID。
步骤S103,基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;
基于构建的页面模板,根据呈现每一个业务场景的页面的具体业务功能要求,提取所述页面模板的各个结构部分进行代码转换,生成呈现所述业务场景的每一个具体页面的最终页面代码。
在一个实施例中,使用工具进行页面模板的代码转换,例如使用babel转换页面模板中<script>定义的业务流程函数;使用postcss转换页面模板中<style>定义的页面样式。
步骤S104,将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。
页面模板代码转换后生成业务场景的每一个具体页面的最终页面代码,将该最终页面代码的各个结构部分合并入基础页面的相应结构处,进而生成最后的业务页面的代码。
在一个实施例中,最终页面代码的<template>和<style>结构部分合并入基础页面的页面头head的结尾处;最终页面代码的<script>结构部分合并入基础页面的页面主体body对应位置处,进而生成业务应用的业务页面代码。
通过将业务应用的各个页面的共性工作流程和通用业务逻辑抽象提取成基础页面和页面模板,使得这些共性的业务编码开发一次性完成,而只有少部分的每个页面的具体功能需要基于页面模板单独编码,进而大大减少业务应用的开发工作量,提高开发效率。
图2为本公开实施例提供的一种基于模板快速生成业务页面的装置,包括:
基础页面模块201,用于构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境和/或实现同类业务场景中抽象出的相同的工作流程;
页面模板模块202,用于构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;
转换模块203,用于基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;
合并模块204,用于将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。
业务应用的整体业务场景通过业务页面的加载运行得意呈现,通常每一个页面对应呈现一个具体业务场景。在业务应用的每一个页面所呈现的业务场景中都可能具有很多相同或相似的工作流程或交互方式,据此,将业务应用中相同或相似的工作流程抽象出来,包括共用的应用环境,例如业务应用中使用的各种函数库。以业务应用的业务场景是基于客户端环境展示h5页面为例,所有业务页面中的数据都通过客户端提供的jsbridge接口获取,此时所有业务页面都共用客户端jsbridge函数库。将上述抽象的工作流程和应用环境构建成基础页面。
在一个实施例中,基础页面模块201所构建的基础页面的结构包括页面头head,和页面主体body;其中页面头head用于搭建业务应用的业务页面运行的环境,例如包含各种用于构建页面代码的函数库;页面主体body包括多个脚本语言编码的功能函数,例如实现业务场景中抽象出的相同工作流程的功能函数。通过这种基础页面的结构来搭建所述业务页面运行所需的环境和/或实现同类业务场景中抽象出的相同的工作流程。
在一个实施例中,以javascript脚本语言编码的工作流程功能函数包括页面数据获取函数,数据处理函数,模板渲染函数,以及渲染后页面处理函数等。
将业务应用中相同或相似的业务逻辑,业务功能分别抽象出来,构建成多个页面模板,为每一个具体业务页面的开发提供代码模板。在页面模板的基础上,根据具体业务逻辑,业务功能的属性,通过简单的转换就可以生成业务应用的每一个页面具体的最终业务代码。
在一个实施例中,页面模板模块202所构建的页面模板的结构包括页面结构定义、业务流程函数和页面样式;其中,所述页面结构定义可以包括多个,用于定义具体页面结构和必要数据;所述业务流程函数用于实现相应的业务处理逻辑;所述页面样式用于定义基于该页面模板而生成的页面所呈现的页面样式。
在一个实施例中,页面模板模块202使用渐进式结构框架vue.js来组织页面模板的模板结构。这种模板结构在vscode这种编辑器中具有更好的显示效果,例如高亮显示。也可以自定义模板的结构和语法。其中,采用标签<template>来定义所述页面结构定义,采用标签<script>来定义业务流程函数,以及采用标签<style>来定义页面样式。
当存在多个<template>定义的页面结构定义时,每一个<template>被赋予不同的ID或class属性用以区别。<template>中的内容在后续处理程序中得到处理,例如替换其中定义的数据变量或表达式。其中,数据变量使用语法${variable},表达式使用语法${statement}。例如,变量可以是${list[0].name},表达式可以是${sex===0?'男':'女'}。
在一个实施例中,多个<template>定义的页面结构定义可以具有如下形式:
在一个实施例中,页面模板模块202使用脚本语言javascript来编码定义业务流程函数,实现业务应用中抽象出的业务处理逻辑。例如,定义数据处理函数processData(data)对特定业务数据进行处理;定义渲染后页面处理函数afterRender(status)对渲染后页面进行处理,比如渲染结束通知客户端渲染结果以及发送埋点数据。当存在多个<template>时,必须指定渲染哪个模板,使用renderTemplateId字段表示要渲染的模板ID。
基于构建的页面模板,根据呈现每一个业务场景的页面的具体业务功能要求,提取所述页面模板的各个结构部分进行代码转换,生成呈现所述业务场景的每一个具体页面的最终页面代码。
在一个实施例中,转换模块203使用工具进行页面模板的代码转换,例如使用babel转换页面模板中<script>定义的业务流程函数;使用postcss转换页面模板中<style>定义的页面样式。
页面模板代码转换后生成业务场景的每一个具体页面的最终页面代码,将该最终页面代码的各个结构部分合并入基础页面的相应结构处,进而生成最后的业务页面的代码。
在一个实施例中,合并模块204将最终页面代码的<template>和<style>结构部分合并入基础页面的页面头head的结尾处;最终页面代码的<script>结构部分合并入基础页面的页面主体body对应位置处,进而生成业务应用的业务页面代码。
通过将业务应用的各个页面的共性工作流程和通用业务逻辑抽象提取成基础页面和页面模板,使得这些共性的业务编码开发一次性完成,而只有少部分的每个页面的具体功能需要基于页面模板单独编码,进而大大减少业务应用的开发工作量,提高开发效率。
下面参考图3,其示出了适于用来实现本公开实施例的电子设备500的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境和/或实现同类业务场景中抽象出的相同的工作流程;构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种基于模板快速生成业务页面的方法,其特征在于,包括:
构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程;
构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;
基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;
将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码;
其中,所述基础页面的结构包括页面头和页面主体;所述页面头包含各种用于构建页面代码的函数库;所述页面主体包括多个脚本语言的功能函数,用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程。
2.如权利要求1所述的方法,其中,所述函数库包括客户端jsbr i dge库,埋点sdk库,公共css库或公共js库中的一个或多个。
3.如权利要求1所述的方法,其中,所述功能函数实现的功能包括页面数据获取,数据处理,模板渲染或渲染后页面的处理中的一个或多个。
4.如权利要求1所述的方法,其中,所述页面模板的结构包括页面结构定义、业务流程函数和页面样式;其中所述业务流程函数用于实现相应的业务处理逻辑;所述页面样式用于定义基于该页面模板而生成的页面所呈现的页面样式。
5.如权利要求4所述的方法,其中,所述页面结构定义包括多个,用于定义具体页面结构和必要数据。
6.如权利要求1所述的方法,其中,所述基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码,包括:
提取所述页面模板中的所有结构部分;
分别针对每个所述结构部分,根据具体业务进行代码转换,生成所述业务场景的每一个页面的最终页面代码。
7.如权利要求1所述的方法,其中,所述将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码,包括:
将所述最终页面代码的每一个结构部分对应合并入所述基础页面的结构部分,生成所述业务页面的代码。
8.如权利要求1所述的方法,其中,基于客户端环境加载展示所述业务页面来构建所述业务场景。
9.如权利要求1所述的方法,其中,使用渐进式结构框架vue.js来组织模板结构。
10.一种基于模板快速生成业务页面的装置,其特征在于,包括:
基础页面模块,用于构建基础页面,所述基础页面的页面代码用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程;
页面模板模块,用于构建一个或多个页面模板,所述页面模板用于提供业务场景中实现业务功能的代码模板;
转换模块,用于基于相应的所述页面模板,通过业务场景的每一个页面的具体功能的代码转换,生成业务场景的每一个页面的最终页面代码;
合并模块,用于将生成的所述每一个页面的最终页面代码合并入所述基础页面的页面代码,生成所述业务页面的代码;
其中,所述基础页面的结构包括页面头和页面主体;所述页面头包含各种用于构建页面代码的函数库;所述页面主体包括多个脚本语言的功能函数,用于搭建所述业务页面运行所需的环境,和/或实现同类业务场景中抽象出的相同的工作流程。
11.一种电子设备,包括:
存储器,用于存储非暂时性计算机可读指令;以及处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现根据权利要求1-9中任意一项所述的基于模板快速生成业务页面的方法。
12.一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行权利要求1-9中任意一项所述的基于模板快速生成业务页面的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910072816.8A CN109597617B (zh) | 2019-01-25 | 2019-01-25 | 基于模板快速生成业务页面的方法和装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910072816.8A CN109597617B (zh) | 2019-01-25 | 2019-01-25 | 基于模板快速生成业务页面的方法和装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109597617A CN109597617A (zh) | 2019-04-09 |
| CN109597617B true CN109597617B (zh) | 2022-04-05 |
Family
ID=65966565
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910072816.8A Active CN109597617B (zh) | 2019-01-25 | 2019-01-25 | 基于模板快速生成业务页面的方法和装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109597617B (zh) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110286893B (zh) * | 2019-06-28 | 2023-08-15 | 百度在线网络技术(北京)有限公司 | 服务生成方法、装置、设备、系统和存储介质 |
| CN110347425A (zh) * | 2019-07-11 | 2019-10-18 | 广州虎牙科技有限公司 | 一种配置和使用模板页面的方法、装置、设备和存储介质 |
| CN110427182A (zh) * | 2019-07-18 | 2019-11-08 | 北京市天元网络技术股份有限公司 | 一种模板式建设app方法以及装置 |
| CN110780868A (zh) * | 2019-10-10 | 2020-02-11 | 北大方正集团有限公司 | 基于组件化模板的网站开发方法、装置、设备和存储介质 |
| CN111158675A (zh) * | 2019-12-31 | 2020-05-15 | 山东爱城市网信息技术有限公司 | 一种前端页面模板复用的方法 |
| CN111309307B (zh) * | 2020-02-25 | 2023-04-07 | 深圳联友科技有限公司 | Vue页面与工作流系统的集成方法及装置 |
| CN111427645A (zh) * | 2020-03-20 | 2020-07-17 | 青岛聚好联科技有限公司 | 一种基于h5的跨终端自适应显示的方法及装置 |
| CN113468454B (zh) * | 2020-03-31 | 2024-12-03 | 北京沃东天骏信息技术有限公司 | 渲染html页面的方法和装置 |
| CN113867827A (zh) * | 2020-06-29 | 2021-12-31 | 北京字节跳动网络技术有限公司 | 加载网页的方法和装置 |
| CN111752598A (zh) * | 2020-06-30 | 2020-10-09 | 北京达佳互联信息技术有限公司 | 页面生成方法、装置、电子设备及存储介质 |
| CN111966350A (zh) * | 2020-07-20 | 2020-11-20 | 深圳市麦谷科技有限公司 | Web前端界面生成方法及装置 |
| CN111949910A (zh) * | 2020-07-20 | 2020-11-17 | 北京思特奇信息技术股份有限公司 | 一种根据业务动态展示受理信息的方法及系统 |
| CN111930352B (zh) * | 2020-08-10 | 2023-09-29 | 中国工商银行股份有限公司 | 银行金融产品上线方法及装置 |
| CN112579656B (zh) * | 2020-12-14 | 2024-12-31 | 中国建设银行股份有限公司 | 一种生成分成方案的方法和装置 |
| CN112764802A (zh) * | 2021-01-19 | 2021-05-07 | 挂号网(杭州)科技有限公司 | 一种业务逻辑定制方法、装置、电子设备和存储介质 |
| CN112819554B (zh) * | 2021-02-24 | 2023-12-29 | 招联消费金融有限公司 | 基于页面操作的业务处理方法、装置、计算机设备 |
| CN113190226A (zh) * | 2021-05-06 | 2021-07-30 | 北京百度网讯科技有限公司 | App设计方法、App的页面渲染方法以及装置 |
| CN113535175A (zh) * | 2021-07-23 | 2021-10-22 | 工银科技有限公司 | 应用程序前端代码的生成方法、装置、电子设备及介质 |
| CN113486283B (zh) * | 2021-07-27 | 2024-02-13 | 中国银行股份有限公司 | 页面合并方法、装置、服务器、介质及产品 |
| CN114281322A (zh) * | 2021-12-16 | 2022-04-05 | 浙江银管通网络科技有限公司 | 业务数据显示页面的生成方法、装置和电子装置 |
| CN115185522A (zh) * | 2022-09-08 | 2022-10-14 | 广州市玄武无线科技股份有限公司 | H5页面开发方法、装置、终端设备及可读存储介质 |
| CN119654618A (zh) * | 2023-03-20 | 2025-03-18 | 宁德时代未来能源(上海)研究院有限公司 | 页面生成方法、页面模板的生成方法、以及装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106909361A (zh) * | 2015-12-23 | 2017-06-30 | 任子行网络技术股份有限公司 | 基于模版引擎的web开发方法和装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10756991B2 (en) * | 2015-09-17 | 2020-08-25 | Salesforce.Com, Inc. | Simplified entity engagement automation |
-
2019
- 2019-01-25 CN CN201910072816.8A patent/CN109597617B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106909361A (zh) * | 2015-12-23 | 2017-06-30 | 任子行网络技术股份有限公司 | 基于模版引擎的web开发方法和装置 |
Non-Patent Citations (1)
| Title |
|---|
| RN的bundle拆分与合并之安卓篇;哪吒闹海全靠浪;《简书》;20170518;第1-4页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109597617A (zh) | 2019-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109597617B (zh) | 基于模板快速生成业务页面的方法和装置 | |
| CN112684968A (zh) | 页面展示方法、装置、电子设备和计算机可读介质 | |
| CN110554874A (zh) | 用于复用SaaS平台网页组件的方法和装置 | |
| CN113031946A (zh) | 一种渲染页面组件的方法和装置 | |
| CN113110829B (zh) | 多ui组件库数据处理方法及装置 | |
| CN111443909A (zh) | 用于生成页面的方法及装置 | |
| CN110780874B (zh) | 用于生成信息的方法和装置 | |
| CN109753644B (zh) | 一种富文本编辑方法、装置、移动终端及存储介质 | |
| CN114115855A (zh) | 代码复用方法及装置、计算机可读存储介质、电子设备 | |
| CN109857503B (zh) | 页面交互效果自适应方法、装置与电子设备 | |
| CN111198738A (zh) | 移动端页面展示方法、装置及电子设备 | |
| CN113553123B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
| CN113253996B (zh) | 一种卡片构建方法、电子设备、服务器及存储介质 | |
| CN113312568B (zh) | 一种基于HTML源代码和网页快照的Web信息抽取方法与系统 | |
| CN111275828B (zh) | 三维装配体的数据处理方法、装置及电子设备 | |
| CN115756452A (zh) | 目标页面代码的生成方法、设备、存储介质及程序产品 | |
| CN111523295B (zh) | 数据渲染方法、装置、介质及电子设备 | |
| CN109992698B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
| CN115268904A (zh) | 一种用户界面设计文件生成方法、装置、设备及介质 | |
| CN114222317B (zh) | 数据处理方法及装置、电子设备和存储介质 | |
| CN112015415B (zh) | 一种屏幕页面配置和展示方法和装置 | |
| CN111625243B (zh) | 跨语言任务处理方法、装置及电子设备 | |
| CN112540803A (zh) | 一种表单设计适配方法、装置、设备及存储介质 | |
| CN113835790A (zh) | 基于Android的分页页面显示方法和装置 | |
| CN119248728B (zh) | word文档生成方法、装置、设备、存储介质及产品 |
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 |