System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种多个小程序的预编译方法、装置、设备及介质制造方法及图纸_技高网

一种多个小程序的预编译方法、装置、设备及介质制造方法及图纸

技术编号:40739089 阅读:2 留言:0更新日期:2024-03-25 19:59
本申请提供一种多个小程序的预编译方法、装置、设备及介质,涉及小程序编译技术领域,包括:获取至少一个待编译小程序的标识码、目标应用信息和第一总配置文件;根据至少一个待编译小程序的数量,分别在总标识码属性下和总功能属性下增加相同数量的子属性;根据待编译小程序的目标应用信息配置相应的子属性,得到处理后的第三总配置文件;根据待编译小程序的目标应用框架和处理后的第三总配置文件,生成待编译小程序的预编译脚本和预编译命令;将待编译小程序的预编译脚本添加到目标应用框架的存储目录下,执行预编译命令,得到预编译后的小程序代码包。本申请可同时对多个功能不同的小程序进行预编译和动态配置。

【技术实现步骤摘要】

本申请涉及小程序编译,具体而言,涉及一种多个小程序的预编译方法、装置、设备及介质


技术介绍

1、各个平台小程序都经常有多个小程序共用一套代码的需求,例如仅需根据主体不同进行私有化部署或仅需根据用户群体不同对同一个小程序进行不同的实例化包装,此时,多个小程序之间的功能代码完全一致或者绝大部分的功能一致,因此开发者期望维护一套代码的同时不影响不同实例小程序的主体、名称与logo等信息;但是目前的小程序的关键配置文件是静态的,无法根据实际情况改变。

2、为解决上述问题,现有技术以小程序appid为粒度,为每个小程序单独构建一个代码仓库,令每个小程序都是一个单独的项目互不影响;但是这种方式也导致小程序的代码无法复用;当需要对小程序进行修改时,需要对每个小程序的代码仓库进行修改,大大增加了维护成本和维护工作量。

3、现有技术为减少重复工作,从同一个代码仓库拉出不同的分支以用在不同的小程序上,虽然这样保证了绝大部分代码的复用性,但是因为应用配置必然的不同,新的分支永远无法与主线分支合并,并且随着版本的迭代以及不同分支所在的版本号可能不同,拉取代码时冲突问题逐渐严重,其维护成本和维护工作量也会逐步加大。

4、同时由于小程序的原生的应用配置和路由配置无法修改,因此即使借助小程序编译工具也不能对各个小程序的配置进行动态的调整;同时现有技术也缺乏识别小程序appid,并进行不同appid的小程序的自动化部署、打包上传的工具。


技术实现思路

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、在本文档来自技高网...

【技术保护点】

1.一种多个小程序的预编译方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,当多个待编译小程序的功能需求全部相同或部分相同时,在得到处理后的第二总配置文件后,所述方法还可包括:

3.如权利要求1所述的方法,其特征在于,所述方法还包括:

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

5.如权利要求1所述的方法,其特征在于,根据所述待编译小程序的目标应用框架和所述处理后的第三总配置文件,生成所述待编译小程序的预编译脚本和预编译命令,包括:

6.如权利要求1所述的方法,其特征在于,在得到预编译后的小程序代码包后,所述方法还包括:

7.如权利要求6所述的方法,其特征在于,所述目标应用信息还包括:待编译小程序的显示信息和地址信息;所述预编译后的小程序代码包中包含小程序的显示属性和地址属性;

8.一种多个小程序的预编译装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法。

...

【技术特征摘要】

1.一种多个小程序的预编译方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,当多个待编译小程序的功能需求全部相同或部分相同时,在得到处理后的第二总配置文件后,所述方法还可包括:

3.如权利要求1所述的方法,其特征在于,所述方法还包括:

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

5.如权利要求1所述的方法,其特征在于,根据所述待编译小程序的目标应用框架和所述处理后的第三总配置文件,生成所述待编译小程序的预编译脚本和预编译命令,包括:

6.如权利要求1所述的方法,其特征在于,在得到预编译后的...

【专利技术属性】
技术研发人员:许永沁
申请(专利权)人:厦门立林科技有限公司
类型:发明
国别省市:

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

1