小程序跨应用迁移方法、设备、终端、系统及存储介质技术方案

技术编号:31489088 阅读:31 留言:0更新日期:2021-12-18 12:25
本申请公开了一种小程序跨应用迁移方法、设备、终端、系统及存储介质,属于数据处理领域。该方法包括:解析原应用程序的小程序的原代码文件,生成原抽象语法树;根据原抽象语法树和目标应用程序的目标转换规则,转换得到目标抽象语法树;基于目标抽象语法树,生成小程序在目标应用程序的目标代码文件;将目标代码文件传输至用户终端,以使用户终端在目标应用程序运行目标代码文件的过程中,获取目标配置参数完成目标应用程序的应用程序编程接口API调用以实现小程序的功能,目标配置参数包括与目标应用程序的当前API版本匹配的配置参数。根据本申请实施例能够提高小程序在不同应用程序的兼容性。程序的兼容性。程序的兼容性。

【技术实现步骤摘要】
小程序跨应用迁移方法、设备、终端、系统及存储介质


[0001]本申请属于数据处理领域,尤其涉及一种小程序跨应用迁移方法、装置、设备、终端、系统及存储介质。

技术介绍

[0002]小程序是一种不需要下载安装即可使用的应用,依附在宿主应用程序中。而随着小程序技术的快速发展,各个应用程序平台都推出了自己的小程序框架规范。
[0003]为了提高小程序的灵活应用,希望小程序能够在不同的应用程序中迁移,也就是说,使在某一应用程序运行的小程序,可迁移至另一应用程序。但由于不同应用程序的规范等不同,导致小程序在不同应用程序的兼容性较差,甚至在一些应用程序中无法直接运行。

技术实现思路

[0004]本申请实施例提供一种小程序跨应用迁移方法、设备、终端、系统及存储介质,能够提高小程序在不同应用程序的兼容性。
[0005]第一方面,本申请实施例提供一种小程序跨应用迁移方法,应用于编译设备,该方法包括:解析原应用程序的小程序的原代码文件,生成原抽象语法树,原抽象语法树为与原应用程序对应的原代码文件的抽象语法树;根据原抽象语法树和目标应用本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种小程序跨应用迁移方法,其特征在于,应用于编译设备,所述方法包括:解析原应用程序的小程序的原代码文件,生成原抽象语法树,所述原抽象语法树为与所述原应用程序对应的所述原代码文件的抽象语法树;根据所述原抽象语法树和目标应用程序的目标转换规则,转换得到目标抽象语法树,所述目标抽象语法树为与所述目标应用程序对应的所述原代码文件的抽象语法树;基于所述目标抽象语法树,生成所述小程序在所述目标应用程序的目标代码文件;将所述目标代码文件传输至用户终端,以使所述用户终端在所述目标应用程序运行所述目标代码文件的过程中,获取目标配置参数完成所述目标应用程序的应用程序编程接口API调用以实现所述小程序的功能,所述目标配置参数包括与所述目标应用程序的当前API版本匹配的配置参数。2.根据权利要求1所述的方法,其特征在于,所述原代码文件包括脚本文件、页面模版文件和样式文件;所述原抽象语法树包括与所述脚本文件对应的第一原抽象语法树、与所述页面模版文件对应的第二原抽象语法树和与所述样式文件对应的第三原抽象语法树;所述目标抽象语法树包括与所述脚本文件对应的第一目标抽象语法树、与所述页面模版文件对应的第二目标抽象语法树和与所述样式文件对应的第三目标抽象语法树。3.根据权利要求2所述的方法,其特征在于,所述基于所述目标抽象语法树,生成所述小程序在所述目标应用程序的目标代码文件,包括:绑定表征同一对象的第一目标抽象语法树中的节点与所述第二目标抽象语法树的节点;根据节点的绑定关系、所述第一目标抽象语法树中的函数和所述第二目标抽象语法树,得到目标程序代码文件;基于第三目标抽象语法树,得到目标样式文件;基于所述目标程序代码文件和所述目标样式文件,得到所述目标代码文件,所述目标代码文件包括所述目标程序代码文件和所述目标样式文件。4.根据权利要求3所述的方法,其特征在于,所述第一目标抽象语法树中的节点包括数据状态和事件函数,所述第二目标抽象语法树中的节点包括变量和文档对象模型事件;所述绑定表征同一对象的第一目标抽象语法树中的节点与所述第二目标抽象语法树的节点,包括:绑定表征同一对象的所述第一目标抽象语法树中所述数据状态和所述第二目标抽象语法树中所述变量;绑定表征同一对象的所述第一目标抽象语法树中所述事件函数和所述第二目标抽象语法树中所述文档对象模型事件;所述根据节点的绑定关系、所述第一目标抽象语法树中的函数和所述第二目标抽象语法树,得到目标程序代码文件,包括:将所述第二目标抽象语法树中所述变量替换为绑定的所述数据状态,所述第二目标抽象语法树中所述文档对象模型事件替换为绑定的所述事件函数,得到更新后的所述第二目标抽象语法树;封装更新后的所述第二目标抽象语法树,得到渲染函数;
封装所述第一目标抽象语法树中的函数,得到待调用函数;基于绑定的所述数据状态和所述变量、绑定的所述事件函数和所述文档对象模型事件、所述渲染函数以及所述待调用函数,得到所述目标程序代码文件。5.根据权利要求4所述的方法,其特征在于,所述第一目标抽象语法树中的函数包括业务函数和生命周期函数;所述待调用函数包括封装所述业务函数得到的第一调用函数和封装所述生命周期函数得到的第二调用函数。6.根据权利要求1所述的方法,其特征在于,所述原代码文件包括页面模版文件,所述解析原应用程序的小程序的原代码文件,生成原抽象语法树,包括:解析所述原代码文件中的所述页面模版文件,生成所述页面模版文件对应的文档对象模型树;抽取所述文档对象模型树的程序逻辑,根据所述程序逻辑,将所述文档对象模型树转换为所述页面模版文件对应的第二原抽象语法树。7.根据权利要求1所述的方法,其特征在于,所述根据所述原抽象语法树和目标应用程序的目标转换规则,转换得到目标抽象语法树,包括:利用所述目标转换规则,将所述原抽象语法树转换为符合所述目标应用程序的框架的抽象语法树;在符合所述目标应用程序的抽象语法树中所述目标转换规则指示的位置插入注释,得到所述目标抽象语法树,所述注释包括所述注释所在分支的功能开发指引说明。8.一种小程序跨应用迁移方法,其特征在于,应用于用户终端,所述用户终端安装有目...

【专利技术属性】
技术研发人员:江俊沈玺解楠张婕
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:

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

1