CN112527415A - 小程序跨平台迁移方法、装置、设备和介质 - Google Patents
小程序跨平台迁移方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN112527415A CN112527415A CN202011547875.5A CN202011547875A CN112527415A CN 112527415 A CN112527415 A CN 112527415A CN 202011547875 A CN202011547875 A CN 202011547875A CN 112527415 A CN112527415 A CN 112527415A
- Authority
- CN
- China
- Prior art keywords
- platform
- file
- conversion
- applet
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种小程序跨平台迁移方法,该方法包括:获取待迁移小程序在第一平台的源程序文件及默认转换规则;根据默认转换规则对源程序文件中的代码进行转换,得到待迁移小程序的标准转换文件;获取第二平台的平台转换规则,根据平台转换规则将标准转换文件中的组件划分为待转换组件及保留组件,根据平台转换规则对待转换组件进行转换,得到待迁移小程序的平台转换文件;获取开发者工具,根据开发者工具及平台转换文件生成在第二平台的目标小程序。本发明无需针对不同的第二平台进行小程序代码的重新开发,抹平了小程序在不同平台之间的差异性,提高了小程序的迁移效率。此外,还提出了小程序跨平台迁移装置、设备和存储介质。
Description
技术领域
本发明涉及计算机软件技术领域,尤其是涉及小程序跨平台迁移方法、装置、设备和介质。
背景技术
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的目的,用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。
微信小程序产生较早,很多公司都已经开发了微信小程序。当前,微信、百度、支付宝等互联网巨头都纷纷推出了各自的小程序平台,企业如果希望能在不同的平台进行推广,则需要针对不同的平台进行小程序的重复开发。这使得小程序必须开发和维护成本较高。因此,如何使得小程序的开发能兼容不同平台成为亟待解决的技术问题。
发明内容
基于此,有必要针对上述问题,提供使小程序在平台间具备迁移性的小程序跨平台迁移方法、装置、设备和介质。
一种小程序跨平台迁移方法,所述方法包括:
获取待迁移小程序在第一平台的源程序文件及默认转换规则;
根据所述默认转换规则对所述源程序文件中的代码进行转换,得到所述待迁移小程序的标准转换文件;
获取第二平台的平台转换规则,根据所述平台转换规则将所述标准转换文件中的组件划分为待转换组件及保留组件,根据所述平台转换规则对所述待转换组件进行转换,得到所述待迁移小程序的平台转换文件;
获取开发者工具,根据所述开发者工具及所述平台转换文件生成在所述第二平台的目标小程序。
在其中一个实施例中,所述源程序文件包括初始源码数据及初始应用接口,所述默认转换规则包括默认语法规则及默认接口规则;
所述根据所述默认转换规则对所述源程序文件中的代码进行转换,包括:
根据所述默认语法规则,将所述初始源码数据转换为所述标准转换文件的标准源码数据;
根据所述默认接口规则,将所述初始应用接口转换为所述标准转换文件的标准应用接口。
在其中一个实施例中,所述根据所述默认语法规则,将所述初始源码数据转换为所述标准转换文件的标准源码数据,包括:
将所述初始源码数据解析为至少一个树结构的节点树;
遍历所述至少一个节点树上的每一个节点,根据所述默认语法规则对所述每一个节点进行替换处理,并将替换处理后的节点树输出为所述标准转换文件的标准源码数据。
在其中一个实施例中,所述根据所述默认语法规则对所述每一个节点进行替换处理,包括:
每读取到一个节点的节点源码数据后,根据所述默认语法规则对所述节点源码数据进行替换,及对所述节点源码数据所属的文件夹的文件扩展名进行替换。
在其中一个实施例中,所述根据所述平台转换规则将所述标准转换文件中的组件划分为待转换组件及保留组件,包括:
根据所述平台转换规则确定所述待迁移小程序中的通用功能,将所述标准转换文件中用于实现所述通用功能的组件作为所述保留组件,将剩余组件划分为所述待转换组件。
在其中一个实施例中,所述平台转换规则包括替换规则及升级规则,所述根据所述平台转换规则对所述待转换组件进行转换,包括:
根据替换规则对所述待转换组件进行替换处理;或,
根据升级规则对所述待转换组件进行升级处理。
在其中一个实施例中,在所述根据所述开发者工具及所述平台转换文件生成在所述第二平台的目标小程序之后,还包括:
获取所述待迁移小程序的源程序文件中包含的全局变量,根据所述全局变量对所述目标小程序的平台转换文件进行更新。
一种小程序跨平台迁移装置,所述装置包括:
获取模块,用于获取待迁移小程序在第一平台的源程序文件及默认转换规则;
标准转换模块,用于根据所述默认转换规则对所述源程序文件中的代码进行转换,得到所述待迁移小程序的标准转换文件;
平台转换模块,用于获取第二平台的平台转换规则,根据所述平台转换规则将所述标准转换文件中的组件划分为待转换组件及保留组件,根据所述平台转换规则对所述待转换组件进行转换,得到所述待迁移小程序的平台转换文件;
程序生成模块,用于获取开发者工具,根据所述开发者工具及所述平台转换文件生成在所述第二平台的目标小程序。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取待迁移小程序在第一平台的源程序文件及默认转换规则;
根据所述默认转换规则对所述源程序文件中的代码进行转换,得到所述待迁移小程序的标准转换文件;
获取第二平台的平台转换规则,根据所述平台转换规则将所述标准转换文件中的组件划分为待转换组件及保留组件,根据所述平台转换规则对所述待转换组件进行转换,得到所述待迁移小程序的平台转换文件;
获取开发者工具,根据所述开发者工具及所述平台转换文件生成在所述第二平台的目标小程序。
一种小程序跨平台迁移设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取待迁移小程序在第一平台的源程序文件及默认转换规则;
根据所述默认转换规则对所述源程序文件中的代码进行转换,得到所述待迁移小程序的标准转换文件;
获取第二平台的平台转换规则,根据所述平台转换规则将所述标准转换文件中的组件划分为待转换组件及保留组件,根据所述平台转换规则对所述待转换组件进行转换,得到所述待迁移小程序的平台转换文件;
获取开发者工具,根据所述开发者工具及所述平台转换文件生成在所述第二平台的目标小程序。
本发明提供了小程序跨平台迁移方法、装置、设备和介质,根据获取的默认转换规则对源程序文件中的代码进行转换,以得到待迁移小程序的标准转换文件,使待迁移小程序的默认内容能满足第二平台。根据第二平台的平台转换规则对标准转换文件进行进一步转换,以满第二平台特定的专有功能。最后通过开发者工具来完成目标小程序的生成及发布。本发明无需针对不同的第二平台进行小程序代码的重新开发,抹平了小程序在不同平台之间的差异性,提高了小程序的迁移效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中小程序跨平台迁移方法的流程示意图;
图2为一个实施例中小程序跨平台迁移装置的结构示意图;
图3为一个实施例中小程序跨平台迁移设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,图1为一个实施例中小程序跨平台迁移方法的流程示意图,本小程序跨平台迁移方法提供的步骤包括:
步骤102,获取待迁移小程序在第一平台的源程序文件及默认转换规则。
其中,本实例中涉及到小程序在第一平台与第二平台之间的迁移,以微信平台的小程序迁移到百度平台为例,则第一平台则为微信平台,第二平台为百度平台。源程序文件包括初始源码数据和初始应用接口,默认转换规则包括默认语法规则和默认接口规则。具体的说,初始源码数据可以包括描述待迁移小程序页面、菜单、程序情节的初始代码。而通过不同的初始应用接口可以获取到待测小程序对应设定的返回结果,包括描述信息或数据等。默认转换规则与第二平台的开发框架相适应,可存储在云端或本地计算设备中,在执行小程序迁移任务时允许调用。对于不同的第一平台第二平台,需预先针对性的设置默认语法规则及默认接口规则,其中默认语法规则用于对初始源码数据进行转换,默认接口规则用于对初始源码数据进行转换。
步骤104,根据默认转换规则对源程序文件中的代码进行转换,得到待迁移小程序的标准转换文件。
其中,标准转换文件包括转换后的标准源码数据及标准应用接口。标准源码数据是在第二平台描述待迁移小程序的页面、菜单、程序情节的标准形式代码,默认语法规则可以对初始源码数据的语法结构进行转换,以得到标准源码数据。默认接口规则可以转换初始应用接口的接口信息。
在一个具体实施例中,通过默认语法规则将初始源码数据转换为标准源码数据的步骤为:首先,根据初始源码数据实现的功能不同,将初始源码数据解析为至少一个树结构的节点树,其中节点树是以树状的形式呈现汇编语言的语法结构,节点树中的一个节点表征代码中的一个结构,这些节点均可被修改,创建或删除。然后依照节点间的层级关系遍历这些节点树上的每一个节点,并根据默认语法规则对每一个节点进行替换处理。其中,替换处理包括根据默认语法规则对节点源码数据进行替换,及对节点源码数据所属的文件夹的文件扩展名进行替换。本具体实施例采用节点树进行语法规则转换能够确保初始源码数据的完整,结构不会被破坏。
其中,对于节点源码数据的替换而言,具体包括确定属于脚本逻辑代码段的节点源码数据与第二平台中的脚本逻辑代码段的差异,确定属于样式类型代码段的节点源码数据与第二平台中的样式类型代码段的差异,针对这些差异部分根据默认的方法规则、指令规则以及属性规则对包括了小程序中用于描述页面路径、界面表现、网络超时时间、底部tab的内容进行替换。对于文件扩展名替换的替换而言,以微信小程序替换为百度小程序的后缀为例,百度小程序的工程文件分为SWAN、CSS、JS、JSON四个类型,其中CSS与微信小程序的WXSS文件类似。WXSS具有CSS大部分的特性,而WXSS新增了尺寸单位,在逻辑判断、循环等语法上与CSS不同。基于节点树将所有WXSS文件替换为CSS文件。最后将替换处理后的节点树输出为标准转换文件的标准源码数据。
在另一个具体实施例中,通过默认接口规则将初始应用接口转换为标准应用接口的步骤为:首先获取初始应用接口的初始映射信息,该初始映射信息包括保存着两组值,一组值为输入的初始参数值,而另一组为初始返回结果值。初始参数值和初始返回结果值之间存在一一对应的映射关系,即通过指定的初始参数值,总能找到唯一的、确定的初始返回结果值。再获取标准应用接口的标准映射信息,与初始映射信息相类似,标准映射信息也包括一一对应的,有映射关系的标准参数值和标准返回结果值。然后,为建立初始应用接口与标准应用接口的默认接口规则,在只有初始参数值与标准参数值相同时,建立初始返回结果值与标准返回结果值的默认接口规则;在只有初始返回结果值与标准返回结果值相同时,建立初始参数值与标准参数值的默认接口规则。最后根据默认接口规则确定的参数值之间的映射关系,返回结果值之间的映射关系将初始应用接口转换为标准应用接口。
步骤106,获取第二平台的平台转换规则,根据平台转换规则将标准转换文件中的组件划分为待转换组件及保留组件,根据平台转换规则对待转换组件进行转换,得到待迁移小程序的平台转换文件。
其中,平台转换规则是针对不同平台设计的专有功能而设置的转换规则。程序开发人员在软件开发时,考虑到不同平台的受众群体不同,会设计不同的专有功能,例如在未成年人为主要受众群体的平台,通常会增加防沉迷提醒功能。为使得待迁移小程序能够满足待第二平台的特定功能需求,本实施例中还将标准转换文件转换为平台转换文件。具体的,根据平台转换规则确定待迁移小程序与目标小程序中的通用功能,例如对于迁移前后的射击程序来说都存在商店功能及瞄准功能。将标准转换文件中用于实现这些通用功能的组件作为保留组件,对保留组件不做进一步转换。而将剩余组件划分为待转换组件,根据平台转换规则进行进一步转换。
在一个具体实施例中,根据替换规则对待转换组件进行替换处理。其中,对属于同一功能类别,但功能组件在第二平台时与在第二平台时所实现的具体功能并不匹配的,这些功能组件为需要进行替换处理的待转换组件。例如,用户在分别登录第二平台与第二平台的程序商店时,在背景、商品类型及商品数量上存在差异时,商店功能组件即为需要进行替换处理的待转换组件,将存在差异的代码段替换为符合在第二平台上的原始功能的代码段。
此外,根据升级规则对待转换组件进行升级处理。其中,对属于同一功能类别,但功能组件在第二平台支持时所实现的具体功能并不能满足在第二平台时的专有功能的,这些功能组件为需要进行升级处理的待转换组件。例如在第二平台中的功能组件能进行程序时长提醒,但在第二平台中时这部分功能组件并不能实现防沉迷提醒及防沉迷限制。将存在功能差异化的代码段升级为符合在第二平台上的专有功能的代码段。
各平台转换规则可以存储在电子设备本地或与电子设备所关联的其他存储设备;相应的,在需要时从电子设备本地或与电子设备关联的其他存储设备中,查找获取与待发布平台对应的平台转换规则。
步骤108,获取开发者工具,根据开发者工具及平台转换文件生成在第二平台的目标小程序。
具体的,开发者工具用于获取待迁移小程序的原始文件名称和原始目录路径,而平台转换文件中记录了目标小程序的发布文件名称和发布目录路径。在实际应用中,还可以向用户提供小程序的转换界面,以供用户在小程序转换界面上选择或校正小程序的原始文件名称、原始目录路径、发布文件名称和发布目录路径。为减少开发人员的调试工作,应确保原始文件名称与发布文件名称一致,且原始目录路径与发布目录路径一致。
开发者工具对平台转换文件进行编译,生成编译文件,从而将汇编语言文件转化为计算机可识别的二进制语言可执行文件。然后开发者工具会对编译文件进行打包,并将打包的文件输出至目标小程序的发布目录路径下,以生成目标小程序,并将目标小程序在待发布平台进行发布,以供用户使用。
进一步的,为实现在不同平台之间的同步更新,当在第二平台发生更新时,获取待迁移小程序的源程序文件中包含的全局变量,如请求方法变量(Request)、存储方法变量(Storage)等。根据该全局变量重新定义目标小程序的平台转换文件中的变量,使其兼容第二平台的环境,从而实现在更新第二平台的小程序的同时一并更新其他第二平台的目标小程序。
上述小程序跨平台迁移方法,根据获取的默认转换规则对源程序文件中的代码进行转换,以得到待迁移小程序的标准转换文件,使待迁移小程序的默认内容能满足第二平台。根据第二平台的平台转换规则对标准转换文件进行进一步转换,以满第二平台特定的专有功能。最后通过开发者工具来完成目标小程序的生成及发布。本发明无需针对不同的第二平台进行小程序代码的重新开发,抹平了小程序在不同平台之间的差异性,提高了小程序的迁移效率。
在一个实施例中,如图2所示,提出了一种小程序跨平台迁移装置,该装置包括:
获取模块202,用于获取待迁移小程序在第一平台的源程序文件及默认转换规则;
标准转换模块204,用于根据默认转换规则对源程序文件中的代码进行转换,得到待迁移小程序的标准转换文件;
平台转换模块206,用于获取第二平台的平台转换规则,根据平台转换规则将标准转换文件中的组件划分为待转换组件及保留组件,根据平台转换规则对待转换组件进行转换,得到待迁移小程序的平台转换文件;
程序生成模块208,用于获取开发者工具,根据开发者工具及平台转换文件生成在第二平台的目标小程序。
上述小程序跨平台迁移装置,根据获取的默认转换规则对源程序文件中的代码进行转换,以得到待迁移小程序的标准转换文件,使待迁移小程序的默认内容能满足第二平台。根据第二平台的平台转换规则对标准转换文件进行进一步转换,以满第二平台特定的专有功能。最后通过开发者工具来完成目标小程序的生成及发布。本发明无需针对不同的第二平台进行小程序代码的重新开发,抹平了小程序在不同平台之间的差异性,提高了小程序的迁移效率。
在一个实施例中,标准转换模块204,还具体用于:根据默认语法规则,将初始源码数据转换为标准转换文件的标准源码数据;根据默认接口规则,将初始应用接口转换为标准转换文件的标准应用接口。
在一个实施例中,标准转换模块204,还具体用于:将初始源码数据解析为至少一个树结构的节点树;遍历节点树上的每一个节点,根据默认语法规则对每一个节点进行替换处理,并将替换处理后的节点树输出为标准转换文件的标准源码数据。
在一个实施例中,标准转换模块204,还具体用于::每读取到一个节点的节点源码数据后,根据默认语法规则对节点源码数据进行替换,及对节点源码数据所属的文件夹的文件扩展名进行替换。
在一个实施例中,平台转换模块206,还具体用于:根据平台转换规则确定待迁移小程序中的通用功能,将标准转换文件中用于实现通用功能的组件作为保留组件,将剩余组件划分为待转换组件。
在一个实施例中,平台转换模块206,还具体用于:根据替换规则对待转换组件进行替换处理;或,根据升级规则对待转换组件进行升级处理。
在一个实施例中,小程序跨平台迁移装置还包括更新模块,用于:获取待迁移小程序的源程序文件中包含的全局变量,根据全局变量对目标小程序的平台转换文件进行更新。
图3示出了一个实施例中小程序跨平台迁移设备的内部结构图。如图3所示,该小程序跨平台迁移设备包括通过***总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该小程序跨平台迁移设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现小程序跨平台迁移方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行小程序跨平台迁移方法。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的小程序跨平台迁移设备的限定,具体的小程序跨平台迁移设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种小程序跨平台迁移设备,包括存储器、处理器以及存储在该存储器中并可在该处理器上执行的计算机程序,该处理器执行该计算机程序时实现如下步骤:获取待迁移小程序在第一平台的源程序文件及默认转换规则;根据默认转换规则对源程序文件中的代码进行转换,得到待迁移小程序的标准转换文件;获取第二平台的平台转换规则,根据平台转换规则将标准转换文件中的组件划分为待转换组件及保留组件,根据平台转换规则对待转换组件进行转换,得到待迁移小程序的平台转换文件;获取开发者工具,根据开发者工具及平台转换文件生成在第二平台的目标小程序。
在一个实施例中,根据默认转换规则对源程序文件中的代码进行转换,包括:根据默认语法规则,将初始源码数据转换为标准转换文件的标准源码数据;根据默认接口规则,将初始应用接口转换为标准转换文件的标准应用接口。
在一个实施例中,根据默认语法规则,将初始源码数据转换为标准转换文件的标准源码数据,包括:将初始源码数据解析为至少一个树结构的节点树;遍历节点树上的每一个节点,根据默认语法规则对每一个节点进行替换处理,并将替换处理后的节点树输出为标准转换文件的标准源码数据。
在一个实施例中,根据默认语法规则对每一个节点进行替换处理,包括:每读取到一个节点的节点源码数据后,根据默认语法规则对节点源码数据进行替换,及对节点源码数据所属的文件夹的文件扩展名进行替换。
在一个实施例中,根据平台转换规则将标准转换文件中的组件划分为待转换组件及保留组件,包括:根据平台转换规则确定待迁移小程序中的通用功能,将标准转换文件中用于实现通用功能的组件作为保留组件,将剩余组件划分为待转换组件。
在一个实施例中,平台转换规则包括替换规则及升级规则,根据平台转换规则对待转换组件进行转换,包括:根据替换规则对待转换组件进行替换处理;或,根据升级规则对待转换组件进行升级处理。
在一个实施例中,在根据开发者工具及平台转换文件生成在第二平台的目标小程序之后,还包括:获取待迁移小程序的源程序文件中包含的全局变量,根据全局变量对目标小程序的平台转换文件进行更新。
一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如下步骤:获取待迁移小程序在第一平台的源程序文件及默认转换规则;根据默认转换规则对源程序文件中的代码进行转换,得到待迁移小程序的标准转换文件;获取第二平台的平台转换规则,根据平台转换规则将标准转换文件中的组件划分为待转换组件及保留组件,根据平台转换规则对待转换组件进行转换,得到待迁移小程序的平台转换文件;获取开发者工具,根据开发者工具及平台转换文件生成在第二平台的目标小程序。
在一个实施例中,根据默认转换规则对源程序文件中的代码进行转换,包括:根据默认语法规则,将初始源码数据转换为标准转换文件的标准源码数据;根据默认接口规则,将初始应用接口转换为标准转换文件的标准应用接口。
在一个实施例中,根据默认语法规则,将初始源码数据转换为标准转换文件的标准源码数据,包括:将初始源码数据解析为至少一个树结构的节点树;遍历节点树上的每一个节点,根据默认语法规则对每一个节点进行替换处理,并将替换处理后的节点树输出为标准转换文件的标准源码数据。
在一个实施例中,根据默认语法规则对每一个节点进行替换处理,包括:每读取到一个节点的节点源码数据后,根据默认语法规则对节点源码数据进行替换,及对节点源码数据所属的文件夹的文件扩展名进行替换。
在一个实施例中,根据平台转换规则将标准转换文件中的组件划分为待转换组件及保留组件,包括:根据平台转换规则确定待迁移小程序中的通用功能,将标准转换文件中用于实现通用功能的组件作为保留组件,将剩余组件划分为待转换组件。
在一个实施例中,平台转换规则包括替换规则及升级规则,根据平台转换规则对待转换组件进行转换,包括:根据替换规则对待转换组件进行替换处理;或,根据升级规则对待转换组件进行升级处理。
在一个实施例中,在根据开发者工具及平台转换文件生成在第二平台的目标小程序之后,还包括:获取待迁移小程序的源程序文件中包含的全局变量,根据全局变量对目标小程序的平台转换文件进行更新。
需要说明的是,上述小程序跨平台迁移方法、装置、设备及计算机可读存储介质属于一个总的发明构思,小程序跨平台迁移方法、装置、设备及计算机可读存储介质实施例中的内容可相互适用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种小程序跨平台迁移方法,其特征在于,所述方法包括:
获取待迁移小程序在第一平台的源程序文件及默认转换规则;
根据所述默认转换规则对所述源程序文件中的代码进行转换,得到所述待迁移小程序的标准转换文件;
获取第二平台的平台转换规则,根据所述平台转换规则将所述标准转换文件中的组件划分为待转换组件及保留组件,根据所述平台转换规则对所述待转换组件进行转换,得到所述待迁移小程序的平台转换文件;
获取开发者工具,根据所述开发者工具及所述平台转换文件生成在所述第二平台的目标小程序。
2.根据权利要求1所述的方法,其特征在于,所述源程序文件包括初始源码数据及初始应用接口,所述默认转换规则包括默认语法规则及默认接口规则;
所述根据所述默认转换规则对所述源程序文件中的代码进行转换,包括:
根据所述默认语法规则,将所述初始源码数据转换为所述标准转换文件的标准源码数据;
根据所述默认接口规则,将所述初始应用接口转换为所述标准转换文件的标准应用接口。
3.根据权利要求2所述的方法,其特征在于,所述根据所述默认语法规则,将所述初始源码数据转换为所述标准转换文件的标准源码数据,包括:
将所述初始源码数据解析为至少一个树结构的节点树;
遍历所述至少一个节点树上的每一个节点,根据所述默认语法规则对所述每一个节点进行替换处理,并将替换处理后的节点树输出为所述标准转换文件的标准源码数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述默认语法规则对所述每一个节点进行替换处理,包括:
每读取到一个节点的节点源码数据后,根据所述默认语法规则对所述节点源码数据进行替换,及对所述节点源码数据所属的文件夹的文件扩展名进行替换。
5.根据权利要求1所述的方法,其特征在于,所述根据所述平台转换规则将所述标准转换文件中的组件划分为待转换组件及保留组件,包括:
根据所述平台转换规则确定所述待迁移小程序中的通用功能,将所述标准转换文件中用于实现所述通用功能的组件作为所述保留组件,将剩余组件划分为所述待转换组件。
6.根据权利要求1所述的方法,其特征在于,所述平台转换规则包括替换规则及升级规则,所述根据所述平台转换规则对所述待转换组件进行转换,包括:
根据替换规则对所述待转换组件进行替换处理;或,
根据升级规则对所述待转换组件进行升级处理。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述开发者工具及所述平台转换文件生成在所述第二平台的目标小程序之后,还包括:
获取所述待迁移小程序的源程序文件中包含的全局变量,根据所述全局变量对所述目标小程序的平台转换文件进行更新。
8.一种小程序跨平台迁移装置,其特征在于,所述装置包括:
获取模块,用于获取待迁移小程序在第一平台的源程序文件及默认转换规则;
标准转换模块,用于根据所述默认转换规则对所述源程序文件中的代码进行转换,得到所述待迁移小程序的标准转换文件;
平台转换模块,用于获取第二平台的平台转换规则,根据所述平台转换规则将所述标准转换文件中的组件划分为待转换组件及保留组件,根据所述平台转换规则对所述待转换组件进行转换,得到所述待迁移小程序的平台转换文件;
程序生成模块,用于获取开发者工具,根据所述开发者工具及所述平台转换文件生成在所述第二平台的目标小程序。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种小程序跨平台迁移设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547875.5A CN112527415A (zh) | 2020-12-23 | 2020-12-23 | 小程序跨平台迁移方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547875.5A CN112527415A (zh) | 2020-12-23 | 2020-12-23 | 小程序跨平台迁移方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527415A true CN112527415A (zh) | 2021-03-19 |
Family
ID=74976672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011547875.5A Pending CN112527415A (zh) | 2020-12-23 | 2020-12-23 | 小程序跨平台迁移方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527415A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312055A (zh) * | 2021-05-28 | 2021-08-27 | 支付宝(杭州)信息技术有限公司 | 一种小程序投放方法、装置以及设备 |
CN113448619A (zh) * | 2021-06-29 | 2021-09-28 | 上海达梦数据库有限公司 | 跨平台程序的实现方法、装置、计算机设备及存储介质 |
CN113672224A (zh) * | 2021-08-20 | 2021-11-19 | 上海哔哩哔哩科技有限公司 | 小程序页面代码生成方法、装置及计算机设备 |
CN113778445A (zh) * | 2021-09-15 | 2021-12-10 | 树根互联股份有限公司 | 一种跨平台组件生成方法、装置、电子设备及存储介质 |
CN114185551A (zh) * | 2022-02-17 | 2022-03-15 | 浙江口碑网络技术有限公司 | 小程序的编译方法、小程序的运行方法及装置、存储介质 |
CN114610385A (zh) * | 2022-03-16 | 2022-06-10 | 山东福生佳信科技股份有限公司 | 一种运行环境适配***及方法 |
WO2024011825A1 (zh) * | 2022-07-14 | 2024-01-18 | ***股份有限公司 | 第三方app中引入小程序的***、方法、装置及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968325A (zh) * | 2019-10-28 | 2020-04-07 | 苏宁云计算有限公司 | 一种小程序转换方法及装置 |
CN111381825A (zh) * | 2020-03-06 | 2020-07-07 | 北京五八信息技术有限公司 | 一种小程序的生成方法和装置 |
CN111610978A (zh) * | 2020-05-19 | 2020-09-01 | 中国建设银行股份有限公司 | 一种小程序转换方法、装置、设备及存储介质 |
CN111796829A (zh) * | 2020-05-19 | 2020-10-20 | 北京三快在线科技有限公司 | 小程序更新方法、装置、电子设备及计算机可读存储介质 |
-
2020
- 2020-12-23 CN CN202011547875.5A patent/CN112527415A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968325A (zh) * | 2019-10-28 | 2020-04-07 | 苏宁云计算有限公司 | 一种小程序转换方法及装置 |
CN111381825A (zh) * | 2020-03-06 | 2020-07-07 | 北京五八信息技术有限公司 | 一种小程序的生成方法和装置 |
CN111610978A (zh) * | 2020-05-19 | 2020-09-01 | 中国建设银行股份有限公司 | 一种小程序转换方法、装置、设备及存储介质 |
CN111796829A (zh) * | 2020-05-19 | 2020-10-20 | 北京三快在线科技有限公司 | 小程序更新方法、装置、电子设备及计算机可读存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312055A (zh) * | 2021-05-28 | 2021-08-27 | 支付宝(杭州)信息技术有限公司 | 一种小程序投放方法、装置以及设备 |
CN113312055B (zh) * | 2021-05-28 | 2023-02-24 | 支付宝(中国)网络技术有限公司 | 一种小程序投放方法、装置以及设备 |
CN113448619A (zh) * | 2021-06-29 | 2021-09-28 | 上海达梦数据库有限公司 | 跨平台程序的实现方法、装置、计算机设备及存储介质 |
CN113672224A (zh) * | 2021-08-20 | 2021-11-19 | 上海哔哩哔哩科技有限公司 | 小程序页面代码生成方法、装置及计算机设备 |
CN113778445A (zh) * | 2021-09-15 | 2021-12-10 | 树根互联股份有限公司 | 一种跨平台组件生成方法、装置、电子设备及存储介质 |
CN114185551A (zh) * | 2022-02-17 | 2022-03-15 | 浙江口碑网络技术有限公司 | 小程序的编译方法、小程序的运行方法及装置、存储介质 |
CN114610385A (zh) * | 2022-03-16 | 2022-06-10 | 山东福生佳信科技股份有限公司 | 一种运行环境适配***及方法 |
CN114610385B (zh) * | 2022-03-16 | 2023-05-09 | 山东福生佳信科技股份有限公司 | 一种运行环境适配***及方法 |
WO2024011825A1 (zh) * | 2022-07-14 | 2024-01-18 | ***股份有限公司 | 第三方app中引入小程序的***、方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527415A (zh) | 小程序跨平台迁移方法、装置、设备和介质 | |
CN109032662B (zh) | 代码文件生成方法、装置、计算机设备和存储介质 | |
CN111679965A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN112394942B (zh) | 基于云计算的分布式软件开发编译方法及软件开发平台 | |
CN111176717B (zh) | 生成安装包的方法、装置及电子设备 | |
CN109032631B (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN109597618B (zh) | 程序开发方法、装置、计算机设备及存储介质 | |
CN111610978A (zh) | 一种小程序转换方法、装置、设备及存储介质 | |
CN111880777A (zh) | 程序信息下发方法、装置、电子设备 | |
CN113672224A (zh) | 小程序页面代码生成方法、装置及计算机设备 | |
CN110362792B (zh) | 将rn文件转换为小程序文件的方法、装置及转换设备 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN113515303B (zh) | 一种项目转型方法、装置和设备 | |
CN114064114A (zh) | 一种动态库生成方法及装置 | |
US9244706B2 (en) | Command line shell command generation based on schema | |
CN111367512B (zh) | 一种应用程序开发中创建Android库模块依赖关系的方法及装置 | |
CN114611714B (zh) | 模型处理方法、装置、***、电子设备及存储介质 | |
CN114398912A (zh) | 语言处理方法、装置、设备及存储介质 | |
CN115098158A (zh) | Sdk打包方法和装置、计算机设备及存储介质 | |
CN111143790B (zh) | 代码混淆方法、装置、设备及存储介质 | |
CN115048082A (zh) | 微前端***构建方法、装置、服务器及可读存储介质 | |
JP7059757B2 (ja) | Api処理方法、端末、api処理プログラム | |
CN113608748A (zh) | C语言转换Java语言的数据处理方法、装置及设备 | |
CN114253595A (zh) | 代码仓库管理方法、装置、计算机设备及存储介质 | |
CN115543486B (zh) | 面向无服务器计算的冷启动延迟优化方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210319 |
|
RJ01 | Rejection of invention patent application after publication |