一种页面模板数据交互的方法及装置与流程

文档序号:15685269发布日期:2018-10-16 20:59阅读:161来源:国知局

本发明涉及计算机技术领域,尤其涉及一种页面模板数据交互的方法及装置。



背景技术:

随着计算机技术的快速发展,人们的生活越来越离不开各种网络应用程序,因此,各种网络应用程序的功能也越来越强大,随之,网络应用程序的维护工作也越来越复杂。传统页面开发为顺序执行如下步骤:1、模块划分;2、制作页面和数据格式约定;3、页面逻辑开发和接口开发;4、制作模板和在模板中加载数据;5、页面联调。在现有技术的网页维护过程中,由于页面模板文件由前端产生,后端存储和合并数据,例如,原始的html文件是由前端工程师编写的,再通过脚本的编写,最后将完成的静态页面发给后端,后端工程师需要将此html文件重新编写为phtml文件,使得页面逻辑在前后端工作领域分别存在较强的耦合,因此,页面模板文件需要前后端分别进行维护,前后端工程师分别都需要修改页面。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有技术中,网页前后端代码版本管理往往不在同一个代码库里,将导致前后端工程师在修改页面内容时,容易产生矛盾,网页维护的沟通量较大,因此,大部分技术研发工作时间,都将消耗在因需求修改和系统缺陷产生的页面模板维护工作中,极大地降低了网页的研发效率。



技术实现要素:

本发明实施例提供一种页面模板数据交互的方法及装置,实现了前端开发与后端开发的解耦,提高开发效率。

一方面,本发明实施例提供了一种页面模板数据交互的方法,包括:

通过预定转换规则将前端的页面模板中第一编程语言的语法转换为与后端运行环境适配的第二编程语言的语法;

接收用户发送的数据预览请求,判断所述数据预览请求的请求类型;

若所述数据预览请求的请求类型为页面预览请求时,获取与所述数据预览请求相匹配的请求数据;

将获取到的请求数据与转换后的页面模板进行拼接,并将拼接后、且在后端运行的页面模板返回至终端设备,以用于所述页面模板在终端设备中进行预览展示。

另一方面,本发明实施例提供了一种页面模板数据交互的装置,包括:

转换单元,用于通过预定转换规则将前端的页面模板中第一编程语言的语法转换为与后端运行环境适配的第二编程语言的语法,以用于所述页面模板在后端运行;

判断单元,用于接收用户发送的数据预览请求,判断所述数据预览请求的请求类型;

第一获取单元,用于若所述数据预览请求的请求类型为页面预览请求时,获取与所述数据预览请求相匹配的请求数据;

拼接及返回单元,用于将获取到的请求数据与转换后的页面模板进行拼接,并将拼接后、且在后端运行的页面模板返回至终端设备,以用于所述页面模板在终端设备中进行预览展示。

上述技术方案具有如下有益效果:通过本发明,前端开发人员能够简单便捷地将编写的网页模板提交到服务器供后端开发人员使用;能够根据前端开发人员的需求在前端页面展示拼接后的展示页面,为提高前端开发人员的开发效率提供了必要的前提保障;极大地降低了前端开发与后端开发的耦合性,进一步地,极大地节约了前端开发人员与后端开发人员的联调时间,提高了开发的效率,从而极大地提升了研发团队的产出比。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例中一种页面模板数据交互的方法流程图;

图2为本发明另一实施例中一种页面模板数据交互的装置结构示意图;

图3为本发明一优选实施例中系统整体架构示意图;

图4为本发明一优选实施例中网页模板转换流程示意图;

图5为本发明一优选实施例中系统工具集架构示意图;

图6为本发明一优选实施例中系统工作流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,为本发明实施例中一种页面模板数据交互的方法,包括:

101、通过预定转换规则将前端的页面模板中第一编程语言的语法转换为与后端运行环境适配的第二编程语言的语法;

102、接收用户发送的数据预览请求,判断所述数据预览请求的请求类型;

103、若所述数据预览请求的请求类型为页面预览请求时,获取与所述数据预览请求相匹配的请求数据;

104、将获取到的请求数据与转换后的页面模板进行拼接,并将拼接后、且在后端运行的页面模板返回至终端设备,以用于所述页面模板在终端设备中进行预览展示。

优选地,所述通过预定转换规则将前端的页面模板中第一编程语言的语法转换为与后端运行环境适配的第二编程语言的语法,包括:

将前端的页面模板存储至后端的第一服务器中,并设置前端的页面模板中转换的标签白名单;

针对前端的页面模板中的每一个标签,判断当前标签是否在所述标签白名单中;

若是,将当前标签的第一编程语言的语法转换为所述第二编程语言的语法。

可选地,所述通过预定转换规则将前端的页面模板中第一编程语言的语法转换为与后端运行环境适配的第二编程语言的语法的步骤之后,还包括:

将转换后的页面模板存储至后端的第二服务器中;

其中,所述将获取到的请求数据与转换后的页面模板进行拼接的步骤之前,还包括:

从所述第二服务器获取转换后的页面模板。

可选地,还包括:

确定转换后的页面模板中的各个分支文件;

接收用户的合并请求,根据所述合并请求确定每一个待合并的分支文件;

将各个待合并的分支文件合并至转换后的页面模板中的主干文件。

可选地,还包括:

预设置用户的合并权限;

其中,所述根据所述合并请求确定每一个待合并的分支文件之前,还包括:

确定所述用户的合并权限;

根据所述用户的合并权限判定允许所述用户执行合并操作。

可以理解,如果根据所述用户的合并权限判定不允许所述用户执行合并操作,则根据所述合并请求确定每一个待合并的分支文件、及其后续步骤不再执行。

如图2所示,为本发明实施例中一种页面模板数据交互的装置,包括:

转换单元21,用于通过预定转换规则将前端的页面模板中第一编程语言的语法转换为与后端运行环境适配的第二编程语言的语法;

判断单元22,用于接收用户发送的数据预览请求,判断所述数据预览请求的请求类型;

第一获取单元23,用于若所述数据预览请求的请求类型为页面预览请求时,获取与所述数据预览请求相匹配的请求数据;

拼接及返回单元24,用于将获取到的请求数据与转换后的页面模板进行拼接,并将拼接后、且在后端运行的页面模板返回至终端设备,以用于所述页面模板在终端设备中进行预览展示。

优选地,所述转换单元,包括:

设置模块,用于将前端的页面模板存储至后端的第一服务器中,并设置前端的页面模板中转换的标签白名单;

第一判断模块,用于针对前端的页面模板中的每一个标签,判断当前标签是否在所述标签白名单中;

转换模块,用于若是,将当前标签的第一编程语言的语法转换为所述第二编程语言的语法。

可选地,所述装置还包括:

存储单元,用于将所述转换单元转换后的页面模板存储至后端的第二服务器;

第二获取单元,用于从所述第二服务器获取转换后的页面模板并发送给所述拼接及返回单元。

可选地,所述装置还包括:

第一确定单元,用于确定转换后的页面模板中的各个分支文件;

第二确定单元,用于接收用户的合并请求,根据所述合并请求确定每一个待合并的分支文件;

合并单元,用于将各个待合并的分支文件合并至转换后的页面模板中的主干文件。

可选地,所述装置还包括:

预设置单元,用于预设置用户的合并权限;

其中,所述第二确定单元,还用于在根据所述合并请求确定每一个待合并的分支文件之前,确定所述用户的合并权限,根据所述用户的合并权限判定允许所述用户执行合并操作。

本发明实施例上述技术方案具有如下有益效果:通过本发明,前端开发人员能够简单便捷地将编写的网页模板提交到服务器供后端开发人员使用;能够根据前端开发人员的需求在前端页面展示拼接后的展示页面,为提高前端开发人员的开发效率提供了必要的前提保障;极大地降低了前端开发与后端开发的耦合性,进一步地,极大地节约了前端开发人员与后端开发人员的联调时间,提高了开发的效率,从而极大地提升了研发团队的产出比。

以下结合应用实例对本发明实施例上述技术方案进行详细说明:

本发明应用实例旨在实现前端开发与后端开发的解耦,提高开发效率。

如图1所示,在网站a的维护系统中,前端开发人员编写网页a的页面模板,如jade(javaagentdevelopmentframework,一种高性能模板引擎)模板,随后,如用户通过点击人机交互界面中的转换按钮,或者检测到页面模板编写完成,或检测到页面模板发生修改后,通过预定转换规则将网页a的页面模板中第一编程语言,如js(javascript,一种直译式脚本语言),的语法转换为与网页a的后端运行环境适配的第二编程语言,如php(hypertextpreprocessor,一种通用开源脚本语言),的语法,以用于转换后的jade模板在网站a的后端服务器中运行;随后,接收前端开发人员发送的数据预览请求,判断该数据预览请求的请求类型,若该数据预览请求的请求类型为页面预览请求时,获取与该数据预览请求相匹配的请求数据;随后,将获取到的请求数据与转换后的jade模板进行拼接,并将拼接后在网页a的后端服务器运行的jade模板返回至终端设备,以用于该页面模板在终端设备中进行预览展示,以实现前端开发人员预览与该页面请求相匹配的请求结果页面。其中,数据请求的请求类型包括页面请求和接口请求,当数据请求的请求类型为接口请求时,获取与接口请求相匹配的请求数据,并返回与接口请求相匹配的请求数据。

需要说明的是,在网站a上线后的运行过程中,当接收到页面浏览用户通过人机交互界面的操作发送的数据请求时,网站a的服务器判断该数据请求的请求类型,若该数据请求的请求类型为页面请求时,获取与该数据请求相匹配的请求数据;随后,将获取到的请求数据与转换后的jade模板进行拼接,并将拼接后的页面返回至浏览用户使用的终端设备,以用于将最终的展示页面呈现给浏览用户。

在一优选实施例中,步骤101通过预定转换规则将前端的页面模板中第一编程语言的语法转换为与后端运行环境适配的第二编程语言的语法,包括:将前端的页面模板存储至后端的第一服务器中,并设置前端的页面模板中转换的标签白名单;针对前端的页面模板中的每一个标签,判断当前标签是否在所述标签白名单中;若是,将当前标签的第一编程语言的语法转换为所述第二编程语言的语法。

例如,前端开发人员编写网页a的页面模板,如jade模板,随后,将前端的jade模板存储至网页a的后端的第一服务器,如转换服务器,中,并设置前端的jade模板中转换的标签白名单;在网站a的维护系统中,针对前端的jade模板中的每一个标签,判断当前标签,如js语言的标签“var”是否在该标签白名单中;若是,将当前标签“var”的js语法转换为php的语法,如“$”,以用于转换后的jade模板能够在后端运行。需要说明的是,本领域技术人员可以理解,前端的页面模板中转换的标签白名单是针对第一编程语言的标签设置的,在网站实际运维过程中,可以将当前标签的第一编程语言的语法转换为第二编程语言的语法的功能通过封装成转换工具的方式来实现,因此可以在转换工具中设置前端的页面模板中转换的标签白名单,使得前端开发人员的能够更简单高效地完成工作。

在一优选实施例中,通过预定转换规则将前端的页面模板中第一编程语言的语法转换为与后端运行环境适配的第二编程语言的语法的步骤之后,还包括:将转换后的页面模板存储至后端的第二服务器中。

其中,所述将获取到的请求数据与转换后的页面模板进行拼接的步骤之前,还包括:从所述第二服务器获取转换后的页面模板。

例如,前端开发人员编写网页a的页面模板,如jade模板,在网站a的维护系统中,通过预定转换规则将网页a的页面模板中js的语法转换为php的语法,并将转换后的jade模板存储至后端的第二服务器,如svn(subversion,开放源代码的版本控制系统)服务器,随后,接收前端开发人员发送的数据请求,判断该数据请求的请求类型,若该数据请求的请求类型为页面请求时,获取与该数据请求相匹配的请求数据,并从svn中获取转换后的jade模板;随后,将获取到的请求数据与获取到的转换后的jade模板进行拼接,并将拼接后的jade模板返回至终端设备,以用于在终端设备中进行展示。

需要说明的是,本领域技术人员可以了解到,后端的第二服务器可以是预定的代码仓库、svn和github(一个面向开源及私有软件项目的托管平台)等,本发明中虽会以特定的后端的第二服务器为例说明,但在此不做限定。

在一优选实施例中,该方法还包括:确定转换后的页面模板中的各个分支文件;接收用户的合并请求,根据所述合并请求确定每一个待合并的分支文件;将各个待合并的分支文件合并至转换后的页面模板中的主干文件。

例如,在网站a的维护系统中,确定jade模板中的分支文件包括分支文件1、分支文件2和分支文件3,根据前端开发人员的自定义需求,在网站a的维护系统的人机交互界面中确定转换后的jade模板中的待合并的分支文件为分支文件2和分支文件3,随后将分支文件2和分支文件3合并至转换后的jade模板中的主干文件。

需要说明的是,本领域技术人员可以了解到,代码仓库中主干代码用于新功能的开发,分支代码用于解决项目路径中产生的缺陷问题,在发现缺陷问题后,代码仓库将从主干生成一个分支文件,并在该分支文件上做缺陷修复,当不同的开发人员执行缺陷修复时,将产生不同的分支文件,因此,最终需要将解决不同修复问题的分支文件合并至主干文件,以用于解决主干文件中的各个缺陷问题。在本发明的实施例中,前端开发人员可以对编写的前端的页面模板进行修改,基于代码仓库,修改完成后将生成页面模板相应的分支文件。

在一优选实施例中,该方法还包括:预设置用户的合并权限。

其中,所述根据所述合并请求确定每一个待合并的分支文件之前,还包括:确定所述用户的合并权限;根据所述用户的合并权限判定允许所述用户执行合并操作。

例如,在网站a的维护系统中,预设置用户的合并权限,如设置用户u的针对业务business的合并权限为允许合并,当接收到前端用户u的针对业务business的合并请求后,确定用户u针对业务business的合并权限为允许合并,根据该合并请求确定待合并的分支文件为分支文件2和分支文件3,随后,将该合并请求中的分支文件2和分支文件3合并至转换后的jade模板中的主干文件;若确定用户u针对业务business的合并权限为不允许合并,则判定不允许用户u执行合并操作,则根据该合并请求确定每一个待合并的分支文件、及其后续步骤不再执行。

在一具体应用场景中,如图3所示,为网页维护系统webos的系统整体架构示意图,对于webos系统的后端服务,主要处理的是用户发送的页面请求和接口请求,在处理页面请求时要先获取请求数据再同页面模板,如jade模板,进行拼接后返回给用户,并呈现在浏览器中。webos系统采用自动化的方法将前端jade模板同步到后端,前端jade模板的转换流程示意图如图4所示,模板转换的过程实现的是将前端能解析的jade模板通过转换服务转换成php可解析的模板。转换服务采用白名单的形式进行转换,可直接将转换生成的模板提交到指定的代码仓库。为了便于前端人员的操作,在webos的系统中将各个功能集成到不同的工具中实现,工具集架构如图5所示,webos系统的工具集架构可分为客户端和服务端,其中,客户端实现的是系统初始化、模板提交和预览的功能;服务端采用多进程管理,主要提供自动化构建、模板管理、转换服务、预览服务、日志服务等功能。webos系统的工具集结合产品,面向用户主要包含如下产品功能:jade模板转换、分支文件合主干和用户权限管理;其中,jade模板转换提供的是核心转换功能,实现将前端页面模板转换成后端能够解析的页面模板并提交到指定目录;分支文件合主干进一步解决了页面管理的耦合问题;用户权限管理功能则将业务线进行细分,极大地保证了用户操作的合法性。webos的系统的工作流程图如图6所示。

本发明实施例提供了一种页面模板数据交互的装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1