第三方APP中引入小程序的系统、方法、装置及介质与流程

专利2023-02-23  95


第三方app中引入小程序的系统、方法、装置及介质
技术领域
1.本发明涉及app软件工程开发技术领域,尤其涉及第三方app中引入小程序的系统、方法、装置及介质。


背景技术:

2.随着小程序的成功普及,各大互联网厂商陆续推出了自己的小程序。对于小程序开发商来说,如果要在十几个端上开发小程序效率非常低下。而且,对于一些应用程序来说,存在不支持小程序这种模式的问题。因此目前亟需一种为第三方app引入小程序的方案。


技术实现要素:

3.本发明实施例提供了第三方app中引入小程序的系统、方法、装置及介质,用以提供一种为第三方app引入小程序的技术方案。
4.本发明实施例提供了一种第三方app中引入小程序的系统,所述系统包括:跨平台应用模块和第三方app;所述第三方app中集成小程序容器sdk;
5.所述跨平台应用模块,用于获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方app小程序源代码,向所述第三方app提供所述第三方app小程序源代码;
6.所述第三方app,用于利用所述小程序容器sdk加载并运行所述第三方app小程序源代码。
7.进一步地,所述跨平台应用模块包括:多端统一开发单元和第三方app迁移单元;
8.所述多端统一开发单元,用于编写所述跨平台小程序源代码;
9.所述第三方app迁移单元,用于对所述多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方app的组件、api接口、修改项目依赖、对齐生命周期。
10.进一步地,所述第三方app迁移单元,具体用于适配所述第三方app的api接口与所述跨平台应用模块的api接口在入参、出参、回调函数和api接口名称的差异。
11.进一步地,所述跨平台应用模块还包括:逆向迁移单元;
12.所述逆向迁移单元,用于获取待迁移小程序的源代码,将所述待迁移小程序的源代码转换为跨平台小程序源代码。
13.进一步地,所述跨平台应用模块,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方app小程序源代码;
14.所述逆向迁移单元,具体用于对所述待迁移小程序的源代码进行语法分析、语法树构建、语法树转换生成所述跨平台小程序源代码。
15.进一步地,所述第三方app,具体用于在所述小程序容器sdk上,利用系统原生接口和组件框架template对所述第三方app小程序源代码动态递归渲染dom树,展示出小程序页面。
16.进一步地,所述小程序容器sdk是将待迁移小程序框架或跨平台小程序框架打包生成的。
17.另一方面,本发明实施例提供了一种第三方app中引入小程序的方法,所述方法包括:
18.第三方app获取跨平台应用模块提供的第三方app小程序源代码,其中,所述第三方app小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;
19.所述第三方app利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。
20.进一步地,所述利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码包括:
21.在所述小程序容器sdk上,利用系统原生接口和组件框架template对所述第三方app小程序源代码动态递归渲染dom树,展示出小程序页面。
22.另一方面,本发明实施例提供了一种第三方app中引入小程序的方法,所述方法包括:
23.跨平台应用模块获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方app小程序源代码,向第三方app提供所述第三方app小程序源代码,以使所述第三方app利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。
24.进一步地,所述获取跨平台小程序源代码包括:
25.获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
26.进一步地,所述获取跨平台小程序源代码包括:
27.获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
28.进一步地,所述将所述跨平台小程序源代码转换为第三方app小程序源代码包括:
29.对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方app小程序源代码。
30.进一步地,所述将所述跨平台小程序源代码转换为第三方app小程序源代码之前,所述方法还包括:
31.通过所述跨平台应用模块中的第三方app迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方app的组件、api接口、修改项目依赖、对齐生命周期。
32.进一步地,所述适配所述第三方app的api接口包括:
33.适配所述第三方app的api接口与所述跨平台应用模块的api接口在入参、出参、回调函数和api接口名称的差异。
34.另一方面,本发明实施例提供了一种第三方app中引入小程序的装置,所述装置包括:
35.第一获取子单元,用于获取跨平台应用模块提供的第三方app小程序源代码,其中,所述第三方app小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;
36.加载运行子单元,用于利用小程序容器sdk加载并运行所述第三方app小程序源代码。
37.进一步地,所述加载运行子单元,具体用于在所述小程序容器sdk上,利用系统原生接口和组件框架template对所述第三方app小程序源代码动态递归渲染dom树,展示出小程序页面。
38.另一方面,本发明实施例提供了一种第三方app中引入小程序的装置,所述装置包括:
39.第二获取子单元,用于获取跨平台小程序源代码;
40.源代码转换子单元,用于将所述跨平台小程序源代码转换为第三方app小程序源代码,向第三方app提供所述第三方app小程序源代码,以使所述第三方app利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。
41.进一步地,所述第二获取子单元,具体用于获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
42.进一步地,所述第二获取子单元,还用于获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
43.进一步地,所述源代码转换子单元,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方app小程序源代码。
44.进一步地,所述源代码转换子单元,还用于通过所述跨平台应用模块中的第三方app迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方app的组件、api接口、修改项目依赖、对齐生命周期。
45.进一步地,所述源代码转换子单元,具体用于适配所述第三方app的api接口与所述跨平台应用模块的api接口在入参、出参、回调函数和api接口名称的差异。
46.另一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
47.存储器,用于存放计算机程序;
48.处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。
49.另一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。
50.本发明实施例提供了一种第三方app中引入小程序系统、方法、装置及介质,所述系统包括:跨平台应用模块和第三方app;所述第三方app中集成小程序容器sdk;所述跨平台应用模块,用于获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方app小程序源代码,向所述第三方app提供所述第三方app小程序源代码;所述第三方app,用于利用所述小程序容器sdk加载并运行所述第三方app小程序源代码。
51.上述的技术方案具有如下优点或有益效果:
52.本发明实施例中,跨平台应用模块获取跨平台小程序源代码,并将跨平台小程序源代码转换为第三方app小程序源代码,然后向第三方app提供第三方app小程序源代码。第三方app集成小程序容器sdk,接收到转换得到的第三方app小程序源代码之后,利用小程序
容器sdk加载并运行所述第三方app小程序源代码。从而实现了一种将小程序快速、方便引入第三方app的技术方案。
附图说明
53.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
54.图1为本发明实施例提供的第三方app中引入小程序的系统结构示意图;
55.图2为本发明实施例提供的第三方app中引入小程序的另一系统结构示意图;
56.图3为本发明实施例提供的第三方app中引入小程序的再一系统结构示意图;
57.图4为本发明实施例提供的第三方app中引入小程序的过程示意图;
58.图5为本发明实施例提供的第三方app中引入小程序的另一过程示意图;
59.图6为本发明实施例提供的第三方app中引入小程序的装置结构示意图;
60.图7为本发明实施例提供的第三方app中引入小程序的另一装置结构示意图;
61.图8为本发明实施例提供的电子设备结构示意图。
具体实施方式
62.下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
63.图1为本发明实施例提供的第三方应用程序app中引入小程序的系统结构示意图,该系统包括:跨平台应用模块11和第三方app12;所述第三方app12中集成小程序容器sdk121;
64.所述跨平台应用模块11,用于获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方app小程序源代码,向所述第三方app12提供所述第三方app小程序源代码;
65.所述第三方app12,用于利用所述小程序容器sdk121加载并运行所述第三方app小程序源代码。
66.如图1所示,第三方app中引入小程序的系统包括:跨平台应用模块11、第三方app12。跨平台应用模块11和第三方app12连接,第三方app12中集成小程序容器sdk121。跨平台应用模块11获取跨平台小程序源代码,将跨平台小程序源代码转换为第三方app小程序源代码,再将第三方app小程序源代码发送至第三方app12。第三方app12集成小程序容器sdk121,小程序容器sdk是将待迁移小程序框架或跨平台小程序框架打包生成的。采用小程序容器sdk为第三方app提供小程序框架的平台能力。若第三方app已有小程序框架。则无需再集成小程序容器sdk,第三方app自身具备小程序的应用生态;若第三方app没有小程序框架,需要集成小程序容器sdk。小程序容器sdk的架构与小程序架构相同,通用语言容器承载小程序的内容,ui组件和api接口为小程序提供底层系统能力,jsbridge实现web语法与系统原生语法的转换。第三方app利用所述小程序容器sdk加载并运行所述第三方app小程序
源代码。
67.需要说明的是,第三方app中引入小程序的系统还包括操作系统模块,操作系统模块和第三方app连接,操作系统模块向第三方app提供系统原生接口。第三方app基于系统原生接口和小程序容器sdk加载并运行第三方app小程序源代码。从而实现了一种将小程序引入第三方app的技术方案。
68.本发明实施例中,跨平台应用模块11获取跨平台小程序源代码包括两种方式。
69.第一种方式如图2所示,跨平台应用模块11包括:多端统一开发单元111和第三方app迁移单元112;
70.所述多端统一开发单元111,用于编写所述跨平台小程序源代码;
71.所述第三方app迁移单元112,用于对所述多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方app的组件、api接口、修改项目依赖、对齐生命周期。
72.本发明实施例中,跨平台应用模块11包括多端统一开发单元111和第三方app迁移单元112,多端统一开发单元111可以直接编写小程序源代码,通过多端统一开发单元111编写得到的小程序源代码即为述跨平台小程序源代码。也就是说,该方式中的跨平台小程序源代码是一个新的小程序对应的在多端统一开发单元上编写的跨平台小程序源代码。
73.第三方app迁移单元通过对多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配第三方app的组件、api接口、修改项目依赖、对齐生命周期。使跨平台应用模块11具备将跨平台小程序源代码转换为第三方app小程序源代码的能力。
74.所述第三方app迁移单元,具体用于适配所述第三方app的api接口与所述跨平台应用模块的api接口在入参、出参、回调函数和api接口名称的差异。
75.具体的,适配api接口:比如定位getlocation,第三方app是get gpslocation,且输入输出参数都不同,第三方app迁移单元负责适配所有api接口与跨平台应用模块的api接口在入参、出参、回调函数、api接口名称上的差异。
76.对齐生命周期:跨平台应用模块的生命周期典型的回调函数有onshow,onready,分别在程序页面展示时以及数据获取后触发回调,在该回调函数里实现程序的大部分跨平台应用源代码。跨平台应用源代码经转换后,生成第三方app小程序源代码,其生命周期回调函数被转换成符合h5的标准,但是第三方app又提供了例如onappshow,onpageshow等独有的回调函数,如onappshow代表小程序显示,仅限点击小程序进入,以及右上角关闭后再次进入时会触发该事件。因此第三方app迁移单元需要适配这些第三方app独有的回调函数,以达到第三方app在特定场景下触发的效果。
77.小程序应用开发商可以选择通用web技术(vue/react语法)编写代码,开发跨平台小程序。本发明实施例为普通小程序适配所有跨平台小程序的通用api,如手机系统能力-相机、定位、蓝牙、nfc等,以及普通小程序特有api如小程序分享、支付等。
78.第二种方式如图3所示,所述跨平台应用模块还包括:逆向迁移单元113;
79.所述逆向迁移单元113,用于获取待迁移小程序的源代码,将所述待迁移小程序的源代码转换为跨平台小程序源代码。
80.本发明实施例中的待迁移小程序是指市面已有的小程序,该待迁移小程序应用在第三方app之外的其它app中,该待迁移小程序的开发环境与跨平台应用开发环境有可能不
同。为了实现将待迁移小程序引入第三方app,本发明实施例中包括两次源代码转换的过程。第一次源代码转换,是由跨平台应用模块中的逆向迁移单元获取待迁移小程序的源代码,将待迁移小程序的源代码转换为跨平台小程序源代码。第二次源代码转换,是由跨平台应用模块将跨平台小程序源代码转换为第三方app小程序源代码。
81.因为跨平台应用模块的功能是将跨平台小程序源代码转换为第三方app小程序源代码,因此对于已有的待迁移小程序,首先需要将该待迁移小程序的源代码转换为跨平台小程序源代码,才能保证跨平台应用模块进行第二次源代码转换。最终实现将一个已有的待迁移小程序引入第三方app。
82.本发明实施例中,所述跨平台应用模块,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方app小程序源代码;
83.所述逆向迁移单元,具体用于对所述待迁移小程序的源代码进行语法分析、语法树构建、语法树转换生成所述跨平台小程序源代码。
84.本发明实施例中,源代码转换是通过语法分析、语法树构建、语法树转换实现的。对于待迁移小程序的源代码,逆向迁移单元对待迁移小程序的源代码进行语法分析、语法树构建、语法树转换生成跨平台小程序源代码。对于跨平台小程序源代码,跨平台应用模块对跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成第三方app小程序源代码。
85.跨平台应用模块通过编译时处理和运行时处理使得跨平台小程序源代码转换成通用或专第三方app小程序源代码,转换后的源代码用于第三方app,第三方app由操作系统模块提供的系统原生接口,实现如界面渲染,摄像头,蓝牙等底层硬件能力。
86.本发明实施例中,所述第三方app,具体用于在所述小程序容器sdk上,利用系统原生接口和组件框架template对所述第三方app小程序源代码动态递归渲染dom树,展示出小程序页面。从而将第三方app小程序源代码渲染展示在第三方app的显示界面上。
87.图4为本发明实施例提供的第三方app中引入小程序的过程示意图,该过程包括:
88.s101:第三方app获取跨平台应用模块提供的第三方app小程序源代码,其中,所述第三方app小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的。
89.s102:所述第三方app利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。
90.本发明实施例提供的第三方app中引入小程序方法应用于第三方app中引入小程序的系统中的第三方app。
91.所述利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码包括:
92.在所述小程序容器sdk上,利用系统原生接口和组件框架template对所述第三方app小程序源代码动态递归渲染dom树,展示出小程序页面。
93.图5为本发明实施例提供的第三方app中引入小程序的过程示意图,该过程包括:
94.s201:跨平台应用模块获取跨平台小程序源代码。
95.s202:将所述跨平台小程序源代码转换为第三方app小程序源代码,向第三方app提供所述第三方app小程序源代码,以使所述第三方app利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。
96.本发明实施例提供的第三方app中引入小程序方法应用于第三方app中引入小程序的系统中的跨平台应用模块。
97.所述获取跨平台小程序源代码包括:
98.获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
99.所述获取跨平台小程序源代码包括:
100.获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
101.所述将所述跨平台小程序源代码转换为第三方app小程序源代码包括:
102.对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方app小程序源代码。
103.所述将所述跨平台小程序源代码转换为第三方app小程序源代码之前,所述方法还包括:
104.通过所述跨平台应用模块中的第三方app迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方app的组件、api接口、修改项目依赖、对齐生命周期。
105.所述适配所述第三方app的api接口包括:
106.适配所述第三方app的api接口与所述跨平台应用模块的api接口在入参、出参、回调函数和api接口名称的差异。
107.下面对第三方app中引入小程序的过程进行说明。
108.本发明实施例为第三方app提供多端小程序内容模块的解决方案,多端小程序包括已有的待迁移小程序、跨平台应用小程序和普通小程序。第三方app集成小程序容器sdk,以获取小程序生态。普通小程序是指在第三方app中存在的小程序;跨平台应用小程序是指在跨平台应用模块中编写的小程序;已有的待迁移小程序是指的其它app中存在的非跨平台应用模块开发环境的小程序。本发明主要涉及将已有的待迁移小程序和跨平台应用小程序引入第三方app。
109.对于待迁移小程序,先将待迁移小程序的源代码转换为跨平台小程序源代码,然后将跨平台小程序源代码转换为第三方app小程序源代码,进而实现将已有的待迁移小程序引入第三方app。对于跨平台应用小程序,首先编写跨平台应用小程序的跨平台小程序源代码,然后将跨平台小程序源代码转换为第三方app小程序源代码,进而实现将跨平台应用小程序引入第三方app。从而实现将已有的待迁移小程序和跨平台应用小程序运行在第三方app的小程序容器sdk之上。
110.图6为本发明实施例提供的app中引入小程序的装置结构示意图,该装置包括:
111.第一获取子单元61,用于获取跨平台应用模块提供的第三方app小程序源代码,其中,所述第三方app小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;
112.加载运行子单元62,用于利用小程序容器sdk加载并运行所述第三方app小程序源代码。
113.加载运行子单元62,具体用于在所述小程序容器sdk上,利用系统原生接口和组件
框架template对所述第三方app小程序源代码动态递归渲染dom树,展示出小程序页面。
114.图7为本发明实施例提供的app中引入小程序的装置结构示意图,该装置包括:
115.第二获取子单元71,用于获取跨平台小程序源代码;
116.源代码转换子单元72,用于将所述跨平台小程序源代码转换为第三方app小程序源代码,向第三方app提供所述第三方app小程序源代码,以使所述第三方app利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。
117.所述第二获取子单元71,具体用于获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
118.所述第二获取子单元71,还用于获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
119.所述源代码转换子单元72,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方app小程序源代码。
120.所述源代码转换子单元72,具体用于通过所述跨平台应用模块中的第三方app迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方app的组件、api接口、修改项目依赖、对齐生命周期。
121.所述源代码转换子单元72,具体用于适配所述第三方app的api接口与所述跨平台应用模块的api接口在入参、出参、回调函数和api接口名称的差异。
122.本发明实施例还提供了一种电子设备,需要说明的是,本发明实施例将第三方app和跨平台应用模块统称为电子设备,如图8所示,包括:处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信;
123.所述存储器1103中存储有计算机程序,当所述程序被所述处理器1101执行时,使得所述处理器1101执行以上任一方法步骤。具体的,当电子设备中的第三方app中的处理器1101执行对应的程序时,使得所述处理器1101执行以上第三方app侧的任一方法步骤。当电子设备中的跨平台应用模块中的处理器1101执行对应的程序时,使得所述处理器1101执行以上跨平台应用模块侧的任一方法步骤。
124.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
125.通信接口1102用于上述电子设备与其他设备之间的通信。
126.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
127.上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
128.本技术还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在电子设备上运行时,使得所述电子设备执行时实现以上任一方法步骤。
129.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
130.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
131.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
132.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
133.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种第三方app中引入小程序的系统,其特征在于,所述系统包括:跨平台应用模块和第三方app;所述第三方app中集成小程序容器sdk;所述跨平台应用模块,用于获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方app小程序源代码,向所述第三方app提供所述第三方app小程序源代码;所述第三方app,用于利用所述小程序容器sdk加载并运行所述第三方app小程序源代码。2.如权利要求1所述的系统,其特征在于,所述跨平台应用模块包括:多端统一开发单元和第三方app迁移单元;所述多端统一开发单元,用于编写所述跨平台小程序源代码;所述第三方app迁移单元,用于对所述多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方app的组件、api接口、修改项目依赖、对齐生命周期。3.如权利要求2所述的系统,其特征在于,所述第三方app迁移单元,具体用于适配所述第三方app的api接口与所述跨平台应用模块的api接口在入参、出参、回调函数和api接口名称的差异。4.如权利要求2所述的系统,其特征在于,所述跨平台应用模块还包括:逆向迁移单元;所述逆向迁移单元,用于获取待迁移小程序的源代码,将所述待迁移小程序的源代码转换为跨平台小程序源代码。5.如权利要求4所述的系统,其特征在于,所述跨平台应用模块,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方app小程序源代码;所述逆向迁移单元,具体用于对所述待迁移小程序的源代码进行语法分析、语法树构建、语法树转换生成所述跨平台小程序源代码。6.如权利要求1所述的系统,其特征在于,所述第三方app,具体用于在所述小程序容器sdk上,利用系统原生接口和组件框架template对所述第三方app小程序源代码动态递归渲染dom树,展示出小程序页面。7.如权利要求1所述的系统,其特征在于,所述小程序容器sdk是将待迁移小程序框架或跨平台小程序框架打包生成的。8.一种第三方app中引入小程序的方法,其特征在于,所述方法包括:第三方app获取跨平台应用模块提供的第三方app小程序源代码,其中,所述第三方app小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;所述第三方app利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。9.如权利要求8所述的方法,其特征在于,所述利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码包括:在所述小程序容器sdk上,利用系统原生接口和组件框架template对所述第三方app小程序源代码动态递归渲染dom树,展示出小程序页面。10.一种第三方app中引入小程序的方法,其特征在于,所述方法包括:跨平台应用模块获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方app小程序源代码,向第三方app提供所述第三方app小程序源代码,以使所述第三方app利
用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。11.如权利要求10所述的方法,其特征在于,所述获取跨平台小程序源代码包括:获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。12.如权利要求10所述的方法,其特征在于,所述获取跨平台小程序源代码包括:获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。13.如权利要求10所述的方法,其特征在于,所述将所述跨平台小程序源代码转换为第三方app小程序源代码包括:对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方app小程序源代码。14.如权利要求10所述的方法,其特征在于,所述将所述跨平台小程序源代码转换为第三方app小程序源代码之前,所述方法还包括:通过所述跨平台应用模块中的第三方app迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方app的组件、api接口、修改项目依赖、对齐生命周期。15.如权利要求14所述的方法,其特征在于,所述适配所述第三方app的api接口包括:适配所述第三方app的api接口与所述跨平台应用模块的api接口在入参、出参、回调函数和api接口名称的差异。16.一种第三方app中引入小程序的装置,其特征在于,所述装置包括:第一获取子单元,用于获取跨平台应用模块提供的第三方app小程序源代码,其中,所述第三方app小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;加载运行子单元,用于利用小程序容器sdk加载并运行所述第三方app小程序源代码。17.一种app中引入小程序的装置,其特征在于,所述装置包括:第二获取子单元,用于获取跨平台小程序源代码;源代码转换子单元,用于将所述跨平台小程序源代码转换为第三方app小程序源代码,向第三方app提供所述第三方app小程序源代码,以使所述第三方app利用自身集成的小程序容器sdk加载并运行所述第三方app小程序源代码。18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求8-9任一项所述的方法步骤,或实现权利要求10-15任一项所述的方法步骤。

技术总结
本发明公开了第三方APP中引入小程序的系统、方法、装置及介质,本发明实施例中,跨平台应用模块获取跨平台小程序源代码,并将跨平台小程序源代码转换为第三方APP小程序源代码,然后向第三方APP提供第三方APP小程序源代码。第三方APP集成小程序容器SDK,接收到转换得到的第三方APP小程序源代码之后,利用小程序容器SDK加载并运行所述第三方APP小程序源代码。从而实现了一种将小程序引入第三方APP的技术方案。方案。方案。


技术研发人员:钱进 陈成钱 李定洲 傅宜生 祖立军 何思婕
受保护的技术使用者:中国银联股份有限公司
技术研发日:2022.07.14
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-1280.html

最新回复(0)