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

一种小程序适配方法、装置、设备及存储介质制造方法及图纸

技术编号:40441832 阅读:10 留言:0更新日期:2024-02-22 23:04
本申请公开了一种小程序适配方法、装置、设备及存储介质,涉及小程序开发领域,包括:通过代理第一小程序平台中原小程序的全局变量得到第一代理变量,以确定原小程序的所有程序接口;从中确定与第二小程序平台不适配的目标程序接口并进行扩充得到匹配第二小程序平台的扩充后程序接口;获取原小程序的原构造器的第一入参并修改得到匹配第二小程序平台的第二入参,并基于第二入参构建第二小程序平台的目标构造器;基于扩充后程序接口和目标构造器替换原小程序生成第二小程序平台的目标小程序。通过对程序接口和构造器的调整,无需关注各个平台的差异,直接编写一套逻辑代码即可在各个平台之上运行小程序,降低了人力成本,提高开发效率。

【技术实现步骤摘要】

本专利技术涉及小程序开发领域,特别涉及一种小程序适配方法、装置、设备及存储介质


技术介绍

1、继2017年小程序诞生以来,由于其独特的商业模式和轻应用的用户体验,在移动社交电商等领域不断取得亮眼成绩。目前各大平台都相继推出了自己的小程序,但由于不同平台间小程序代码写法、能力支持的差异性逐步变大,小程序代码无法直接跑在各大平台上,在框架接口上有着巨大差异,需要对现有的接口做转化及增强,才能以现有的微信小程序代码运行在其他小程序平台之上。

2、目前开发人员将业务拓展到其他小程序平台时,需要编写平台对应的逻辑代码,根据平台不同的功能差异,可能会做很大的兼容甚至可能做到删减,开发人员疲于在各个平台之前周转,导致编写多个平台小程序逻辑代码耗时且耗费人力,效率低下,并且如果采取别的技术方案解决可能无法兼容旧有业务逻辑及代码。因此,如何使小程序更加便捷地在不同平台运行是本领域有待解决的问题。


技术实现思路

1、有鉴于此,本专利技术的目的在于提供一种小程序适配方法、装置、设备及存储介质,通过对程序接口和构造器的调整,无需关注各个平台的差异,直接编写一套逻辑代码即可在各个平台之上运行小程序,降低了人力成本,提高开发效率。其具体方案如下:

2、第一方面,本申请提供了一种小程序适配方法,包括:

3、通过预设代理器代理第一小程序平台中原小程序的全局变量得到对应的第一代理变量,利用所述第一代理变量确定原小程序的所有程序接口;

4、从所述所有程序接口中确定与第二小程序平台不适配的目标程序接口,并对所述目标程序接口进行扩充以得到匹配所述第二小程序平台的扩充后程序接口;

5、获取所述原小程序的原构造器的第一入参,修改所述第一入参得到匹配所述第二小程序平台的第二入参,并基于所述第二入参构建所述第二小程序平台的目标构造器;

6、基于所述扩充后程序接口和所述目标构造器替换所述原小程序中的所述目标程序接口和所述原构造器,以生成所述第二小程序平台的目标小程序。

7、可选的,所述利用所述第一代理变量确定原小程序的所有程序接口,包括:

8、通过所述预设代理器中的handler对象中的属性读取捕捉器利用所述第一代理变量获取所述原小程序的所有程序接口。

9、可选的,所述从所述所有程序接口中确定与第二小程序平台不适配的目标程序接口之后,还包括:

10、对所述目标程序接口中的异步应用程序接口进行promise化,以及根据预设差异配置对所述目标程序接口的预设接口参数进行包装。

11、可选的,所述获取所述原小程序的原构造器的第一入参之前,还包括:

12、通过wrapper高阶函数对所述原小程序的原构造器进行包装。

13、可选的,所述对所述原小程序的原构造器进行包装,包括:

14、对所述原小程序的组件构造器、页面构造器和应用构造器进行包装。

15、可选的,所述获取所述原小程序的原构造器的第一入参,包括:

16、获取所述原小程序的原构造器的生命周期入参、组件实例属性、页面实例属性以及目标功能函数;

17、相应的,所述修改所述第一入参得到匹配所述第二小程序平台的第二入参,包括:

18、通过修改所述原构造器的生命周期入参、组件实例属性、页面实例属性以及目标功能函数,以得到匹配所述第二小程序平台的生命周期入参、组件实例属性、页面实例属性以及目标功能函数。

19、可选的,所述修改所述第一入参得到匹配所述第二小程序平台的第二入参的过程中,还包括:

20、确定当前待补全功能,并基于所述当前待补全功能创建与所述第二小程序平台适配的新功能组件;

21、相应的,所述基于所述第二入参构建所述第二小程序平台的目标构造器,包括:

22、利用匹配所述第二小程序平台的生命周期入参、组件实例属性、页面实例属性、目标功能函数以及所述新功能组件,构建所述第二小程序平台的目标构造器。

23、第二方面,本申请提供了一种小程序适配装置,包括:

24、接口确定模块,用于通过预设代理器代理第一小程序平台中原小程序的全局变量得到对应的第一代理变量,利用所述第一代理变量确定原小程序的所有程序接口;

25、接口扩充模块,用于从所述所有程序接口中确定与第二小程序平台不适配的目标程序接口,并对所述目标程序接口进行扩充以得到匹配所述第二小程序平台的扩充后程序接口;

26、构造器构建模块,用于获取所述原小程序的原构造器的第一入参,修改所述第一入参得到匹配所述第二小程序平台的第二入参,并基于所述第二入参构建所述第二小程序平台的目标构造器;

27、小程序生成模块,用于基于所述扩充后程序接口和所述目标构造器替换所述原小程序中的所述目标程序接口和所述原构造器,以生成所述第二小程序平台的目标小程序。

28、第三方面,本申请提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述的小程序适配方法。

29、第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的小程序适配方法。

30、本申请通过预设代理器代理第一小程序平台中原小程序的全局变量得到对应的第一代理变量,利用所述第一代理变量确定原小程序的所有程序接口;从所述所有程序接口中确定与第二小程序平台不适配的目标程序接口,并对所述目标程序接口进行扩充以得到匹配所述第二小程序平台的扩充后程序接口;获取所述原小程序的原构造器的第一入参,修改所述第一入参得到匹配所述第二小程序平台的第二入参,并基于所述第二入参构建所述第二小程序平台的目标构造器;基于所述扩充后程序接口和所述目标构造器替换所述原小程序中的所述目标程序接口和所述原构造器,以生成所述第二小程序平台的目标小程序。通过上述技术方案,可以对原小程序的接口进行扩充以及根据修改后的相关参数构建新的构造器,解决了多端小程序框架之间接口的差异性,从而使小程序在其他平台运行时无需关注底层框架接口的差异,可以使用各个框架接口跟能力,并且直接编写一套逻辑代码即可在各个平台之上运行,业务逻辑也不需要做删减,无需在各个平台上都重新实现一遍,降低了人力成本提高开发效率。

本文档来自技高网...

【技术保护点】

1.一种小程序适配方法,其特征在于,包括:

2.根据权利要求1所述的小程序适配方法,其特征在于,所述利用所述第一代理变量确定原小程序的所有程序接口,包括:

3.根据权利要求1所述的小程序适配方法,其特征在于,所述从所述所有程序接口中确定与第二小程序平台不适配的目标程序接口之后,还包括:

4.根据权利要求1所述的小程序适配方法,其特征在于,所述获取所述原小程序的原构造器的第一入参之前,还包括:

5.根据权利要求4所述的小程序适配方法,其特征在于,所述对所述原小程序的原构造器进行包装,包括:

6.根据权利要求1至5任一项所述的小程序适配方法,其特征在于,所述获取所述原小程序的原构造器的第一入参,包括:

7.根据权利要求6所述的小程序适配方法,其特征在于,所述修改所述第一入参得到匹配所述第二小程序平台的第二入参的过程中,还包括:

8.一种小程序适配装置,其特征在于,包括:

9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的小程序适配方法。

10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的小程序适配方法。

...

【技术特征摘要】

1.一种小程序适配方法,其特征在于,包括:

2.根据权利要求1所述的小程序适配方法,其特征在于,所述利用所述第一代理变量确定原小程序的所有程序接口,包括:

3.根据权利要求1所述的小程序适配方法,其特征在于,所述从所述所有程序接口中确定与第二小程序平台不适配的目标程序接口之后,还包括:

4.根据权利要求1所述的小程序适配方法,其特征在于,所述获取所述原小程序的原构造器的第一入参之前,还包括:

5.根据权利要求4所述的小程序适配方法,其特征在于,所述对所述原小程序的原构造器进行包装,包括:

6.根据权利要求1至5任一项所述的小程序适配方法,其...

【专利技术属性】
技术研发人员:赵鹏程
申请(专利权)人:上海微盟企业发展有限公司
类型:发明
国别省市:

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

1