数据处理、应用启动方法、装置、计算机设备和存储介质与流程

文档序号:32690554发布日期:2022-12-27 17:26阅读:66来源:国知局
数据处理、应用启动方法、装置、计算机设备和存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及一种数据处理、应用启动方法、装置、计算机设备和存储介质。


背景技术:

2.随着互联网技术的发展,出现了h5(hypertext markup language 5,第5代超文本标记语言)应用程序,h5应用程序是指使用h5开发的应用程序。目前,h5应用程序具有无需下载即可使用、开发成本低等优点,目前的h5应用程序通常通过h5页面来展示应用内容。然而,h5页面在加载时的速度比较低下,导致h5应用程序运行性能降低。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能够提高h5页面加载速度,进而提升h5应用程序性能的数据处理、应用启动方法、装置、计算机设备和存储介质。
4.一种数据处理方法,所述方法包括:
5.接收页面生成指令,页面生成指令中携带页面标识;
6.根据页面标识获取对应的h5页面信息,并获取当前设备信息;
7.在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据;
8.识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;
9.基于原生页面结构数据进行页面渲染,得到原生页面并展示。
10.在一个实施例中,在所述接收页面生成指令,所述页面生成指令中携带页面标识之前,还包括:
11.检测到触发h5页面信息下载事件时,向服务器发送h5页面信息下载请求,所述h5页面信息下载请求携带页面标识;
12.获取所述服务器返回的h5页面信息,所述h5页面信息是所述服务器根据所述页面标识查找到的,将所述h5页面信息按照所述页面标识对应的内存存储路径进行保存。
13.在一个实施例中,在所述基于所述原生页面结构数据进行页面渲染,得到原生页面并展示之后,还包括:
14.向服务器发送h5页面信息静默更新请求,所述h5页面信息静默更新请求携带所述页面标识;
15.获取所述服务器返回的更新版本信息,所述更新版本信息是所述服务器使用所述页面标识查找到的;
16.获取所述页面标识对应的h5页面信息的本地版本信息,比较所述更新版本信息与所述本地版本信息,当所述更新版本信息与所述本地版本信息不一致时,向所述服务器发送h5页面更新信息下载请求,所述h5页面更新信息下载请求携带所述更新版本信息;
17.获取所述服务器返回的h5页面更新信息,所述h5页面更新信息是所述服务器根据所述更新版本信息查找到的,将所述h5页面更新信息进行保存,并将所述本地版本信息对应的h5页面信息进行删除。
18.在一个实施例中,在所述根据所述页面标识获取对应的h5页面信息,并获取当前设备信息之后,还包括:
19.启动第一线程、第二线程和主线程;
20.所述在所述当前设备信息对应的运行环境中解析所述h5页面信息,得到h5页面结构数据,包括:
21.使用所述第一线程在所述当前设备信息对应的运行环境中解析所述h5页面信息,得到h5页面结构数据;
22.所述识别所述h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将所述h5页面组件信息、所述h5页面布局信息和所述h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据,包括:
23.使用所述第二线程识别所述h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将所述h5页面组件信息、所述h5页面布局信息和所述h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;
24.所述基于所述原生页面结构数据进行页面渲染,得到原生页面并展示,包括:
25.使用所述主线程基于所述原生页面结构数据进行页面渲染,得到原生页面并展示。
26.在一个实施例中,在所述基于所述原生页面结构数据进行页面渲染,得到原生页面并展示之后,包括:
27.当检测到数据通信通道出现异常时,向服务器发送长链接消息通道重连请求,所述长链接消息通道重连请求携带终端标识;
28.所述服务器根据长链接消息通道重连请求和所述终端标识对应的终端重新建立长链接消息通道。
29.一种数据处理装置,所述装置包括:
30.指令接收模块,用于接收页面生成指令,页面生成指令中携带页面标识;
31.信息获取模块,用于根据页面标识获取对应的h5页面信息,并获取当前设备信息;
32.解析模块,用于在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据;
33.转换模块,用于识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;
34.渲染模块,用于基于原生页面结构数据进行页面渲染,得到原生页面并展示。
35.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
36.接收页面生成指令,页面生成指令中携带页面标识;
37.根据页面标识获取对应的h5页面信息,并获取当前设备信息;
38.在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据;
39.识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;
40.基于原生页面结构数据进行页面渲染,得到原生页面并展示。
41.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
42.接收页面生成指令,页面生成指令中携带页面标识;
43.根据页面标识获取对应的h5页面信息,并获取当前设备信息;
44.在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据;
45.识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;
46.基于原生页面结构数据进行页面渲染,得到原生页面并展示。
47.上述数据处理方法、装置、计算机设备和存储介质,通过在页面生成时获取对应的h5页面信息,并获取当前设备信息,在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据,然后识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据,使用原生页面结构数据进行页面渲染,得到原生页面并展示,即通过将h5页面信息转换为原生页面结构数据进行页面渲染,得到原生页面,从而能够提高页面的加载速度,进而提升h5应用程序的运行性能。
48.一种数据处理方法,所述方法包括:
49.在目标应用中接收到内置应用启动指令,内置应用启动指令中携带内置应用标识,基于内置应用标识获取到对应的内置应用起始页标识;
50.根据内置应用起始页标识获取对应的内置应用h5起始页信息,并获取当前设备信息;
51.在当前设备信息对应的运行环境中解析内置应用h5起始页信息,得到内置应用h5起始页结构数据;
52.识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据;
53.基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。
54.一种应用启动装置,所述装置包括:
55.启动指令接收模块,用于在目标应用中接收到内置应用启动指令,内置应用启动指令中携带内置应用标识,基于内置应用标识获取到对应的内置应用起始页标识;
56.起始信息获取模块,用于根据内置应用起始页标识获取对应的内置应用h5起始页信息,并获取当前设备信息;
57.起始信息解析模块,用于在当前设备信息对应的运行环境中解析内置应用h5起始
页信息,得到内置应用h5起始页结构数据;
58.起始信息转换模块,用于识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据;
59.起始页面展示模块,用于基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。
60.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
61.在目标应用中接收到内置应用启动指令,内置应用启动指令中携带内置应用标识,基于内置应用标识获取到对应的内置应用起始页标识;
62.根据内置应用起始页标识获取对应的内置应用h5起始页信息,并获取当前设备信息;
63.在当前设备信息对应的运行环境中解析内置应用h5起始页信息,得到内置应用h5起始页结构数据;
64.识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据;
65.基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。
66.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
67.在目标应用中接收到内置应用启动指令,内置应用启动指令中携带内置应用标识,基于内置应用标识获取到对应的内置应用起始页标识;
68.根据内置应用起始页标识获取对应的内置应用h5起始页信息,并获取当前设备信息;
69.在当前设备信息对应的运行环境中解析内置应用h5起始页信息,得到内置应用h5起始页结构数据;
70.识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据;
71.基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。
72.上述应用启动方法、装置、计算机设备和存储介质,通过在目标应用中接收到内置应用启动指令,根据内置应用起始页标识获取对应的内置应用h5起始页信息,并获取当前设备信息,在当前设备信息对应的运行环境中解析内置应用h5起始页信息,得到内置应用h5起始页结构数据,然后识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件
信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据,基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。即在内置应用启动时通过内置应用起始页对应的h5起始页信息转换为原生起始页结构数据,然后进行页面渲染,得到内置应用原生起始页面并展示,从而提高了内置应用原生起始页面加载速度,使得内置应用的启动速度提高,进而提高了内置应用的运行性能。
附图说明
73.图1为一个实施例中数据处理方法的应用环境图;
74.图2为一个实施例中数据处理方法的流程示意图;
75.图3为一个具体实施例中获取页面信息的流程示意图;
76.图4为一个实施例中加载基础资源信息的流程示意图;
77.图5为一个具体实施例中加载基础资源信息的流程示意图;
78.图6为一个实施例中加载业务资源信息的流程示意图;
79.图7为一个具体实施例中加载业务资源信息的流程示意图;
80.图8为一个实施例中静默更新的流程示意图;
81.图9为一个具体实施例中静默更新的流程示意图;
82.图10a为一个实施例中使用线程处理的流程示意图;
83.图10b为一个具体实施例中使用线程处理的流程示意图;
84.图10c为一个实施例中界面元素的映射示意图;
85.图10d为一个具体实施例中转换逻辑的示意图;
86.图11为一个实施例中页面切换的流程示意图;
87.图12为一个实施例中应用启动方法的流程示意图;
88.图13为一个具体实施例中转换框架的示意图;
89.图14为一个具体实施例中转换逻辑的示意图;
90.图15为一个具体实施例中公共数据状态管理的示意图;
91.图16为一个具体实施例中数据状态同步与更新的示意图;
92.图17为一个具体实施例中框架通信机制的示意图;
93.图18为一个具体实施例中社交分享应用的页面示意图;
94.图19为一个具体实施例中交互功能的页面示意图;
95.图20为一个具体实施例中小黑板应用退出界面的示意图;
96.图21为一个具体实施例中应用启动的流程示意图;
97.图22为一个具体实施例中应用场景的框架示意图;
98.图23为一个具体实施例中数据处理装置的结构框图;
99.图24为一个具体实施例中应用启动装置的结构框图;
100.图25为一个实施例中计算机设备的内部结构图;
101.图26为另一个实施例中计算机设备的内部结构图。
具体实施方式
102.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
103.本技术提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102接收页面生成指令,页面生成指令中携带页面标识;根据页面标识获取对应的h5页面信息,并获取当前设备信息;在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据;识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;基于原生页面结构数据进行页面渲染,得到原生页面并展示。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
104.在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的终端为例进行说明,可以理解的是,该方法也可以应用在终端中,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。在本实施例中,包括以下步骤:
105.步骤202,接收页面生成指令,页面生成指令中携带页面标识。
106.其中,页面标识用于唯一表示页面,可以是页面地址、页面名称、页面编号等等。该页面是可以是h5应用中的页面。该页面具备跨平台的能力,即在各个不同的操作系统平台能够进行页面生成和展示。操作系统平台是指搭载操作系统的终端,该操作系统包括桌面端操作系统和移动端操作系统两大类以及harmonyos(鸿蒙操作系统),桌面端操作系统包括windows(微软操作系统)、linux(开源的操作系统)等等。移动端操作系统包括安卓操作系统和ios(苹果操作系统等等。该页面可以是使用将h5页面运行时转换成原生渲染的框架开发的页面。
107.具体地,终端接收到页面生成指令,可以是用户通过点击页面入口,终端响应点击时间,接收到页面生成指令。其中,页面入口是指进入页面的入口,可以以按钮、链接等其他可点击的形式展示给用户。当该页面为h5应用程序起始页面时,页面入口也可以是h5应用程序入口。该页面生成指令中携带有页面标识。
108.步骤204,根据页面标识获取对应的h5页面信息,并获取当前设备信息。
109.其中,h5页面信息是指生成h5页面所需的信息,包括页面资源信息和页面数据等等。页面资源信息是指页面生成所需的资源,可以包括基础资源、图片资源,组件资源,js资源,css资源等等。页面数据是指页面中的数据。当前设备信息是指当前终端设备的操作系统信息,可以包括操作系统名称,版本等。
110.具体地,终端可以根据页面标识从本地内存中获取对应的h5页面信息,其中,该h5页面信息可以是预加载到终端中的终端。也可以向服务器发送页面信息获取请求,该页面信息获取请求中携带页面标识,终端获取到服务器返回的h5页面信息。然后终端获取到当前设备信息,即终端检测自身的操作系统信息。
111.在一个具体的实施例中,h5页面信息可以是使用vue(vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,vue被设计为可以自底向上逐层应用。vue的核
心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合)进行页面开发后进行页面打包得到的信息,包括页面基础资源压缩包、页面数据和页面业务资源压缩包等等。
112.步骤206,在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据。
113.其中,h5页面结构数据是指h5页面对应的虚拟dom树。dom是指文档对象模型(document object model,简称dom)是w3c制定的标准接口规范,是一种处理html和xml文件的标准api。dom提供了对整个文档的访问模型,将文档作为一个树形结构,树的每个结点表示了一个html标签或标签内的文本项。dom树结构精确地描述了html文档中标签间的相互关联性。
114.具体地,终端根据当前设备信息确定当前的运行环境,即不同的操作系统有不同的运行环境,然后终端在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据。
115.在一个具体的实施例中,当前设备信息是指ios操作系统时,则可以在jscore(javascriptcore是webkit的一个重要组成部分,主要是对js进行解析和提供执行环境)运行环境解析h5页面信息。当前设备信息是指安卓操作系统时,可以使用v8(浏览器chrome的javascript引擎)运行环境解析h5页面信息。得到h5页面结构数据。即在vue中将函数模板通过渲染函数得到虚拟的dom树。
116.步骤208,识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据。
117.其中,h5页面生成信息是指生成h5页面需要的信息,包括h5页面组件信息、h5页面布局信息、h5页面样式规则信息等等。预设原生数据格式转换规则是指预先设置好的将数据格式转换的规则,其中,数据格式转换是指将h5页面的数据格式转换为原生页面的数据格式。原生页面的数据格式是指生成原生页面的数据对应的格式。原生页面是指原生应用程序中的页面。原生页面结构数据是指生成原生页面时使用的数据。
118.具体地,终端识别h5页面结构数据,得到h5页面对应的h5页面组件信息、h5页面布局信息、h5页面样式规则信息等,然后将h5页面组件信息、h5页面布局信息、h5页面样式规则信息等等按照预设原生数据格式转换规则进行转换,得到原生数据格式的组件信息、页面布局信息和样式规则信息,从而得到原生页面结构数据。在一个具体的实施例中,通过将vue解析得到的虚拟的dom按照预设原生数据格式转换规则进行转换,得到flutter widget结构树,其中,flutter是开源的构建用户界面(ui)工具包,widget用于描述一个ui元素的配置数据。通过在页面生成时进行转换,从而可以使该页面具备跨平台的能力,使得能够保存动态更新的能力,从而避免在开发时将h5页面信息进行转换,在页面生成时使用转换的页面信息进行生成,导致无法保持动态更新以及跨平台的能力。
119.步骤210,基于原生页面结构数据进行页面渲染,得到原生页面并展示。
120.具体地,原生页面是通过使用原生页面结构数据进行页面渲染得到,即根据原生页面结构数据进行ui布局和样式的还原,当渲染完成时,终端展示原始页面。
121.上述数据处理方法中,通过在页面生成时获取对应的h5页面信息,并获取当前设备信息,在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据,然后识
别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据,使用原生页面结构数据进行页面渲染,得到原生页面并展示,即通过将h5页面信息转换为原生页面结构数据进行页面渲染,得到原生页面,从而能够提高页面的加载速度,进而提升h5应用程序的运行性能。
122.在一个实施例中,步骤202,即接收页面生成指令,页面生成指令中携带页面标识,包括步骤:
123.在目标应用中接收页面生成指令,页面生成指令中携带目标页面标识,目标页面标识用于唯一标识h5应用中的页面,h5应用为目标应用中内置的应用。
124.其中,目标应用中是指内置有h5应用的应用程序,该目标应用可以是原生应用,原生应用是指能直接运行于当前操作系统的应用程序。h5应用是需要通过浏览器运行的网页应用程序。
125.具体地,当用户在目标应用中要进入h5应用中的页面时,通过点击目标应用中h5应用的页面按钮或者链接等。使终端在目标应用中接收到页面生成指令,该页面生成指令携带有与页面按钮或者链接关联的目标页面标识,终端根据目标页面标识获取对应的h5应用的h5页面信息,并获取当前设备信息;在当前设备信息对应的运行环境中解析h5应用的h5页面信息,得到h5页面结构数据;识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;基于原生页面结构数据进行页面渲染,得到原生页面并展示,从而能够提高目标应用中内置h5应用中页面的加载速度,从而能够提升用户体验。
126.在一个具体的实施例中,目标应用可以是企业微信应用,h5应用可以是工作台功能中的h5应用。用户使用目标应用中工作台功能时,可以使用各种h5应用。当用户点击h5应用的名称按钮时,终端接收到进入h5应用中首页面的指令,该指令中携带有h5应用的名称按钮关联的页面地址,然后根据页面地址获取到h5页面信息以及当前设备信息,在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据,识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;基于原生页面结构数据进行页面渲染,得到原生页面并展示。在一个具体的实施例中,目标应用也可以是微信应用,h5应用可以是微信应用中的小程序应用。该小程序应用是使用将h5页面运行时转换成原生渲染的框架开发的应用。
127.在一个实施例中,h5页面信息包括h5页面基础资源信息、h5页面业务资源信息和h5页面数据;
128.步骤204即根据页面标识获取对应的h5页面信息,包括步骤:
129.根据页面标识从内存中查找对应的h5页面基础资源信息、h5页面业务资源信息和h5页面数据,并加载h5页面基础资源信息、h5页面业务资源信息和h5页面数据。
130.其中,h5页面基础资源信息是指h5页面对应的初始化的基础环境配置信息,可以是以压缩包的形式存储到终端中的。h5页面业务资源信息是指使用将h5页面运行时转换成原生渲染的框架开发的业务的资源信息,可以包括css资源,js资源、图片资源和其他资源
等等,可以是以压缩包的形式存储到终端中的。h5页面数据是指保存在终端中h5页面中的信息,比如cookies(储存在用户本地终端上的数据)。
131.具体地,终端中存储有h5页面基础资源信息、h5页面业务资源信息和h5页面数据,该h5页面基础资源信息、h5页面业务资源信息和h5页面数据可以预先从服务器下载的,是可以实时进行动态更新的。当终端要生成页面时,根据页面标识从内存中查找对应的h5页面基础资源信息、h5页面业务资源信息和h5页面数据,并加载h5页面基础资源信息、h5页面业务资源信息和h5页面数据,即将h5页面基础资源信息和h5页面业务资源信息对应的压缩包进行解压处理,得到h5页面基础资源信息和h5页面业务资源信息,方便后续的使用。
132.在一个具体的实施例中,如图3所示,为获取h5应用h5页面信息的流程示意图。其中,当终端接收到打开h5应用的指令时,加载基础资源信息,加载业务资源信息,得到h5应用首页面数据,然后使用h5应用首页面数据进行首页面生成,从而打开h5应用展示首页面。在该实施例中,h5应用是使用将h5页面运行时转换成原生渲染的框架开发的,该框架是一种实现h5应用达到原生体验的框架,该框架可以提供接近native原生体验的打开速度、更快的数据加载速度、接近原生体验的转场动画、更好的融合原生native的能力以及更稳定可靠的网络通道,既满足业务灵活多变频繁更新的同时,也让h5应用具备更佳的用户体验和性能表现。
133.在一个实施例中,如图4所示,根据页面标识从内存中查找对应的h5页面基础资源信息,并加载h5页面基础资源信息,包括:
134.步骤402,基于页面标识获取对应的基础资源存储路径,当按照基础资源存储路径未查找到h5页面基础资源信息时,向服务器发送h5页面基础资源信息下载请求,h5页面基础资源信息下载请求携带页面标识。
135.其中,基础资源存储路径是指基础资源信息在终端本地中的存储路径。
136.具体地,终端可以根据预先设置好的页面标识与基础资源存储路径关联关系来查找对应的基础资源存储路径。当按照基础资源存储路径未查找到h5页面基础资源信息时,说明此时终端中未存储有该页面标识对应的h5页面基础资源信息,此时,终端需要从服务器下载,即可以向服务器发送h5页面基础资源信息下载请求,h5页面基础资源信息下载请求携带页面标识。
137.步骤404,获取服务器返回的h5页面基础资源信息并按照基础资源存储路径进行保存。
138.具体地,服务器接收到终端发送的h5页面基础资源信息下载请求时,根据页面标识查找对应的最新版本的h5页面基础资源信息,将查找到的最新版本的h5页面基础资源信息返回服务器。终端接收到服务器返回的h5页面基础资源信息并按照基础资源存储路径将h5页面基础资源信息进行保存。
139.步骤406,从基础资源存储路径查找到h5页面基础资源信息,比较h5页面基础资源信息对应的版本信息与预设h5页面基础资源信息对应的版本信息,当h5页面基础资源信息对应的版本信息大于预设h5页面基础资源信息对应的版本信息时,加载h5页面基础资源信息。
140.其中,预设h5页面基础资源信息是指预先下载好的并在终端中存储的兜底版本的h5页面基础资源信息。版本信息用于表征h5页面基础资源信息对应的版本,可以包括版本
编号、版本名称等。
141.具体地,由于终端存在h5页面基础资源信息保存失败的情况,因此,终端再次从基础资源存储路径查找h5页面基础资源信息,当查找到h5页面基础资源信息时,说明保存成功,此时,比较该h5页面基础资源信息对应的版本信息与预设h5页面基础资源信息对应的版本信息进行比较,当h5页面基础资源信息对应的版本信息大于预设h5页面基础资源信息对应的版本信息时,即说明h5页面基础资源信息是最新版本的h5页面基础资源信息,此时,终端就加载h5页面基础资源信息。当h5页面基础资源信息对应的版本信息小于预设h5页面基础资源信息对应的版本信息时,说明预设h5页面基础资源信息是最新版本的h5页面基础资源信息,此时终端加载预设h5页面基础资源信息。
142.在一个具体的实施例中,如图5所示,为加载h5页面基础资源信息的流程示意图,具体来说:终端从数据库(db)中查找页面标识对应的h5页面基础资源信息,当未查找到时,终端构造存储h5页面基础资源信息的存储地址,然后从服务器获取到h5页面基础资源信息并存储到存储地址中。由于存储h5页面基础资源信息有可能发生失败的情况,此时,终端需要验证是否存储成功。则终端再次根据存储路径去查找对应的h5页面基础资源信息,当未查找到时,从服务器下载h5页面基础资源信息并保存。由于可能存在下载失败的情况,终端再次根据存储路径去查找对应的h5页面基础资源信息。当查找到时,比较该h5页面基础资源信息对应的版本信息与预设h5页面基础资源信息对应的兜底版本信息,当h5页面基础资源信息对应的版本信息为最新版本时,加载该h5页面基础资源信息,当预设h5页面基础资源信息对应的兜底版本信息为最新版本时,加载该预设h5页面基础资源信息。当未查找到时直接使用兜底版本对应的h5页面基础资源信息进行加载,即使用兜底版本对应的h5页面基础资源信息进行加载,可以防止页面加载失败,提升用户体验。
143.在一个实施例中,如图6所示,根据页面标识从内存中查找对应的h5页面业务资源信息,并加载h5页面业务资源信息,包括:
144.步骤602,基于页面标识获取对应的业务资源存储路径,当按照业务资源存储路径未查找到h5页面业务资源信息时,向服务器发送h5页面业务资源信息下载请求,h5页面业务资源信息下载请求携带页面标识。
145.其中,业务资源存储路径是指h5页面业务资源信息在终端本地中的存储路径。
146.具体地,终端可以从页面配置文件中查找到页面标识对应的业务资源存储路径以及基础资源信息。页面配置文件可以是预先从服务器下载并保存的。终端也可以根据预先设置好的页面标识与业务资源存储路径关联关系来查找对应的基础资源存储路径。当按照业务资源存储路径未查找到h5页面业务资源信息时,说明此时终端中未存储有该页面标识对应的h5页面业务资源信息,则终端需要从服务器下载,即可以向服务器发送h5页面业务资源信息下载请求,h5页面业务资源信息下载请求携带页面标识。
147.步骤604,获取服务器返回的h5页面业务资源信息并按照业务资源存储路径进行保存。
148.具体地,服务器接收到终端发送的h5页面业务资源信息下载请求时,根据页面标识查找对应的最新版本的h5页面业务资源信息,将查找到的最新版本的h5页面业务资源信息返回服务器。终端接收到服务器返回的h5页面业务资源信息并按照业务资源存储路径将h5页面业务资源信息进行保存。
149.步骤606,从业务资源存储路径查找到h5页面业务资源信息,比较h5页面业务资源信息对应的目标版本信息与预设h5页面业务资源信息对应的预设版本信息,当h5页面业务资源信息对应的目标版本信息大于预设h5页面业务资源信息对应的预设版本信息时,加载h5页面业务资源信息。
150.其中,目标版本信息是指从服务器下载到的h5页面业务资源信息的版本信息。预设版本信息是指预设h5页面业务资源信息对应的版本信息。预设h5页面业务资源信息是指预先从服务器下载到终端中保存的h5页面业务资源信息。
151.具体地,由于终端存在h5页面业务资源信息保存失败的情况,因此,终端需要再次验证是否存储有h5页面业务资源信息,即终端再次从业务资源存储路径查找h5页面业务资源信息,当查找到h5页面业务资源信息时,说明保存成功,此时,比较该h5页面业务资源信息对应的目标版本信息与预设h5页面业务资源信息对应的预设版本信息进行比较,当h5页面业务资源信息对应的目标版本信息大于预设h5页面业务资源信息对应的预设版本信息时,即说明该h5页面业务资源信息是最新版本的h5页面业务资源信息,此时,终端就加载h5页面业务资源信息。当h5页面业务资源信息对应的目标版本信息小于预设h5页面业务资源信息对应的预设版本信息时,说明预设h5页面业务资源信息是最新版本的h5页面业务资源信息,此时终端加载预设h5页面业务资源信息。即通过比较目标版本信息与预设版本信息的h5页面业务资源信息,从而加载最新版本的h5页面业务资源信息,从而使生成的页面是最新版本的页面,提升用户体验。
152.在一个具体的实施例中,如图7所示,为加载h5页面业务资源信息的流程示意图,具体来说:终端从数据库中查找h5页面业务资源信息,当未查找到h5页面业务资源信息时,建立h5页面业务资源信息对应的存储地址,可以是内存存储地址也可以是缓存存储地址。当查找到h5页面业务资源信息时,检测是否存在页面初始配置信息,当存储页面初始配置信息,使用主配置数据来获取h5页面业务资源信息。即终端检测h5页面业务资源信息对应的地址(url:uniform resource locator,统一资源定位器)是否为最新的地址,当不是最新地址是,从服务器最新的地址中下载到h5页面业务资源信息并进行存储。然后再次检测h5页面业务资源信息对应的地址是否与最新的地址一致,当一致时,检测h5页面业务资源信息对应的存储路径中是否存在h5页面业务资源信息,由于可能发生存储失败的情况,当在h5页面业务资源信息对应的存储路径未查找到h5页面业务资源信息时,从服务器中下载h5页面业务资源信息并保存。然后再检测h5页面业务资源信息对应的存储路径中是否存在h5页面业务资源信息。当检测到存在h5页面业务资源信息,比较该h5页面业务资源信息与内置的h5页面业务资源信息的版本大小,选择版本大的h5页面业务资源信息进行加载,从而能够生成最新版本的页面,提升用户体验。
153.在一个实施例中,在步骤202之前,即在接收页面生成指令,页面生成指令中携带页面标识之前,还包括步骤:
154.检测到触发h5页面信息下载事件时,向服务器发送h5页面信息下载请求,h5页面信息下载请求携带页面标识;获取服务器返回的h5页面信息,h5页面信息是服务器根据页面标识查找到的,将h5页面信息按照页面标识对应的内存存储路径进行保存。
155.其中,h5页面信息下载事件是指预先下载h5页面信息的事件,至少包括h5页面从终端后台切换到前台运行的事件、终端进入h5页面对应的关联页面的事件等,其中,用户可
以从该关联页面可以进入该h5页面,该关联页面可以是h5页面的前置页面,也可以是具有h5页面对应的访问链接的页面等等。内存存储路径是指h5页面信息在终端本地内存中的存储路径。
156.具体地,终端检测到触发h5页面信息下载事件时,向服务器发送h5页面信息下载请求,h5页面信息下载请求携带页面标识;获取服务器返回的h5页面信息,h5页面信息是服务器根据页面标识查找到的,将h5页面信息按照页面标识对应的内存存储路径进行保存,然后可以将历史的h5页面信息进行删除。
157.可以使h5页面信息保持动态更新,从而使页面保持动态更新能力,提升用户了体验。
158.在一个实施例中,如图8所示,在步骤210之后,即在基于原生页面结构数据进行页面渲染,得到原生页面并展示之后,还包括:
159.步骤802,向服务器发送h5页面信息静默更新请求,h5页面信息静默更新请求携带页面标识。
160.其中,静默更新是指在用户无感知的情况下进行信息更新。
161.具体地,终端在展示原生页面后就可以静默更新h5页面信息,即终端可以向服务器发送h5页面信息静默更新请求,h5页面信息静默更新请求携带页面标识。
162.步骤804,获取服务器返回的更新版本信息,更新版本信息是服务器使用页面标识查找到的。
163.其中,更新版本信息是指服务器中的h5页面信息对应的版本信息,该版本信息是最新的。
164.具体地,服务器接收到终端发送的h5页面信息静默更新请求时,根据页面标识查找到对应h5页面信息的最新版本信息,将最新版本信息作为终端要更新的更新版本信息返回给终端。终端获取到服务器返回的更新版本信息。
165.步骤806,获取页面标识对应的h5页面信息的本地版本信息,比较更新版本信息与本地版本信息,当更新版本信息与本地版本信息不一致时,向服务器发送h5页面更新信息下载请求,h5页面更新信息下载请求携带更新版本信息。
166.其中,本地版本信息是指终端内存中存储的h5页面信息对应的版本信息。
167.具体地,终端获取到页面标识对应的h5页面信息的本地版本信息,比较更新版本信息与本地版本信息,当更新版本信息与本地版本信息不一致时,说明h5页面信息发生了更新,需要对终端中保存的h5页面信息进行更新。此时,终端使用更新版本信息向服务器发送h5页面更新信息下载请求。
168.其中,本地版本信息是指终端内存中存储的h5页面信息对应的版本信息。
169.步骤808,获取服务器返回的h5页面更新信息,h5页面更新信息是服务器根据更新版本信息查找到的,将h5页面更新信息进行保存,并将本地版本信息对应的h5页面信息进行删除。
170.其中,h5页面更新信息是指更新的h5页面信息。
171.具体地,服务器接收到终端发送的h5页面更新信息下载请求,使用更新版本信息查找对应的h5页面更新信息,将h5页面更新信息返回终端,终端获取到h5页面更新信息,将h5页面更新信息进行保存,并将本地版本信息对应的h5页面信息进行删除。
172.在上述实施例中,通过静默更新将h5页面更新信息下载到终端进行保存,并将本地版本信息对应的h5页面信息进行删除,从而能够使终端中的h5页面信息及时得到更新,从而能够生成最新版本的页面,方便用户的使用。
173.在一个具体的实施例中,如图9所示,为静默更新的流程示意图,其中,终端可以对h5页面基础资源信息更新,具体来说:终端在静默更新时,从服务器中获取到h5页面基础资源信息对应的最新版本信息,将最新版本信息与终端存储的h5页面基础资源信息对应的本地版本信息进行比较,当最新版本信息与本地版本信息一致时,说明终端中存储的h5页面基础资源信息是最新版本,此时不需要更新。当最新版本信息与本地版本信息不一致时,说明h5页面基础资源信息发生更新,此时,从服务器下载最新版本信息的h5页面基础资源信息,下载成功时,将最新版本信息的h5页面基础资源信息保存到终端中,并删除终端中的历史h5页面基础资源信息。该历史h5页面基础资源信息是指未在前端使用的h5页面基础资源信息以及非当前保存的h5页面基础资源信息。
174.终端也可以对h5页面业务资源信息进行更新。具体来说:终端在静默更新时,从服务器中获取到h5页面业务资源信息对应的最新版本信息,将最新版本信息与终端存储的h5页面业务资源信息对应的本地版本信息进行比较,当最新版本信息与本地版本信息一致时,说明终端中存储的h5页面业务资源信息是最新版本,此时不需要更新。当最新版本信息与本地版本信息不一致时,说明h5页面业务资源信息发生更新,此时,从服务器下载最新版本信息的h5页面业务资源信息,下载成功时,将最新版本信息的h5页面业务资源信息保存到终端中,并删除终端中的历史h5页面业务资源信息。该历史h5页面业务资源信息是指未在前端使用的h5页面业务资源信息以及非当前保存的h5页面业务资源信息。
175.在一个实施例中,如图10a所示,在步骤210之后,即在根据页面标识获取对应的h5页面信息,并获取当前设备信息之后,还包括:
176.步骤1002,启动第一线程、第二线程和主线程。
177.其中,第一线程是用于进行解析的线程。第二线程是用于进行数据格式转换的线程,主线程是用于进行页面渲染生成的线程
178.具体地,终端同时启动第一线程、第二线程和主线程。
179.步骤206,即在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据,包括:
180.步骤1004,使用第一线程在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据。
181.具体地,终端可以先调用第一线程,使用第一线程进行h5页面信息解析,解析完成时,得到h5页面结构数据,然后该第一线程将执行结果发送第二线程。
182.步骤208,识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据,包括:
183.步骤1006,使用第二线程识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据。
184.具体地,终端中的第二线程获取到h5页面结构数据时进行识别,得到h5页面组件
信息、h5页面布局信息和h5页面样式规则,然后按照预设原生数据格式转换规则将h5页面组件信息、h5页面布局信息和h5页面样式规则进行转换,得到原生页面结构数据。然后第二线程将原生页面结构数据发送主线程。
185.步骤210,基于原生页面结构数据进行页面渲染,得到原生页面并展示,包括:
186.步骤1008,使用主线程基于原生页面结构数据进行页面渲染,得到原生页面并展示。
187.具体地,终端在主线程使用原生页面结构数据进行页面渲染,得到原生页面,然后终端将主线程的执行结果进行展示。
188.在一个具体的实施例中,如图10b所示,为线程处理的示意图,其中,在当前设备操作系统即平台的可执行环境v8或jscore下中通过js线程解析h5页面信息即js资源压缩包。然后通过影子(shadow)线程使用lvcpp模块将解析的结果按照预设原生数据格式转换规则进行转换,得到原生页面结构数据,然后通过主线程使用界面模块和原生模块来进行原生页面的生成。其中,jsi是指javascript interface用于在javascript和native之间建立映射。通过++封闭的wxajs负责协调各模块的数据通信能力。在一个具体的实施例中,如图10c所示,为ui界面元素的映射示意图,其中,通过js线程将vue.js文件即h5页面信息进行解析,然后通过按照预设原生数据格式转换规则进行转换,得到原生页面结构数据,即通过wxajs动态识别js的结构并做出响应更新。然后再由lvcpp模块通过dart2cpp的通信模块,将结构树的结果通知flutter widget结构树进行渲染,从而得到原生页面。在一个具体的实施例中,如图10d所示,为转换逻辑的示意图,其中,终端将解析js资源压缩包即h5页面信息得到的虚拟dom树发送lvcpp模块进行转换,lvcpp模块进行识别得到组件信息,通过css解析,并识别得到样式规则以及页面布局等等,然后得到浮动节点的度量值,然后转换成flutter widgets tree,得到原生页面结构数据。
189.在上述实施例中,通过第一线程在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据,通过第二线程识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据并使用主线程基于原生页面结构数据进行页面渲染,得到原生页面并展示来进行页面的生成,可以提高页面生成的效率。
190.在一个实施例中,步骤206,即在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据,包括步骤:
191.在当前设备信息对应的运行环境中对h5页面信息进行抽象语法分析,得到h5页面抽象语法结构数据;基于h5页面抽象语法结构数据进行虚拟文档对象模型树构建,得到h5页面结构数据。
192.其中,h5页面抽象语法结构数据是指h5页面对应的抽象语法树的结构数据,该抽象语法树是指ast(abstract syntax tree)源代码的抽象语法结构的树状表现形式,树上的每个节点都表示源代码中的一种结构。
193.具体地,终端在当前设备信息对应的运行环境中对h5页面信息进行抽象语法分析,得到简短字符串的排列,然后将简短字符串的排列进行语法分析,得到h5页面抽象语法结构数据。然后使用h5页面抽象语法结构数据进行虚拟文档对象模型树构建,得到h5页面
结构数据,即使用h5页面的ast来生成vdom(virtual document object model,虚拟文档对象模型)树。
194.在一个实施例中,步骤208,即识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将所述h5页面组件信息、所述h5页面布局信息和所述h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据。
195.其中,h5页面组件信息是指生成页面所使用的组件的信息。h5页面布局信息是指生成页面所使用的页面布局的信息。h5页面样式规则按是指生成页面所使用的页面样式规则。
196.具体地,终端识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,还可以识别h5页面结构数据得到通信接口及节点属性。然后将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,也可以将通信接口及节点属性进行数据格式转换,得到原生起始页面结构数据。即使用将h5页面运行时转换成原生渲染的框架生成的h5页面将原有依赖网页视图的所有文档(document)原生方法、dom(document object model,文档对象模型)操作、以及jsapi(javascript接口)的全部访问权限进行数据格式转换。
197.在上述实施例中,通过识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,然后按照预设原生数据格式转换规则进行转换,得到原生页面结构数据,能够使得到的原生页面结构数据更加准确性。
198.在一个实施例中,在步骤210之后,即在基于原生页面结构数据进行页面渲染,得到原生页面并展示之后,还包括步骤:
199.检测触发切换页面信息预加载事件,响应切换页面信息预加载事件获取各个预加载切换页面地址;基于预加载切换页面地址从服务器中下载对应的切换页面信息,并将切换页面信息存储到缓存中。
200.其中,切换页面是指展示的原生页面进行切换后的页面。切换页面信息是指切换页面对应的页面信息。切换页面信息预加载事件是指加载切换页面对应的页面信息的事件,
201.具体地,终端检测到触发切换页面信息预加载事件,其中,可以是原生页面展示完成时,自动触发切换页面信息预加载事件。也可以是终端通过展示的原生页面接收到用户操作后触发切换页面信息预加载事件。用户操作可以是点击操作,按压操作等等。也可以是达到预先设置好的触发条件时,触发切换页面信息预加载事件,其中,预先设置好的触发条件可以是用户在原生页面停留一定时长,比如,2分钟后自动触发切换页面信息预加载事件。
202.在一个实施例中,如图11所示,在基于切换页面地址从服务器中下载对应的切换页面信息,并将切换页面信息存储到缓存中之后,还包括:
203.步骤1102,通过原生页面接收到页面切换指令,根据页面切换指令获取目标切换页面地址。
204.其中,目标切换页面地址是指要切换的页面的地址。
205.具体地,终端可以是获取到用户页面切换操作时接收到页面切换指令,其中用户页面切换操作可以是滑动操作,比如,向下滑动操作,向上滑动操作,向左滑动操作、向右滑
动操作等。然后终端根据页面切换指令获取目标切换页面地址,其中,可以预先设置好滑动操作与切换页面地址的关联关系,比如,滑动操作可以关联目标切换页面地址。在一个实施例中,不同的滑动操作也可以关联不同的切换页面地址。比如,向下滑动操作,向上滑动操作,向左滑动操作、向右滑动操作可以分别关联对应的切换页面地址。然后根据滑动操作的具体方向来获取对应的切换页面地址。在一个实施例中,用户页面切换操作可以是其他的操作,比如按压操作,点击操作等等。
206.步骤1104,基于目标切换页面地址从缓存中查找对应的目标切换页面信息,在当前设备信息对应的运行环境中解析目标切换页面信息,得到切换h5页面结构数据。
207.其中,目标切换页面信息是指目标切换页面的页面信息。目标切换页面是指目标切换页面地址对应的页面。切换h5页面结构数据是指目标切换页面对应的h5页面结构数据。
208.具体地,终端预先缓存了切换页面的页面信息,此时终端直接根据目标切换页面地址从缓存中查找对应的目标切换页面信息,然后在当前设备信息对应的运行环境中解析目标切换页面信息,得到切换h5页面结构数据。
209.步骤1106,识别切换h5页面结构数据,得到切换h5页面组件信息、切换h5页面布局信息和切换h5页面样式规则,将切换h5页面组件信息、切换h5页面布局信息和切换h5页面样式规则按照预设原生数据格式转换规则进行转换,得到切换原生页面结构数据。
210.其中,切换h5页面组件信息是指需要切换的h5页面对应的组件信息,切换h5页面布局信息是指需要切换的h5页面对应的页面布局信息,切换h5页面样式规则需要切换的h5页面对应的页面样式规则。切换原生页面结构数据是指目标切换页面对应的原生页面结构数据。
211.具体地,终端同样的对目标切换页面对应的h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则转换为原生页面结构数据。
212.步骤1108,基于切换原生页面结构数据进行页面渲染,得到切换原生页面并通过切换动画展示。
213.其中,切换动画是指页面与页面之间进行切换时的动画效果。
214.具体地,终端使用切换原生页面结构数据进行页面渲染得到切换原生页面并通过切换动画进行切换使终端展示目标切换页面。
215.在上述实施例中,终端通过原生页面接收到页面切换指令,根据页面切换指令获取目标切换页面地址,基于目标切换页面地址从缓存中查找对应的目标切换页面信息,然后根据目标切换页面信息来得到切换原生页面结构数据,并使用切换原生页面结构数据进行目标切换页面的展示,从而提高了目标切换页面的切换效率,使h5网页达到原生网络切换的效果,提升了用户体验。
216.在一个实施例中,在步骤210之后,即在基于原生页面结构数据进行页面渲染,得到原生页面并展示之后,包括:
217.当检测到数据通信通道出现异常时,向服务器发送长链接消息通道重连请求,长链接消息通道重连请求携带终端标识;服务器根据长链接消息通道重连请求和终端标识对应的终端重新建立长链接消息通道。
218.其中,数据通信通道出现异常是指在终端与服务器建立的长链接消息通道出现异
常,比如,当网络出现波动时,数据通信通道出现异常。终端标识用于唯一标识终端,
219.具体地,终端在展示原生页面后,可以与服务器建立长链接消息通道进行数据通信。当终端检测到数据通信通道出现异常时,可以向服务器发送长链接消息通道重连请求,长链接消息通道重连请求携带终端标识。服务器根据长链接消息通道重连请求与终端标识对应的终端重新建立长链接消息通道。即当终端的数据通信通道出现异常,终端可以进行重连,保证网络通道的稳定。
220.在一个实施例中,如图12所示,提供了一种应用启动方法,以该方法应用于图1中的终端为例进行说明,可以理解的是,该方法也可以应用在终端中,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。在本实施例中,包括以下步骤:
221.步骤1202,在目标应用中接收到内置应用启动指令,内置应用启动指令中携带内置应用标识,基于内置应用标识获取到对应的内置应用起始页标识。
222.其中,目标应用是指内置有h5应用的原生应用。内置应用是指内置在目标应用的h5应用。目标应用中可以内置多个内置应用。内置应用标识用于唯一标识内置应用,可以是内置应用的名称,地址和编号等等。内置应用起始页标识是指用于唯一标识内置应用中的起始网页,内置应用中的起始网页即内置应用中的首页,可以是网页地址。内置应用是使用将h5页面运行时转换成原生渲染的框架开发的应用。
223.具体地,用户使用目标应用时,可以使用内置应用。即用户可以目标应用中内置应用的展示页中进行操作。当用户选择了要使用的内置应用时,终端在目标应用中接收到内置应用启动指令,基于内置应用标识获取到对应的内置应用起始页标识,其中,终端可以在目标应用启动时从服务器下载到内置应用的配置信息并保存,该配置信息中配置有内置应用标识与内置应用起始页标识的对应关系。终端也可以在用户进入到目标应用中的中内置应用的展示页中时从服务器下载到内置应用的配置信息并保存。
224.步骤1204,根据内置应用起始页标识获取对应的内置应用h5起始页信息,并获取当前设备信息。
225.其中,内置应用h5起始页信息是指内置应用中起始页对应的h5页面信息。
226.具体地,终端获取到的内置应用的配置信息中也包括内置应用h5起始页信息。终端可以直接从保存的配置信息查找内置应用起始页标识对应的内置应用h5起始页信息。然后终端检测当前设备对应的操作系统信息。
227.步骤1206,在当前设备信息对应的运行环境中解析内置应用h5起始页信息,得到内置应用h5起始页结构数据。
228.其中,内置应用h5起始页结构数据是指内置应用中起始页对应的h5页面结构数据。
229.具体地,不用的当前设备信息对应有不同的运行环境,在终端当前备信息对应的运行环境解析内置应用h5起始页信息,得到内置应用h5起始页结构数据。
230.步骤1208,识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据。
231.其中,内置应用h5起始页生成信息是指内置应用中起始页对应的h5页面生成信
息,包括内置应用对应的h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则。内置应用原生起始页结构数据是指内置应用中起始页对应的原生页面结构数据。
232.具体地,终端运行将h5页面运行时转换成原生渲染的框架去识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,然后将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据。
233.步骤1210,基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。
234.具体地,终端进行页面生成,即使用内置应用原生起始页结构数据进行页面渲染、绘制得到内置应用原生起始页面,并在目标应用中展示内置应用的起始页面。在一个具体的实施例中,所述内置应用中的页面可以使用上述数据处理方法中任意实施例中得到的,内置应用中的页面可以是首页面,也可以是除首页面以外的页面。
235.上市应用启动方法,通过在目标应用中接收到内置应用启动指令,根据内置应用起始页标识获取对应的内置应用h5起始页信息,并获取当前设备信息,在当前设备信息对应的运行环境中解析内置应用h5起始页信息,得到内置应用h5起始页结构数据,然后识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据,基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。即在内置应用启动时通过内置应用起始页对应的h5起始页信息转换为原生起始页结构数据,然后进行页面渲染,得到内置应用原生起始页面并展示,从而提高了内置应用原生起始页面加载速度,使得内置应用的启动速度提高,进而提高了内置应用的运行性能。
236.在一个具体的实施例中,如图13所示,为内置应用在运行时使用将h5页面运行时转换成原生渲染的框架的总体示意图,其中,通过将使用vue框架生成的h5页面信息在jscore(javascriptcore)和v8可执行js环境中进行解析,得到ast和vdom结构,然后进行识别得到定义与框架转换的通信接口、约定规范、组件及属性等等,并转换为flutter widget渲染组件,然后使用flutter widget渲染组件进行页面渲染,从而得到内置应用的原生页面进行展示。并且,可以使内置应用通过原生模块实现原生存储、原生网络通信、原生的权限管控以及原生的开发接口。从而使内置应用达到原生应用的体验,避免h5应用运行性能不佳的问题。在一个具体的实施例中,如图14所示,为内置应用转换逻辑示意图,其中,将h5页面运行时转换成原生渲染的框架开发的内置应用在转换时使用vue runtime(只包含运行时的版本,没有编译器)解析h5页面信息时,将原有的依赖网页试图的所有组件原生方法、dom操作,以及js接口转换为flutter负责处理渲染,c++负责协调js与native的通信转换。在一个具体的实施例中,如图15所示,为内置应用在开发时提供的store(公共数据状态管理)示意图,通过store可以实现内置应用即轻量应用(litrapp)在开发时管理和维护不同页面间的数据,以及状态更新等,通过也可以提供native(原生)与h5之间的数据状态共享和管理能力。在一个具体的实施例中,如图16所示,为公共数据状态管理进行数据状态同步与更新的示意图。其中,将h5页面运行时转换成原生渲染的框架建立flutter与h5之间公
共的桥梁,用于串联store与视图层flutter组件、h5业务侧数据状态同步与更新的能力。内置应用1可以通过接口与内置应用1的store进行数据状态同步与更新,也可以在获取访问权限的情况下与内置应用2的store进行数据状态同步与更新。在一个具体的实施例中,如图17所示,将h5页面运行时转换成原生渲染的框架在jsapi的通信机制示意图,其中,jsi框架用于提供无侵入的脚本库管理和全面的前端开发调试、文档解析、模版编译、打包导出环境支持等。该框架负责js的脚本管理和解析工作,同时负责与wxajs(c++模块)、jni(jni是java native interface的缩写,通过使用java本地接口书写程序,可以确保代码在不同的平台上方便移植)、oc(ios开发语言)各个模块之间的通信。wxajs负责提供框架的底层能力,包括xlog(日志系统)、wcdb(存储模块)、wss(websocket长链接通信模块)、cronet(短链接网络通信模块),而jni和oc的通信主要提供android、ios模块间的通信和链接。
237.在一个实施例中,在步骤1202之前,即在目标应用中接收到内置应用启动指令之前,还包括:
238.检测到触发内置应用资源信息更新事件,响应内置应用资源信息更新事件,向服务器发送内置应用更新资源信息获取请求,内置应用更新资源信息获取请求携带内置应用标识;获取服务器返回的内置应用更新资源信息,将内置应用更新资源信息保存并删除内置应用标识对应的内置应用历史资源信息。
239.其中,内置应用资源信息更新事件是指内置应用对应的基础资源信息和业务资源更新的事件。
240.具体地,终端可以在目标应用进入内置应用展示页时触发内置应用资源信息更新事件,响应内置应用资源信息更新事件,终端向服务器发送内置应用更新资源信息获取请求,内置应用更新资源信息获取请求携带内置应用标识。其中,当目标应用中有多个内置应用标识,可以同时进行更新,即,内置应用更新资源信息获取请求中可以携带多个不同的内置应用标识,服务器根据置应用更新资源信息获取请求使用每个内置应用标识查找对应的内置应用更新资源信息,终端获取服务器返回的内置应用更新资源信息,将内置应用更新资源信息保存并删除内置应用标识对应的内置应用历史资源信息。在一个实施例中,终端也可以获取到服务器根据内置应用标识返回的资源信息版本信息,将资源信息版本信息与本地源信息版本信息进行比较,当资源信息版本信息与本地源信息版本信息不一致时,从服务器获取到返回的内置应用更新资源信息,将内置应用更新资源信息保存并删除内置应用标识对应的内置应用历史资源信息。当资源信息版本信息与本地源信息版本信息一致时,不做处理。
241.在上述实施例中,通过在检测到触发内置应用资源信息更新事件,获取到内置应用更新资源信息,将内置应用更新资源信息保存并删除内置应用标识对应的内置应用历史资源信息,从而可以实时更新资源信息,使得运行的应用保持最新,提升用户体验。
242.在一个实施例中,内置应用包括社交分享应用;在步骤1210之后,在基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面之后,包括:
243.接收对起始页面中社交分享消息的回复指令,根据回复指令展示原生回复交互窗口。通过原生回复交互窗口获取到回复消息,并在起始页面中显示回复消息。
244.其中,社交分享应用是指用于进行社交并进行信息分享的应用,比如论坛应用提
供发帖功能进行信息分享与交互,比如小黑板应用通过发帖功能进行信息分享与交互。社交分享消息是指起始页面中展示的其他用户分享的信息。原生回复交互窗口是指用于进行信息回复的原生弹窗。
245.具体地,用户可以在社交分享应用中进行交流,终端通过起始页面接收到对起始页面中社交分享消息的回复指令,根据回复指令展示原生回复交互窗口。用户可以通过原生回复交互窗口输入回复的消息,当输入完成时,终端通过原生回复交互窗口获取到回复消息,并在起始页面中显示回复消息。
246.在一个具体的实施例中,如图18所示,为社交分享应用的页面示意图,该社交分享应用是小黑板应用,在小黑板应用中用户可以通过创建小黑板来分享信息给该小黑板的全体用户。其中,图18中a为社交分享消息的展示页面,图18中b为原生回复交互窗口的展示页面,用户可以在a页面中点击输入框架,终端接收到回复指令,根据回复指令展示b页面。终端通过b页面获取到用户通过输入键盘输入的回复消息,并在起始页面中显示回复消息。在一个具体的实施例中,社交分享应用可以与目标应用进行交互。比如,当用户右击起始页面中社交分享消息时,可以展示与目标应用进行交互的交互功能,当目标应用为即时通讯应用时,如图19所示,为交互功能的页面示意图,用户可以在社交分享应用中选取交互功能进行交互。其中,该交互功能包括选取表情、进行复制、进行回复、以及进行转发等等。用户也可以在社交分享应用中获取到用户在目标应用中保存的文件、表情、文档以及文件等在社交分享应用中进行使用。在一个实施例中,如图20所示,为小黑板应用的退出界面示意图。其中,小黑板应用的退出界面示意图中展示了小黑板的描述,小黑板的成员以及其他的一些交互功能,当用户要退出小黑板应用时,可以通过点击退出小黑板来退出小黑板应用返回到企业微信应用中。
247.在一个实施例中,如图21所示,提供一种应用启动方法,具体包括以下步骤:
248.步骤2102,在目标应用中检测到触发内置应用资源信息更新事件,响应内置应用资源信息更新事件,向服务器发送内置应用更新资源信息获取请求,内置应用更新资源信息获取请求携带内置应用标识。
249.步骤2104,获取服务器返回的内置应用更新资源信息,将内置应用更新资源信息保存并删除内置应用标识对应的内置应用历史资源信息。
250.步骤2106,在目标应用中接收到内置应用启动指令,内置应用启动指令中携带内置应用标识,基于内置应用标识获取到对应的内置应用起始页标识。
251.步骤2108,根据应用起始页面标识从内存中查找对应的h5页面基础资源信息、h5页面业务资源信息和h5页面数据,并加载h5页面基础资源信息、h5页面业务资源信息和h5页面数据,获取当前设备信息。
252.步骤2110,启动第一线程、第二线程和主线程,使用第一线程在当前设备信息对应的运行环境中解析h5页面基础资源信息和h5页面业务资源信息,得到内置应用h5起始页结构数据。
253.步骤2112,识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据。
254.步骤2114,基于内置应用原生起始页结构数据和h5页面数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。
255.步骤2116,向服务器发送h5页面信息静默更新请求,h5页面信息静默更新请求携带页面标识。获取服务器返回的更新版本信息,更新版本信息是服务器使用页面标识查找到的。
256.步骤2118,获取应用起始页面标识对应的h5页面信息的本地版本信息,比较更新版本信息与本地版本信息,当更新版本信息与本地版本信息不一致时,向服务器发送h5页面更新信息下载请求,h5页面更新信息下载请求携带更新版本信息。
257.步骤2120,获取服务器返回的h5页面更新信息,h5页面更新信息是服务器根据更新版本信息查找到的,将h5页面更新信息进行保存,并将本地版本信息对应的h5页面信息进行删除。
258.本技术还提供一种应用场景,该应用场景应用上述的应用启动方法。具体地,
259.该应用启动方法应用于企业微信中的内置应用中,如图22所示,为应用场景的具体框架示意图,具体来说:
260.通过脚手架来初始化内置应用项目的基础环境配置、编译打包并发布到资源管理系统。企业微信应用后台即企业微信服务器通过接入资源管理系统的通用后台接入(ae)模块,与资源发布系统建立链接。资源发布系统中建立有内置应用资源包共享数据库,可以通过接口来获取到资源包更新信息并对保存的资源包进行更新。企业微信应用后台通过内置应用标识可以获取到资源发布系统当前最新版本的业务资源包和基础资源包。在企业微信应用后台中会获取到配置好的内置应用的业务入口标识,然后下发内置应用的配置信息,该配置信息可以包括内置应用的业务入口标识、资源包下载地址、内置应用首页路径等等。然后也可以通过灰度控制内置应用的资源包的下发。企业微信应用前端通过服务器下发的配置信息可以下载内置应用资源信息,也可以从资源发布系统中获取内置应用最新的资源包信息。然后当用户要启动内置应用时,获取到企业微信应用前端预拉取并存储的内置应用的资源包,该内置应用可以是vue项目的应用,然后将资源包进行解压缩,得到对应的指定页面信息,比如,可以是h5起始页信息,即vue.js。然后获取当前设备信息;在当前设备信息对应的运行环境中解析内置应用h5起始页信息,得到内置应用h5起始页结构数据;识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据,即vue转换为flutter widget组件进行flutterview渲染,得到起始页面并展示。在一个具体的实施例中,应用启动方法也可以应用于微信应用中的内置应用。即将微信应用也接入资源发布系统中,微信应用可以获取到内置应用的资源包,然后使用内置应用的资源包进行页面生成。微信应用后台可以通过灰度控制内置应用资源包的更新。也可以通过脚手架初始化微信应用中内置应用项目的基础环境配置、编译打包并发布到资源管理系统。同时微信应用后台也可以对内置应用进行热更新。
261.应该理解的是,虽然图2-12以及图20的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-12以
及图20中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
262.在一个实施例中,如图23所示,提供了一种数据处理装置2300,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:指令接收模块2302、信息获取模块2304、解析模块2306、转换模块2308和渲染模块2310,其中:
263.指令接收模块2302,用于接收页面生成指令,页面生成指令中携带页面标识;
264.信息获取模块2304,用于根据页面标识获取对应的h5页面信息,并获取当前设备信息;
265.解析模块2306,用于在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据;
266.转换模块2308,用于识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;
267.渲染模块2310,用于基于原生页面结构数据进行页面渲染,得到原生页面并展示。
268.在一个实施例中,指令接收模块2302还用于在目标应用中接收页面生成指令,页面生成指令中携带目标页面标识,目标页面标识用于唯一标识h5应用中的页面,h5应用为目标应用中内置的应用。
269.在一个实施例中,h5页面信息包括h5页面基础资源信息、h5页面业务资源信息和h5页面数据;信息获取模块2304还用于根据页面标识从内存中查找对应的h5页面基础资源信息、h5页面业务资源信息和h5页面数据,并加载h5页面基础资源信息、h5页面业务资源信息和h5页面数据。
270.在一个实施例中,信息获取模块2304还用于基于页面标识获取对应的基础资源存储路径,当按照基础资源存储路径未查找到h5页面基础资源信息时,向服务器发送h5页面基础资源信息下载请求,h5页面基础资源信息下载请求携带页面标识;获取服务器返回的h5页面基础资源信息并按照基础资源存储路径进行保存;从基础资源存储路径查找到h5页面基础资源信息,比较h5页面基础资源信息对应的版本信息与预设h5页面基础资源信息对应的版本信息,当h5页面基础资源信息对应的版本信息大于预设h5页面基础资源信息对应的版本信息时,加载h5页面基础资源信息。
271.在一个实施例中,信息获取模块2304还用于基于页面标识获取对应的业务资源存储路径,当按照业务资源存储路径未查找到h5页面业务资源信息时,向服务器发送h5页面业务资源信息下载请求,h5页面业务资源信息下载请求携带页面标识;获取服务器返回的h5页面业务资源信息并按照业务资源存储路径进行保存;从业务资源存储路径查找到h5页面业务资源信息,比较h5页面业务资源信息对应的目标版本信息与预设h5页面业务资源信息对应的预设版本信息,当h5页面业务资源信息对应的目标版本信息大于预设h5页面业务资源信息对应的预设版本信息时,加载h5页面业务资源信息。
272.在一个实施例中,数据处理装置2300,还包括:
273.预下载模块,用于检测到触发h5页面信息下载事件时,向服务器发送h5页面信息
下载请求,h5页面信息下载请求携带页面标识;获取服务器返回的h5页面信息,h5页面信息是服务器根据页面标识查找到的,将h5页面信息按照页面标识对应的内存存储路径进行保存。
274.在一个实施例中,数据处理装置2300,还包括:
275.静默更新模块,用于向服务器发送h5页面信息静默更新请求,h5页面信息静默更新请求携带页面标识;获取服务器返回的更新版本信息,更新版本信息是服务器使用页面标识查找到的;获取页面标识对应的h5页面信息的本地版本信息,比较更新版本信息与本地版本信息,当更新版本信息与本地版本信息不一致时,向服务器发送h5页面更新信息下载请求,h5页面更新信息下载请求携带更新版本信息;获取服务器返回的h5页面更新信息,h5页面更新信息是服务器根据更新版本信息查找到的,将h5页面更新信息进行保存,并将本地版本信息对应的h5页面信息进行删除。
276.在一个实施例中,数据处理装置2300,还包括:
277.线程启动模块,用于启动第一线程、第二线程和主线程;
278.解析模块2206还用于使用第一线程在当前设备信息对应的运行环境中解析h5页面信息,得到h5页面结构数据;
279.转换模块2208还用于使用第二线程识别h5页面结构数据,得到h5页面组件信息、h5页面布局信息和h5页面样式规则,将h5页面组件信息、h5页面布局信息和h5页面样式规则按照预设原生数据格式转换规则进行数据格式转换,得到原生页面结构数据;
280.渲染模块2210还用于使用主线程基于原生页面结构数据进行页面渲染,得到原生页面并展示。
281.在一个实施例中,解析模块2306还用于在当前设备信息对应的运行环境中对h5页面信息进行抽象语法分析,得到h5页面抽象语法结构数据;基于h5页面抽象语法结构数据进行虚拟文档对象模型树构建,得到h5页面结构数据。
282.在一个实施例中,数据处理装置2300,还包括:
283.切换信息加载模块,用于检测触发切换页面信息预加载事件,响应切换页面信息预加载事件获取各个预加载切换页面地址;基于预加载切换页面地址从服务器中下载对应的切换页面信息,并将切换页面信息存储到缓存中。
284.在一个实施例中,数据处理装置2300,还包括:
285.切换模块,用于通过原生页面接收到页面切换指令,根据页面切换指令获取目标切换页面地址;基于目标切换页面地址从缓存中查找对应的目标切换页面信息,在当前设备信息对应的运行环境中解析目标切换页面信息,得到切换h5页面结构数据;识别切换h5页面结构数据,得到切换h5页面组件信息、切换h5页面布局信息和切换h5页面样式规则,将切换h5页面组件信息、切换h5页面布局信息和切换h5页面样式规则按照预设原生数据格式转换规则进行转换,得到切换原生页面结构数据;基于切换原生页面结构数据进行页面渲染,得到切换原生页面并通过切换动画展示。
286.在一个实施例中,数据处理装置2300,包括:
287.重连模块,用于当检测到数据通信通道出现异常时,向服务器发送长链接消息通道重连请求,长链接消息通道重连请求携带终端标识;服务器根据长链接消息通道重连请求和终端标识对应的终端重新建立长链接消息通道。
288.在一个实施例中,如图24所示,提供了一种应用启动装置2400,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:启动指令接收模块2402、起始信息获取模块2404、起始信息解析模块2406、起始信息转换模块2408和起始页面展示模块2410,其中:
289.启动指令接收模块2402,用于在目标应用中接收到内置应用启动指令,内置应用启动指令中携带内置应用标识,基于内置应用标识获取到对应的内置应用起始页标识;
290.起始信息获取模块2404,用于根据内置应用起始页标识获取对应的内置应用h5起始页信息,并获取当前设备信息;
291.起始信息解析模块2406,用于在当前设备信息对应的运行环境中解析内置应用h5起始页信息,得到内置应用h5起始页结构数据;
292.起始信息转换模块2408,用于识别内置应用h5起始页结构数据,得到内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则,将内置应用h5起始页面组件信息、h5起始页面布局信息和h5起始页面样式规则按照预设原生数据格式转换规则进行转换,得到内置应用原生起始页结构数据;
293.起始页面展示模块2410,用于基于内置应用原生起始页结构数据进行页面渲染,得到内置应用原生起始页面并在目标应用中展示内置应用的起始页面。
294.在一个实施例中,应用启动装置2400,还包括:
295.资源更新模块,用于检测到触发内置应用资源信息更新事件,响应内置应用资源信息更新事件,向服务器发送内置应用更新资源信息获取请求,内置应用更新资源信息获取请求携带内置应用标识;获取服务器返回的内置应用更新资源信息,将内置应用更新资源信息保存并删除内置应用标识对应的内置应用历史资源信息。
296.在一个实施例中,内置应用包括社交分享应用;
297.应用启动装置2400,还包括:
298.交互模块,用于接收对起始页面中社交分享消息的回复指令,根据回复指令展示原生回复交互窗口;通过原生回复交互窗口获取到回复消息,并在起始页面中显示回复消息。
299.关于数据处理装置和应用启动装置的具体限定可以参见上文中对于数据处理方法和应用启动方法的限定,在此不再赘述。上述数据处理装置和应用启动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
300.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图25所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储页面资源信息数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法或者应用启动方法。
301.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构
图可以如图26所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据处理方法或者应用启动方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
302.本领域技术人员可以理解,图25或者26中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
303.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
304.在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
305.在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
306.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
307.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
308.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1