System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 应用合并方法、装置、存储介质及计算机设备制造方法及图纸_技高网

应用合并方法、装置、存储介质及计算机设备制造方法及图纸

技术编号:40119127 阅读:4 留言:0更新日期:2024-01-23 20:22
本申请公开一种应用合并方法,应用于云技术、人工智能及智能化集成系统等场景,该方法包括:对多个应用的开发代码分别进行编译,得到各应用的编译结果;多个应用包括作为主应用的第一应用和作为子应用的至少一个第二应用;编译结果的编译目录下包括全局逻辑文件和全局配置文件;将第二应用的编译结果和第一应用的编译结果进行融合,得到第一应用的主包和各第二应用的独立分包;将独立分包中的全局配置文件合并到主包中,得到融合第一应用和第二应用的目标小程序。本申请以小程序的应用为合并单元进行编译,得到在同一维度的小程序源生的编译结果,进而基于各应用的编译结果进行跨框架的小程序合并,提高小程序合并效率及质量。

【技术实现步骤摘要】

本申请涉及计算机软件,更具体地,涉及一种应用合并方法、装置、存储介质及计算机设备


技术介绍

1、应用程序(application,app)作为一种独立的软件包,能够允许用户在移动或桌面设备上执行特定任务。通常,应用程序指的是预装在设备上或通过专有应用程序商店下载安装与设备上的软件。由于应用程序必须下载安装,导致占用设备较多的存储空间,且开发成本相对较高。为此,现有技术提出了小程序技术。

2、小程序是一种不需要下载安装即可使用的应用,能够寄生在原生应用程序中。不同于网页的微应用,它可以通过授权得到权限直接调用原生应用程序中的应用程序编程接口实现与原生应用程序开发同样的体验,并且小程序本身相当于是对当前的应用程序进行功能扩展,所以整体的代码量占用的空间非常小。

3、在实际的应用场景中,随着业务内容的调整,往往需要对不同业务下的小程序进行合并,例如,将已有业务的小程序合并到新业务的小程序。目前,通常采用技术逐步迭代或者借助第三方转换工具的人工合并方法,这些方法无法支持大批量的合并任务且容易出现合并错误,导致小程序合并的效率及质量较低。


技术实现思路

1、本申请实施例提供一种应用合并方法、装置、存储介质以及计算机设备,以解决相关技术中因无法支持大批量合并且容易出现合并错误,而导致的小程序合并效率及质量较低的问题。

2、一方面,本申请实施例提供一种应用合并方法,该方法包括:对多个应用的开发代码分别进行编译,得到各应用的编译结果;多个应用包括作为主应用的第一应用和作为子应用的至少一个第二应用;编译结果的编译目录下包括全局逻辑文件和全局配置文件;将第二应用的编译结果和第一应用的编译结果进行融合,得到第一应用的主包和各第二应用的独立分包;主包对应的融合目录包括融合全局逻辑文件和融合全局配置文件,其中,融合全局逻辑文件是将第二应用的入口页面注入到第一应用的全局逻辑文件中得到的;融合全局配置文件是将第二应用的页面目录添加到第一应用的全局配置文件得到的;融合目录是将第二应用的编译结果添加到第一应用的编辑结果所在的编译目录中得到的;独立分包包括第二应用的全局配置文件;将独立分包中的全局配置文件合并到主包中,得到融合第一应用和第二应用的目标小程序。

3、另一方面,本申请实施例还提供一种应用合并装置,该装置包括:编译模块,用于对多个应用的开发代码分别进行编译,得到各应用的编译结果;多个应用包括作为主应用的第一应用和作为子应用的至少一个第二应用;编译结果的编译目录下包括全局逻辑文件和全局配置文件;分包模块,用于将第二应用的编译结果和第一应用的编译结果进行融合,得到第一应用的主包和各第二应用的独立分包;主包对应的融合目录包括融合全局逻辑文件和融合全局配置文件,其中,融合全局逻辑文件是将第二应用的入口页面注入到第一应用的全局逻辑文件中得到的;融合全局配置文件是将第二应用的页面目录添加到第一应用的全局配置文件得到的;融合目录是将第二应用的编译结果添加到第一应用的编辑结果所在的编译目录中得到的;独立分包包括第二应用的全局配置文件;合并模块,用于将独立分包中的全局配置文件合并到主包中,得到融合第一应用和第二应用的目标小程序。

4、可选地,编译模块可以包括流水创建单元、第一编译单元以及第二编译单元。流水创建单元,用于创建目标集成流水线;第一编译单元,用于在目标集成流水线中,对第一应用的开发代码进行编译,获得第一应用的编译结果;第一应用的编译结果的编译目录位于目标集成流水线的目标目录下;第二编译单元,用于在第一应用的开发代码编译完成后,对第二应用的开发代码进行编译,获得第二应用的编译结果。

5、可选地,第二应用的开发代码所属的开发框架与第一应用的开发代码所属的开发框架不同。分包模块可以包括程序插入单元、第一结果添加单元、第一主包确定单元以及第一分包确定单元。程序插入单元,用于将第一应用的逻辑文件中的公共程序插入第二应用的入口页面;第一结果添加单元,用于将第二应用的编辑结果添加到第一应用的编译结果所在的目录中,得到融合目录;第一目录添加单元,用于将第二应用的页面目录添加到第一应用的全局配置文件,得到融合全局配置文件;第一主包确定单元,用于基于融合全局逻辑文件、融合全局配置文件和融合目录,确定第一应用的主包;第一分包确定单元,用于基于第二应用的编译结果,确定第二应用的独立分包。

6、可选地,第二应用的开发代码所属的开发框架与第一应用的开发代码所属的开发框架相同,在对第二应用的开发代码进行编译的过程中,第二应用的入口页面被注入到第一全局逻辑文件中,被注入第二应用的入口页面的第一全局逻辑文件作为融合全局逻辑文件;

7、分包模块可以包括第二结果添加单元、第二目录添加单元、第二主包确定单元以及第二分包确定单元。第二结果添加单元,用于将第二应用的编辑结果添加到第一应用的编译结果所在的目录中,得到融合目录;第二目录添加单元,用于将第二应用的页面目录添加到第一应用的全局配置文件,得到融合全局配置文件;第二主包确定单元,用于基于融合全局逻辑文件、融合目录和融合全局配置文件,确定第一应用的主包;第二分包确定单元,用于基于第二应用的编译结果,确定第二应用的独立分包。

8、可选地,第一目录添加单元和第二目录添加单元可以具体用于:获取第二应用的私有资源;将私有资源预加载至融合目录;将第二应用的入口页面添加到第一应用的全局配置文件,得到融合全局配置文件。

9、可选地,应用合并装置还可以包括第一构建模块、第一确定模块、第二构建模块、第二确定模块以及文件定义模块。第一构建模块,用于基于主包中的变量和变量对应的作用域,构建主包对应的闭包函数;第一确定模块,用于根据主包对应的闭包函数,作为第一应用对应的第一运行沙箱;第二构建模块,用于基于独立分包中的变量和变量对应的作用域,构建独立分包对应的闭包函数;第二确定模块,用于根据独立分包对应的闭包函数,作为第二应用对应的第二运行沙箱;文件定义模块,用于将第一运行沙箱和第二运行沙箱定义到公共文件上,以使第一应用的运行环境和第二应用的运行环境相互隔离;公共文件是目标集成流水线的目标目录下创建的。

10、可选地,应用合并装置还可以包括:对象构建模块、信息定义模块以及对象封装模块。对象构建模块,用于构建通信对象;信息定义模块,用于将第一应用和第二应用中各应用的登陆方法和应用信息,定义到通信对象上;对象封装模块,用于将通信对象进行封装,得到通信程序;将通信程序存储到公共文件中,以在运行目标小程序过程中通过通信程序在不同应用之间通信。

11、可选地,第一编译单元可以具体用于响应于将第一应用的开发代码提交到目标集成流水线,在目标集成流水线中,对第一应用的开发代码进行编译,获得第一应用的编译结果。

12、可选地,第一分包确定单元和第二分包确定单元可以具体用于:获取第二应用对应的分包配置项;基于分包配置项,通过融合全局配置文件的分包字段声明第二应用对应的分包结构,对第二应用的编译结果进行分包处理,得到第二应用本文档来自技高网...

【技术保护点】

1.一种应用合并方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对多个应用的开发代码分别进行编译,得到各应用的编译结果,包括:

3.根据权利要求2所述的方法,其特征在于,所述第二应用的开发代码所属的开发框架与所述第一应用的开发代码所属的开发框架不同;

4.根据权利要求2所述的方法,其特征在于,所述第二应用的开发代码所属的开发框架与所述第一应用的开发代码所属的开发框架相同,在对所述第二应用的开发代码进行编译的过程中,所述第二应用的入口页面被注入到所述第一全局逻辑文件中,被注入第二应用的入口页面的所述第一全局逻辑文件作为所述融合全局逻辑文件;

5.根据权利要求3或4所述的方法,其特征在于,所述将所述第二应用的页面目录添加到所述第一应用的全局配置文件,得到所述融合全局配置文件,包括:

6.根据权利要求2所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.根据权利要求2所述的方法,其特征在于,所述在所述目标集成流水线中,对所述第一应用的开发代码进行编译,获得所述第一应用的编译结果,包括:

9.根据权利要求3或4所述的方法,其特征在于,所述基于所述第二应用的编译结果,确定所述第二应用的独立分包,包括:

10.一种应用合并装置,其特征在于,所述装置包括:

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1至9任一项所述的方法。

12.一种计算机设备,其特征在于,包括:

13.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在存储介质中,计算机设备的处理器从存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机执行如权利要求1至9任一项所述的方法。

...

【技术特征摘要】

1.一种应用合并方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对多个应用的开发代码分别进行编译,得到各应用的编译结果,包括:

3.根据权利要求2所述的方法,其特征在于,所述第二应用的开发代码所属的开发框架与所述第一应用的开发代码所属的开发框架不同;

4.根据权利要求2所述的方法,其特征在于,所述第二应用的开发代码所属的开发框架与所述第一应用的开发代码所属的开发框架相同,在对所述第二应用的开发代码进行编译的过程中,所述第二应用的入口页面被注入到所述第一全局逻辑文件中,被注入第二应用的入口页面的所述第一全局逻辑文件作为所述融合全局逻辑文件;

5.根据权利要求3或4所述的方法,其特征在于,所述将所述第二应用的页面目录添加到所述第一应用的全局配置文件,得到所述融合全局配置文件,包括:

6.根据权利要求2所述的方法,其特征在于,所述方法还包括:

7.根据权利要求...

【专利技术属性】
技术研发人员:梁宇轩
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1