页面发版提示方法、装置、设备及存储介质与流程
未命名
07-23
阅读:60
评论:0

1.本技术涉及计算机技术领域,尤其涉及一种页面发版提示方法、装置、设备及存储介质。
背景技术:
2.目前,在进行前端应用的项目开发时,从项目测试到项目上线,开发人员可能会频繁发布前端应用的新版本。新版本相较于历史版本,可以添加新的项目功能,或者,也可以对该前端应用在测试阶段或上线阶段产生的一些漏洞进行修复。
3.然而,现有技术在页面发版(即发布了前端应用的新版本)后,用户无法感知到新版本的发布。这样,若用户在新版本发布前打开了前端应用的页面,且在新版本发布后仍停留在之前打开的页面上,那么,在用户没有进行强制刷新操作(非普通刷新)的情况下,用户将无法使用提供有新功能或进行了漏洞修复的新版本的对应服务。所以,现有技术在页面发版后,用户的体验感不佳。
技术实现要素:
4.本技术提供一种页面发版提示方法、装置、设备及存储介质,可以改善对前端应用进行了页面发版后的用户体验。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,本技术提供一种页面发版提示方法,包括:接收用户触发的访问请求;访问请求用于请求访问前端应用的第一页面;开始每间隔预设时长执行一次周期轮训任务;周期轮训任务包括:获取远端服务器中存储的前端应用的第一版本文件,并将第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比;第一时间戳,用于表征与第一版本文件对应的第一静态打包文件的发版时间;第二时间戳为前端应用的第二版本文件中的时间戳,用于表征与第二版本文件对应的第二静态打包文件的发版时间;在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则针对第一页面进行发版提示。
7.本技术提供的技术方案中,在接收到用户对于前端应用的第一页面的访问请求后,可以开始以预设时长为周期执行周期轮训任务。具体的,周期轮训任务的任务内容为:获取远端服务器中存储的前端应用的第一版本文件,并将第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比。其中,第一时间戳用于表征与第一版本文件对应的第一静态打包文件的发版时间,而第二时间戳则为前端应用的第二版本文件中的时间戳,用于表征与第二版本文件对应的第二静态打包文件的发版时间。由于在进行页面发版时,最新的静态打包文件对应的版本文件会同步更新在远端服务器中,所以远端服务器中存储的第一版本文件中的第一时间戳也即是最新发版的静态打包文件对应的版本文件中的时间戳。这样,在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则表示当前进行了页面发版(即发布了前端应用的新版本的静态打包文件),此时,
可以针对第一页面进行发版提示,以便于用户可以在页面发版之后,在之前已打开的第一页面中使用提供有新功能或进行了漏洞修复的新版本的对应服务。可以看出,本技术通过执行周期轮训任务,可以确定出是否进行了页面发版,这样可以在用户已打开的第一页面中进行发版提示,便于用户可以及时使用提供有新功能或进行了漏洞修复的新版本的对应服务,从而可以改善对前端应用进行了页面发版后的用户体验。
8.可选的,在一种可能的设计方式中,上述“接收用户触发的访问请求”之后,还可以包括:
9.执行初始化操作,在执行初始化操作的过程中传入预设配置参数;预设配置参数至少包括预设时长;初始化操作,用于触发开始每间隔预设时长执行一次周期轮训任务的操作。
10.可选的,在另一种可能的设计方式中,预设配置参数中还包括远端服务器的访问地址;上述“执行初始化操作,在执行初始化操作的过程中传入预设配置参数”之后还可以包括:
11.响应于初始化操作,从访问地址获取第二版本文件;
12.将第二版本文件中的第二时间戳存储在本地。
13.可选的,在另一种可能的设计方式中,预设配置参数中还包括关键字;上述“执行初始化操作,在执行初始化操作的过程中传入预设配置参数”之后还可以包括:
14.响应于初始化操作,在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则将第一版本文件中的第一时间戳更新至关键字对应的前端存储分区。
15.可选的,在另一种可能的设计方式中,初始化操作,还用于触发开始执行实时监控任务的操作;实时监控任务包括:监控关键字对应的前端存储分区是否产生了内容更新,并监控前端应用当前已被用户访问的至少一个第二页面;
16.上述“执行初始化操作,在执行初始化操作的过程中传入预设配置参数”之后还可以包括:响应于初始化操作,开始执行实时监控任务;在执行实时监控任务的过程中,若确定关键字对应的前端存储分区产生了内容更新,则针对第二页面进行发版提示。
17.可选的,在另一种可能的设计方式中,本技术提供的页面发版提示方法还可以包括:
18.检测项目构建发布命令;项目构建发布命令用于请求对当前静态打包文件进行发版;
19.调用预设版本标记插件执行如下操作:确定当前静态打包文件的命令行中是否包括预设发版提示字段,并在确定命令行中包括预设发版提示字段的情况下,基于当前时间戳创建前端应用的当前版本文件;
20.将当前版本文件和当前静态打包文件更新至远端服务器中。
21.可选的,在另一种可能的设计方式中,上述“针对第一页面进行发版提示”可以包括:
22.在确定当前呈现的是第一页面的情况下,基于预设提示组件或预设提示函数,在当前呈现的第一页面中添加版本更新组件;
23.在接收到用户对版本更新组件的选择操作的情况下,对第一页面进行更新。
24.第二方面,本技术提供一种页面发版提示装置,包括:接收模块、执行模块以及提示模块;
25.接收模块,用于接收用户触发的访问请求;访问请求用于请求访问前端应用的第一页面;
26.执行模块,用于开始每间隔预设时长执行一次周期轮训任务;周期轮训任务包括:获取远端服务器中存储的前端应用的第一版本文件,并将第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比;第一时间戳,用于表征与第一版本文件对应的第一静态打包文件的发版时间;第二时间戳为前端应用的第二版本文件中的时间戳,用于表征与第二版本文件对应的第二静态打包文件的发版时间;
27.提示模块,用于在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则针对第一页面进行发版提示。
28.可选的,在一种可能的设计方式中,本技术提供的页面发版提示装置还可以包括初始化模块;
29.初始化模块,用于在接收模块接收用户触发的访问请求之后,执行初始化操作,在执行初始化操作的过程中传入预设配置参数;预设配置参数至少包括预设时长;初始化操作,用于触发开始每间隔预设时长执行一次周期轮训任务的操作。
30.可选的,在另一种可能的设计方式中,预设配置参数还包括远端服务器的访问地址;本技术提供的页面发版提示装置还可以包括获取模块和存储模块;
31.获取模块,用于在初始化模块执行初始化操作之后,响应于初始化操作,从访问地址获取第二版本文件;
32.存储模块,用于将第二版本文件中的第二时间戳存储在本地。
33.可选的,在另一种可能的设计方式中,预设配置参数还包括关键字;本技术提供的页面发版提示装置还可以包括更新模块;
34.更新模块,用于在初始化模块执行初始化操作之后,在执行模块执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则将第一版本文件中的第一时间戳更新至关键字对应的前端存储分区。
35.可选的,在另一种可能的设计方式中,初始化操作,还用于触发开始执行实时监控任务的操作;实时监控任务包括:监控关键字对应的前端存储分区是否产生了内容更新,并监控前端应用当前已被用户访问的至少一个第二页面;
36.执行模块,还用于在初始化模块执行初始化操作之后,响应于初始化操作,开始执行实时监控任务;提示模块,还用于在执行模块执行实时监控任务的过程中,若确定关键字对应的前端存储分区产生了内容更新,则针对第二页面进行发版提示。
37.可选的,在另一种可能的设计方式中,本技术提供的页面发版提示装置还可以包括检测模块、调用模块和更新模块;
38.检测模块,还用于检测项目构建发布命令;项目构建发布命令用于请求对当前静态打包文件进行发版;
39.调用模块,用于调用预设版本标记插件执行如下操作:确定当前静态打包文件的命令行中是否包括预设发版提示字段,并在确定命令行中包括预设发版提示字段的情况下,基于当前时间戳创建前端应用的当前版本文件;
40.更新模块,用于将当前版本文件和当前静态打包文件更新至远端服务器中。
41.可选的,在另一种可能的设计方式中,提示模块具体用于:
42.在确定当前呈现的是第一页面的情况下,基于预设提示组件或预设提示函数,在当前呈现的第一页面中添加版本更新组件;
43.在接收到用户对版本更新组件的选择操作的情况下,对第一页面进行更新。
44.第三方面,本技术提供一种页面发版提示设备,包括存储器、处理器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当页面发版提示设备运行时,处理器执行存储器存储的计算机执行指令,以使页面发版提示设备执行如上述第一方面提供的页面发版提示方法。
45.第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行指令时,使得计算机执行如第一方面提供的页面发版提示方法。
46.第五方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面提供的页面发版提示方法。
47.需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与页面发版提示设备的处理器封装在一起的,也可以与页面发版提示设备的处理器单独封装,本技术对此不做限定。
48.本技术中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
49.在本技术中,对于上述涉及到的设备或功能模块的名称不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本技术类似,均属于本技术权利要求及其等同技术的范围之内。
50.本技术的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
51.图1为本技术实施例提供的一种页面发版提示方法的流程示意图;
52.图2为本技术实施例提供的一种添加有版本更新组件的页面示意图;
53.图3为本技术实施例提供的另一种页面发版提示方法的流程示意图;
54.图4为本技术实施例提供的又一种页面发版提示方法的流程示意图;
55.图5为本技术实施例提供的一种页面发版提示装置的结构示意图;
56.图6为本技术实施例提供的一种页面发版提示设备的结构示意图。
具体实施方式
57.下面结合附图对本技术实施例提供的页面发版提示方法、装置、设备及存储介质进行详细地描述。
58.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
59.本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
60.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
61.需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
62.在本技术的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
63.另外,本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
64.现有技术在页面发版(即发布了前端应用的新版本)后,用户无法感知到新版本的发布。这样,若用户在新版本发布前打开了前端应用的页面,且在新版本发布后仍停留在之前打开的页面上,那么,在用户没有进行强制刷新操作(非普通刷新)的情况下,用户将无法使用提供有新功能或进行了漏洞修复的新版本的对应服务。所以,现有技术在页面发版后,用户的体验感不佳。
65.针对上述现有技术中存在的问题,本技术实施例提供了一种页面发版提示方法,该方法通过执行周期轮训任务,可以确定出是否进行了页面发版,这样可以在用户已打开的第一页面中进行发版提示,便于用户可以及时使用提供有新功能或进行了漏洞修复的新版本的对应服务,从而可以改善对前端应用进行了页面发版后的用户体验。
66.本技术实施例提供的页面发版提示方法可以由本技术实施例提供的页面发版提示装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在执行本方法的页面发版提示设备中。
67.本技术实施例提供的页面发版提示方法可以适用于对前端应用进行页面发版的应用场景。示例性的,页面发版提示设备可以是前端服务器。
68.下面结合附图对本技术实施例提供的页面发版提示方法进行详细说明。
69.参照图1,本技术实施例提供的页面发版提示方法包括s101-s103:
70.s101、接收用户触发的访问请求。
71.其中,访问请求用于请求访问前端应用的第一页面。前端应用可以是开发人员基于项目需求事先开发的,用于向用户提供服务功能(比如,可以是数据查询功能)的产品。第一页面为前端应用的网页页面。
72.在一种可能的实现方式中,用户在需要使用前端应用提供的服务功能时,可以通过在用户终端的浏览器中输入前端应用的网页地址,触发用户终端向页面发版提示设备发起访问请求。示例性的,用户终端,可以是手机、平板电脑、桌面型计算机、膝上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、手持计算机、上网本、个人数字助理(personal digital assistant,pda)、可穿戴电子设备、虚拟现实设备等不同类型的终端。
73.在另一种可能的实现方式中,用户在需要使用前端应用提供的服务功能时,可以在用户终端的浏览器中输入与前端应用的项目名称相关的词条,触发用户终端显示多个候
选链接,之后,用户可以对候选链接中与前端应用的项目名称对应的目标链接进行选择操作,触发用户终端向页面发版提示设备发起访问请求。
74.可以理解的是,在实际应用中,用户还可以通过其他方式触发访问请求,本技术实施例对此不做限定。
75.s102、开始每间隔预设时长执行一次周期轮训任务。
76.其中,预设时长可以是事先确定的时长,比如,预设时长可以是1分钟。
77.本技术实施例中的周期轮训任务的任务内容可以包括:获取远端服务器中存储的前端应用的第一版本文件,并将第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比。第一时间戳,用于表征与第一版本文件对应的第一静态打包文件的发版时间;第二时间戳为前端应用的第二版本文件中的时间戳,用于表征与第二版本文件对应的第二静态打包文件的发版时间。
78.示例性的,远端服务器可以是内容分发网络(content delivery network,cdn)的对应服务器,或者,远端服务器也可以是网页服务器(web server)。
79.本技术实施例中,静态打包文件为开发人员需要对前端应用进行漏洞修复或新增功能时构建的,用于实现前端应用的服务功能的新的打包文件,该静态打包文件构建好之后,可以存储在远端服务器中,在用户需要访问前端应用的页面时(也即是触发访问请求之后),可以动态加载该静态打包文件,基于该静态打包文件渲染前端应用的页面。
80.其中,静态打包文件可以是超文本标记语言(hyper text markup language,html)格式的文件,也可以是层叠样式表(cascading style sheet,css)格式的文件,或者,也可以是js(javascript,是一种解释性脚本语言)格式的文件。当然,在实际应用中,静态打包文件也可以是其他格式的文件,本技术实施例对此不做限定。
81.版本文件为包含有时间戳的文件。本技术实施例中,开发人员构建好静态打包文件后,在需要对静态打包文件进行页面发版时,可以将该静态打包文件上传至页面发版提示设备。页面发版提示设备接收到静态打包文件后,可以以实时时间作为时间戳,基于时间戳得到静态打包文件对应的版本文件,然后将静态打包文件和对应的版本文件一并存入远端服务器。
82.本技术实施例中的第一版本文件和第二版本文件,是用于区分存储在不同位置的时间戳,存储在本地的记为第二时间戳,该第二时间戳为第二版本文件中的时间戳;存储在远端服务器的记为第一时间戳,该第一时间戳为第一版本文件中的时间戳。当第一版本文件的第一时间戳和第二版本文件的第二时间戳相同时,表示第一版本文件和第二版本文件是在同一时刻为同一静态打包文件创建的版本文件,此时,第一静态打包文件和第二静态打包文件对应的文件内容也是相同的。反之,当第一版本文件的第一时间戳和第二版本文件的第二时间戳不同时,表示第一版本文件和第二版本文件是在不同时刻为不同静态打包文件创建的版本文件,此时第一静态打包文件和第二静态打包文件对应的文件内容也不相同。
83.在一种可能的实现方式中,页面发版提示设备接收到访问请求后,可以从远端服务器获取其存储的最新的当前静态打包文件,将其动态加载至用户终端,并基于该最新的当前静态打包文件在用户终端的显示界面上渲染前端应用的网页页面(本技术实施例中的第一页面或第二页面)。
84.可以理解的是,在实际应用中,页面发版提示设备在接收到用户触发的访问请求之后,还可以对该访问请求进行鉴权等操作,本技术实施例中,可以在鉴权通过后,再开始每间隔预设时长执行一次周期轮训任务。
85.可选的,本技术实施例提供的页面发版提示方法还可以包括:检测项目构建发布命令;该项目构建发布命令用于请求对当前静态打包文件进行发版;调用预设版本标记插件执行如下操作:确定当前静态打包文件的命令行中是否包括预设发版提示字段,并在确定命令行中包括预设发版提示字段的情况下,基于当前时间戳创建前端应用的当前版本文件;将当前版本文件和当前静态打包文件更新至远端服务器中。
86.其中,项目构建发布命令可以是开发人员构建好当前静态打包文件后,通过事先设定的触发方式触发的命令。
87.本技术实施例中,页面发版提示设备在执行步骤s101至步骤s103对应的页面发版提示方法时,可以对开发人员触发的项目构建发布命令进行监控,在监控到该项目构建发布命令时,可以调用预设版本标记插件。可以理解的是,本技术实施例中的第二静态打包文件,也即是在执行步骤s101至步骤s103之前,页面发版提示设备接收到的一个当前静态打包文件。
88.其中,预设版本标记插件可以是开发人员事先配置好的插件。在一种可能的实现方式中,该预设版本标记插件可以包括webpack(一种代码编译工具)插件部分、rollup(一种代码编译工具)插件部分和umi(一种代码编译工具)插件部分。示例性的,预设版本标记插件具体可以被配置为,在当前静态打包文件是开发人员通过webpack编译的情况下,调用webpack插件部分执行如下操作:确定当前静态打包文件的命令行中是否包括预设发版提示字段,并在确定命令行中包括预设发版提示字段的情况下,基于当前时间戳创建前端应用的当前版本文件;将当前版本文件和当前静态打包文件更新至远端服务器中。可以理解的是,rollup插件部分和umi插件部分构建版本文件的过程与webpack插件部分类似,此处不再赘述。
89.预设发版提示字段,可以是开发人员事先设定的一个字段。开发人员在构建当前静态打包文件时,若本次页面发版需要用户及时进行版本更新,则可以在当前静态打包文件的命令行中添加该预设发版提示字段,用于表征需要对当前静态打包文件进行页面发版提示。示例性的,若当前静态打包文件是对一些漏洞的修复,则开发人员可以在命令行中添加该预设发版提示字段。反之,开发人员在构建当前静态打包文件时,也可以根据实际应用需求不在命令行中添加该预设发版提示字段,用于表征不需要对当前静态打包文件进行页面发版提示。
90.示例性的,本技术实施例中,用户终端可以通过如下字段:“const params=json.parse(process.env.npm_config_argv).original”获取当前静态打包文件所有的命令行内容,这里的命令行是打包执行的命令。比如,命令行中打包执行的命令的字段可以是如下字段:“npm run build:prod
‑‑
releasenotice=true”。其中,“releasenotice=true”为控制当前静态打包文件是否需要进行页面发版提示的参数,也即是本技术实施例中的预设发版提示字段。用户终端获取到命令行后,若未匹配到“releasenotice=true”,则表示不需要对当前静态打包文件进行页面发版提示,也就不需要创建该当前静态打包文件的当前版本文件,此时,预设版本标记插件的运行可以结束。用户终端获取到命令行后,若匹配
到“releasenotice=true”,表示需要对当前静态打包文件进行页面发版提示,则可以基于当前时间戳创建对应的当前版本文件,当前版本文件创建好之后预设版本标记插件的运行可以结束。
91.本技术实施例中,可以事先配置用于创建当前版本文件的预设版本标记插件,然后将该预设版本标记插件的调用节点插入在检测到项目构建发布命令之后。该项目构建发布命令是开发人员触发的用于请求对当前静态打包文件进行发版的命令,这样,可以使前端具备记录各静态打包文件的发版时间的能力,也即是使前端具备感知页面发版的能力。另外,本技术实施例并不是对每次页面发版都需要进行提示,开发人员可以根据项目需求在命令行中选择性的添加预设发版提示字段,可以实现根据项目需求对页面发版进行提示,这样可以满足不同项目的开发需求,适应性更广。
92.可选的,接收用户触发的访问请求之后,本技术实施例提供的页面发版提示方法还可以包括:执行初始化操作,在执行初始化操作的过程中传入预设配置参数;预设配置参数至少包括预设时长;初始化操作,用于触发开始每间隔预设时长执行一次周期轮训任务的操作。
93.其中,预设配置参数可以是开发人员根据项目需求事先配置的参数。
94.本技术实施例中,页面发版提示设备在接收到访问请求后,可以通过对事先确定的函数进行初始化来触发开始每间隔预设时长执行一次周期轮训任务的操作。为满足不同项目的需求,本技术实施例中,该函数的预设配置参数可以不同,也即是支持开发人员根据项目需求传入不同的预设配置参数。示例性的,前端应用a对应的项目的预设时长可以是1分钟,前端应用b对应的项目的预设时长可以是30秒。
95.可选的,预设配置参数还包括远端服务器的访问地址;执行初始化操作,在执行初始化操作的过程中传入预设配置参数之后,本技术实施例提供的页面发版提示方法还可以包括:响应于初始化操作,从访问地址获取第二版本文件;将第二版本文件中的第二时间戳存储在本地。
96.其中,访问地址可以是开发人员事先确定的地址。在实际应用中,可以由前端应用的运营商管理存储前端应用的静态资源,也可以是由第三方运营商对前端应用的静态资源进行管理存储,开发人员可以根据管理存储前端应用的静态资源的运营商,事先确定该访问地址。
97.本技术实施例提供的页面发版提示方法中,还可以通过对事先确定的函数进行初始化来实现以下功能:在接收到用户触发的访问请求后,从访问地址获取远端服务器中当前存储的版本文件,并将获取到的版本文件中的时间戳更新至本地。也即是,本技术实施例中,本地存储的时间戳是从远端服务器获取的。由于远端服务器中存储的版本文件中的时间戳为最新发版的静态打包文件对应的版本文件中的时间戳,所以,此时更新至本地的第二时间戳也即是最新发版的静态打包文件对应的版本文件中的时间戳。这样,若动态加载该第二时间戳对应的静态打包文件进行第一页面的呈现,则呈现的第一页面也即是最新的页面。可以看出,本技术实施例通过对事先确定的函数进行初始化,并在初始化时传入预设配置参数,可以实现在用户首次打开第一页面(本技术实施例以接收到新的访问请求作为首次打开页面的判断基准)时,向用户提供前端应用的最新版本的服务功能,这样,用户在首次打开第一页面时,不用再通过其他操作进行版本刷新,可以进一步改善对前端应用进
行了页面发版后的用户体验。
98.可选的,预设配置参数中还包括关键字;执行初始化操作,在执行初始化操作的过程中传入预设配置参数之后,本技术实施例提供的页面发版提示方法还可以包括:响应于初始化操作,在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则将第一版本文件中的第一时间戳更新至关键字对应的前端存储分区。
99.其中,关键字是开发人员事先为前端应用配置的,其用于唯一表示前端应用的版本文件中的时间戳的前端存储分区。不同前端应用对应的关键字是不同的。
100.由于在实际应用中,用户可能会同时访问不同前端应用的页面,为了实现对多个不同前端应用的版本文件的准确管理,本技术实施例中,可以以键值对(包括关键字key和键值value)的存储形式,将不同前端应用的版本文件中的时间戳存储在不同的前端存储分区。这样,可以保证在对多个前端应用进行页面发版时,各个前端应用的页面发版提示是相互独立,互不影响的。
101.目前,微服务系统中可以将前端应用分解成一些更小、更简单的能够独立开发、测试及部署的应用,具体的,可以由一个主应用(即基座应用)来管理各子应用的加载或卸载。可选的,本技术实施例中的前端应用可以是主应用,也可以是子应用。主应用和子应用对应不同的关键字,且不同子应用对应的关键字也不同,这样,可以保证对主应用和子应用分别进行页面发版时,各个应用的页面发版提示是相互独立,互不影响的。
102.可选的,初始化操作,还用于触发开始执行实时监控任务的操作;实时监控任务包括:监控关键字对应的前端存储分区是否产生了内容更新,并监控前端应用当前已被用户访问的至少一个第二页面;执行初始化操作,在执行初始化操作的过程中传入预设配置参数之后,本技术实施例提供的页面发版提示方法还可以包括:响应于初始化操作,开始执行实时监控任务;在执行实时监控任务的过程中,若确定关键字对应的前端存储分区产生了内容更新,则针对第二页面进行发版提示。
103.其中,针对第二页面进行发版提示的过程,可以参照针对第一页面进行发版提示的过程,本技术实施例在此不再赘述。
104.本技术实施例中,页面发版提示设备在接收到访问请求后,还可以通过对事先确定的函数进行初始化来触发开始执行实时监控任务的操作。该实时监控任务通过对前端存储分区是否产生了内容更新进行监控,可以确定当前是否进行了页面发版,并且还可以对前端应用当前已被用户访问的所有第二页面进行监控。具体的,当用户同时打开多个页面时,打开的各个页面均会触发周期轮训任务,但是,由于用户打开各个页面的时间节点是不同的,所以基于周期轮训任务对各页面进行发版提示的时机也不同。为了保证用户在浏览器中同时打开多个页面时,各个页面的发版提示的一致性,本技术实施例可以在监测到关键字对应的前端存储分区产生了内容更新的情况下,对当前已被用户访问的各第二页面均进行发版提示。
105.s103、在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则针对第一页面进行发版提示。
106.可选的,针对第一页面进行发版提示,可以包括:在确定当前呈现的是第一页面的情况下,基于预设提示组件或预设提示函数,在当前呈现的第一页面中添加版本更新组件;在接收到用户对版本更新组件的选择操作的情况下,对第一页面进行更新。
107.其中,预设提示组件可以是事先配置的,用于在用户终端显示的页面中渲染版本更新组件的组件。预设提示函数可以是事先配置的,用于在用户终端显示的页面中渲染版本更新组件的函数。示例性的,预设提示组件可以是前端用户界面(ui)的antd(一种组件库)库中的notification(一种通知组件)组件。
108.示例性的,参照图2,为本技术实施例提供的一种添加有版本更新组件的页面示意图。如图2所示,页面发版提示设备在确定用户终端当前呈现的是第一页面的情况下,可以在当前呈现的第一页面的功能显示区的右上方渲染一个提示区,该提示区中显示有图2所示的“更新提醒”和“检测到有新版本,请保存内容后,点击下方刷新按钮,体验最新功能”的字样,并且显示有“刷新”按钮,该“刷新”按钮即为本技术实施例中的版本更新组件。用户可以通过对该“刷新”按钮进行点击操作,触发页面发版提示设备重新基于当前最新的静态打包文件对第一页面进行渲染更新。
109.为了避免基于第一静态打包文件对第一页面进行更新时,用户在第一页面中填写或输入的信息未保存,本技术实施例中,可以向用户提供自主触发版本更新的功能。这样,可以进一步改善对前端应用进行了页面发版后的用户体验。
110.综合以上描述,本技术实施例提供的页面发版提示方法中,在接收到用户对于前端应用的第一页面的访问请求后,可以开始以预设时长为周期执行周期轮训任务。具体的,周期轮训任务的任务内容为:获取远端服务器中存储的前端应用的第一版本文件,并将第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比。其中,第一时间戳用于表征与第一版本文件对应的第一静态打包文件的发版时间,而第二时间戳则为前端应用的第二版本文件中的时间戳,用于表征与第二版本文件对应的第二静态打包文件的发版时间。由于在进行页面发版时,最新的静态打包文件对应的版本文件会同步更新在远端服务器中,所以远端服务器中存储的第一版本文件中的第一时间戳也即是最新发版的静态打包文件对应的版本文件中的时间戳。这样,在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则表示当前进行了页面发版(即发布了前端应用的新版本的静态打包文件),此时,可以针对第一页面进行发版提示,以便于用户可以在页面发版之后,在之前已打开的第一页面中使用提供有新功能或进行了漏洞修复的新版本的对应服务。可以看出,本技术实施例通过执行周期轮训任务,可以确定出是否进行了页面发版,这样可以在用户已打开的第一页面中进行发版提示,便于用户可以及时使用提供有新功能或进行了漏洞修复的新版本的对应服务,从而可以改善对前端应用进行了页面发版后的用户体验。
111.可选的,如图3所示,本技术实施例还提供了一种页面发版提示方法,包括s301-s306:
112.s301、接收用户触发的访问请求。
113.s302、执行初始化操作,在执行初始化操作的过程中传入预设配置参数。
114.其中,预设配置参数包括预设时长、访问地址和关键字。
115.s303、响应于初始化操作,从访问地址获取第二版本文件;将第二版本文件中的第二时间戳存储在本地。
116.s304、响应于初始化操作,开始每间隔预设时长执行一次周期轮训任务,且开始执行实时监控任务。
117.s305、在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则针对第一页面进行发版提示,并且,将第一版本文件中的第一时间戳更新至关键字对应的前端存储分区。
118.s306、在执行实时监控任务的过程中,若确定关键字对应的前端存储分区产生了内容更新,则针对第二页面进行发版提示。
119.可选的,如图4所示,本技术实施例还提供了一种页面发版提示方法,包括s401-s406:
120.s401、检测项目构建发布命令。
121.s402、调用预设版本标记插件执行如下操作:确定当前静态打包文件的命令行中是否包括预设发版提示字段,并在确定命令行中包括预设发版提示字段的情况下,基于当前时间戳创建前端应用的当前版本文件。
122.s403、将当前版本文件和当前静态打包文件更新至远端服务器中。
123.s404、接收用户触发的访问请求。
124.s405、开始每间隔预设时长执行一次周期轮训任务。
125.s406、在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则针对第一页面进行发版提示。
126.可以理解的是,在实际应用中,步骤s401-步骤s406是可以重复执行的。
127.如图5所示,本技术实施例还提供了一种页面发版提示装置,该装置可以包括:接收模块11、执行模块21以及提示模块31;。
128.其中,接收模块11执行上述方法实施例中的s101,执行模块21执行上述方法实施例中的s102,提示模块31执行上述方法实施例中的s103。
129.具体地,接收模块11,用于接收用户触发的访问请求;访问请求用于请求访问前端应用的第一页面;
130.执行模块21,用于开始每间隔预设时长执行一次周期轮训任务;周期轮训任务包括:获取远端服务器中存储的前端应用的第一版本文件,并将第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比;第一时间戳,用于表征与第一版本文件对应的第一静态打包文件的发版时间;第二时间戳为前端应用的第二版本文件中的时间戳,用于表征与第二版本文件对应的第二静态打包文件的发版时间;
131.提示模块31,用于在执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则针对第一页面进行发版提示。
132.可选的,在一种可能的设计方式中,本技术提供的页面发版提示装置还可以包括初始化模块;
133.初始化模块,用于在接收模块11接收用户触发的访问请求之后,执行初始化操作,在执行初始化操作的过程中传入预设配置参数;预设配置参数至少包括预设时长;初始化操作,用于触发开始每间隔预设时长执行一次周期轮训任务的操作。
134.可选的,在另一种可能的设计方式中,预设配置参数还包括远端服务器的访问地址;本技术提供的页面发版提示装置还可以包括获取模块和存储模块;
135.获取模块,用于在初始化模块执行初始化操作之后,响应于初始化操作,从访问地址获取第二版本文件;
136.存储模块,用于将第二版本文件中的第二时间戳存储在本地。
137.可选的,在另一种可能的设计方式中,预设配置参数还包括关键字;本技术提供的页面发版提示装置还可以包括更新模块;
138.更新模块,用于在初始化模块执行初始化操作之后,在执行模块21执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间,则将第一版本文件中的第一时间戳更新至关键字对应的前端存储分区。
139.可选的,在另一种可能的设计方式中,初始化操作,还用于触发开始执行实时监控任务的操作;实时监控任务包括:监控关键字对应的前端存储分区是否产生了内容更新,并监控前端应用当前已被用户访问的至少一个第二页面
140.执行模块21,还用于在初始化模块执行初始化操作之后,响应于初始化操作,开始执行实时监控任务;提示模块31,还用于在执行模块21执行实时监控任务的过程中,若确定关键字对应的前端存储分区产生了内容更新,则针对第二页面进行发版提示。
141.可选的,在另一种可能的设计方式中,本技术提供的页面发版提示装置还可以包括检测模块、调用模块和更新模块;
142.检测模块,还用于检测项目构建发布命令;项目构建发布命令用于请求对当前静态打包文件进行发版;
143.调用模块,用于调用预设版本标记插件执行如下操作:确定当前静态打包文件的命令行中是否包括预设发版提示字段,并在确定命令行中包括预设发版提示字段的情况下,基于当前时间戳创建前端应用的当前版本文件;
144.更新模块,用于将当前版本文件和当前静态打包文件更新至远端服务器中。
145.可选的,在另一种可能的设计方式中,提示模块31具体用于:
146.在确定当前呈现的是第一页面的情况下,基于预设提示组件或预设提示函数,在当前呈现的第一页面中添加版本更新组件;
147.在接收到用户对版本更新组件的选择操作的情况下,对第一页面进行更新。
148.可选的,页面发版提示装置中还可以包括存储模块,存储模块用于存储该页面发版提示装置的程序代码等。
149.如图6所示,本技术实施例还提供一种页面发版提示设备,包括存储器41、处理器(比如图6中的42-1和42-2)、总线43和通信接口44;存储器41用于存储计算机执行指令,处理器与存储器41通过总线43连接;当页面发版提示设备运行时,处理器执行存储器41存储的计算机执行指令,以使页面发版提示设备执行如上述实施例提供的页面发版提示方法。
150.在具体的实现中,作为一种实施例,处理器可以包括一个或多个中央处理器(central processing unit,cpu),例如图6中所示的cpu0和cpu1。且作为一种实施例,页面发版提示设备可以包括多个处理器,例如图6中所示的处理器42-1和处理器42-2。这些处理器中的每一个cpu可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
151.存储器41可以是只读存储器41(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器
(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器41可以是独立存在,通过总线43与处理器相连接。存储器41也可以和处理器集成在一起。
152.在具体的实现中,存储器41,用于存储本技术中的数据和执行本技术的软件程序对应的计算机执行指令。处理器可以通过运行或执行存储在存储器41内的软件程序,以及调用存储在存储器41内的数据,页面发版提示设备的各种功能。
153.通信接口44,使用任何收发器一类的设备,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。
154.总线43,可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
155.作为一个示例,结合图5,页面发版提示装置中的接收模块实现的功能与图6中的接收单元实现的功能相同,页面发版提示装置中的执行模块实现的功能与图6中的处理器实现的功能相同。当页面发版提示装置包括有存储模块时,存储模块实现的功能与图6中的存储器实现的功能相同。
156.本实施例中相关内容的解释可参考上述方法实施例,此处不再赘述。
157.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
158.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,使得计算机执行上述实施例提供的页面发版提示方法。
159.其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、ram、rom、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、cd-rom、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,asic)中。在本技术实施例中,计算机可读存储介质可以是任何包含
或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
160.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
技术特征:
1.一种页面发版提示方法,其特征在于,包括:接收用户触发的访问请求;所述访问请求用于请求访问前端应用的第一页面;开始每间隔预设时长执行一次周期轮训任务;所述周期轮训任务包括:获取远端服务器中存储的所述前端应用的第一版本文件,并将所述第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比;所述第一时间戳,用于表征与所述第一版本文件对应的第一静态打包文件的发版时间;所述第二时间戳为所述前端应用的第二版本文件中的时间戳,用于表征与所述第二版本文件对应的第二静态打包文件的发版时间;在执行所述周期轮训任务的过程中,若确定所述第一时间戳对应的时间晚于所述第二时间戳对应的时间,则针对所述第一页面进行发版提示。2.根据权利要求1所述的页面发版提示方法,其特征在于,所述接收用户触发的访问请求之后,所述方法还包括:执行初始化操作,在执行所述初始化操作的过程中传入预设配置参数;所述预设配置参数至少包括所述预设时长;所述初始化操作,用于触发所述开始每间隔预设时长执行一次周期轮训任务的操作。3.根据权利要求2所述的页面发版提示方法,其特征在于,所述预设配置参数还包括所述远端服务器的访问地址;所述执行初始化操作,在执行所述初始化操作的过程中传入预设配置参数之后,所述方法还包括:响应于所述初始化操作,从所述访问地址获取所述第二版本文件;将所述第二版本文件中的所述第二时间戳存储在本地。4.根据权利要求2所述的页面发版提示方法,其特征在于,所述预设配置参数还包括关键字;所述执行初始化操作,在执行所述初始化操作的过程中传入预设配置参数之后,所述方法还包括:响应于所述初始化操作,在执行所述周期轮训任务的过程中,若确定所述第一时间戳对应的时间晚于所述第二时间戳对应的时间,则将所述第一版本文件中的所述第一时间戳更新至所述关键字对应的前端存储分区。5.根据权利要求4所述的页面发版提示方法,其特征在于,所述初始化操作,还用于触发开始执行实时监控任务的操作;所述实时监控任务包括:监控所述关键字对应的前端存储分区是否产生了内容更新,并监控所述前端应用当前已被用户访问的至少一个第二页面;所述执行初始化操作,在执行所述初始化操作的过程中传入预设配置参数之后,所述方法还包括:响应于所述初始化操作,开始执行所述实时监控任务;在执行所述实时监控任务的过程中,若确定所述关键字对应的前端存储分区产生了内容更新,则针对所述第二页面进行发版提示。6.根据权利要求1所述的页面发版提示方法,其特征在于,所述方法还包括:检测项目构建发布命令;所述项目构建发布命令用于请求对当前静态打包文件进行发版;调用预设版本标记插件执行如下操作:确定所述当前静态打包文件的命令行中是否包括预设发版提示字段,并在确定所述命令行中包括所述预设发版提示字段的情况下,基于当前时间戳创建所述前端应用的当前版本文件;
将所述当前版本文件和所述当前静态打包文件更新至所述远端服务器中。7.根据权利要求1-6任意一项所述的页面发版提示方法,其特征在于,所述针对所述第一页面进行发版提示,包括:在确定当前呈现的是所述第一页面的情况下,基于预设提示组件或预设提示函数,在当前呈现的所述第一页面中添加版本更新组件;在接收到用户对所述版本更新组件的选择操作的情况下,对所述第一页面进行更新。8.一种页面发版提示装置,其特征在于,包括:接收模块,用于接收用户触发的访问请求;所述访问请求用于请求访问前端应用的第一页面;执行模块,用于开始每间隔预设时长执行一次周期轮训任务;所述周期轮训任务包括:获取远端服务器中存储的所述前端应用的第一版本文件,并将所述第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比;所述第一时间戳,用于表征与所述第一版本文件对应的第一静态打包文件的发版时间;所述第二时间戳为所述前端应用的第二版本文件中的时间戳,用于表征与所述第二版本文件对应的第二静态打包文件的发版时间;提示模块,用于在执行所述周期轮训任务的过程中,若确定所述第一时间戳对应的时间晚于所述第二时间戳对应的时间,则针对所述第一页面进行发版提示。9.一种页面发版提示设备,其特征在于,包括存储器、处理器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接;当所述页面发版提示设备运行时,处理器执行所述存储器存储的所述计算机执行指令,以使所述页面发版提示设备执行如权利要求1-7任意一项所述的页面发版提示方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机执行所述指令时,使得所述计算机执行如权利要求1-7任意一项所述的页面发版提示方法。
技术总结
本申请公开了一种页面发版提示方法、装置、设备及存储介质,涉及计算机技术领域,可改善对前端应用进行页面发版后的用户体验。该方法包括:接收用于请求访问前端应用的第一页面的访问请求;开始每间隔预设时长执行一次周期轮训任务;周期轮训任务包括:获取远端服务器中存储的前端应用的第一版本文件,并将第一版本文件中的第一时间戳与本地存储的第二时间戳进行对比;第一时间戳表征与第一版本文件对应的第一静态打包文件的发版时间;第二时间戳为第二版本文件中的时间戳,表征与第二版本文件对应的第二静态打包文件的发版时间;执行周期轮训任务的过程中,若确定第一时间戳对应的时间晚于第二时间戳对应的时间则针对第一页面进行发版提示。面进行发版提示。面进行发版提示。
技术研发人员:郭奇志
受保护的技术使用者:上海识装信息科技有限公司
技术研发日:2023.01.13
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/