一种微信小程序打包平台、方法、设备及存储介质技术

技术编号:32854156 阅读:11 留言:0更新日期:2022-03-30 19:21
本申请涉及计算机软件领域,尤其是涉及一种微信小程序打包平台、方法、设备及存储介质,其中平台包括服务系统和文件系统;服务系统用于获取第一信息并生成微信小程序的预编译代码;文件系统用于供服务系统调用;服务系统包括接收模块、Diff信息生成模块、Diff信息处理模块以及编译模块;文件系统包括微信开发者工具;接收模块用于接收第一信息;Diff信息生成模块用于处理第一信息并生成Diff信息;Diff信息处理模块用于处理Diff信息并生成待编译信息;编译模块用于处理待编译信息并生成预编译代码;微信开发者工具用于编译出微信小程序的代码包,实现微信小程序的打包。本申请具有便于提升微信小程序的打包效率的效果。于提升微信小程序的打包效率的效果。于提升微信小程序的打包效率的效果。

【技术实现步骤摘要】
一种微信小程序打包平台、方法、设备及存储介质


[0001]本申请涉及计算机软件领域,尤其是涉及一种微信小程序打包平台、方法、设备及存储介质。

技术介绍

[0002]微信小程序是微信体系内的一种新的开放能力,开发者可以使用微信开发者工具快速地开发一个微信小程序并打包出相应的微信小程序代码包。
[0003]目前主要的微信小程序打包方法为开发人员本地打包方式:先通过网络I/O技术使客户端从服务系统获取微信小程序需更新的代码信息,然后主要依靠于本地的电脑配置对微信小程序进行打包。
[0004]在实现本申请的过程中,专利技术人发现上述技术至少存在以下问题:使用开发人员本地打包方式,一方面由于网络I/O技术会产生较高的网络时延,另一方面由于在进行微信小程序的打包过程中需要占用本地电脑极高的CPU资源,导致打包过程中开发者难以进行其他的微信小程序打包操作,故而会比较影响微信小程序的打包效率,可见,现有技术中的微信小程序的打包效率较低。

技术实现思路

[0005]为了便于提升微信小程序的打包效率,本申请提供一种微信小程序打包平台、方法、设备及存储介质。
[0006]第一方面,本申请提供一种微信小程序打包平台,采用如下的技术方案:一种微信小程序打包平台,包括服务系统和文件系统;所述服务系统用于获取第一信息并依据所述第一信息生成所述微信小程序的预编译代码;所述文件系统用于供所述服务系统调用;所述服务系统包括接收模块、Diff信息生成模块、Diff信息处理模块以及编译模块;所述文件系统包括微信开发者工具;所述接收模块用于接收所述第一信息;所述Diff信息生成模块用于处理所述第一信息并生成相应的Diff信息;所述Diff信息处理模块用于处理所述Diff信息并生成相应的待编译信息;所述编译模块用于处理所述待编译信息并生成所述预编译代码;所述微信开发者工具用于调试所述预编译代码并编译出所述微信小程序的代码包,实现所述微信小程序的打包。
[0007]通过采用上述技术方案,可使微信小程序打包的主要过程由服务系统及文件系统完成,这样不仅消除了网络I/O技术带来的网络时延,由于打包过程主要由服务系统及文件系统完成,则打包过程不会占用过多的客户端的CPU资源,从而可使用户能够使用客户端进
行其他的微信小程序打包操作,如此便于提升微信小程序的打包效率。
[0008]优选的,所述文件系统还包括用户空间和代码空间;所述用户空间用于分别独立存储每个用户开发的所述微信小程序的第一分支代码,以及与所述第一分支代码对应的第一Hash表文件,所述用户空间还用于存储所述Diff信息以及所述预编译代码;所述代码空间用于存储重新编译的且与所述第一分支代码对应的第二分支代码,以及与所述第二分支代码对应的第二Hash表文件。
[0009]通过采用上述技术方案,每个用户开发的微信小程序的分支代码,以及与分支代码对应的第一Hash表文件均可以在用户空间内进行独立的存储,便于使不同的微信小程序进行同步打包操作而不会存在相互覆盖的问题,从而便于提升微信小程序的打包效率。
[0010]另外,微信小程序打包完成后进一步会上线投入使用,后续随着微信小程序版本的更新,势必会对之前版本的微信小程序的某些分支代码进行改进,改进时需要比较改进后的分支代码和改进前的分支代码的异同,如果将改进后的分支代码和改进前的分支代码进行逐行的比对需要消耗大量的时间,为了加快比较两者异同的过程,可通过用户空间为改进前的分支代码对应一个第一Hash表文件,并通过代码空间为改进后的分支代码对应一个第二Hash表文件,由于仅仅是比较两个第一Hash表文件和第二Hash表文件的异同速度较快,从而可以更加快速比较改进后的分支代码和改进前的分支代码的异同,进而便于提升微信小程序的打包效率。
[0011]优选的,所述服务系统还包括定时任务模块,所述文件系统还包括Git仓库;所述Git仓库用于存储微信小程序各版本的分支代码;所述定时任务模块用于每隔预设的更新时间间隔判断所述第二分支代码相较于所述第一分支代码在预设的时间范围内是否有更新,若有更新,则将所述第一分支代码更新为所述第二分支代码。
[0012]通过采用上述技术方案,首先使用定时任务模块每隔预设的更新时间间隔判断预设的时间阈值内Git仓库中的第二分支代码相较于所述用户空间中的第一分支代码是否有更新,然后将所有的有更新的第一分支代码更新为对应的第二分支代码,这样便于保证用户空间中的第一分支代码可以得到及时有效的更新,从而便于提升微信小程序打包的效率。
[0013]优选的,所述服务系统还包括WebHooks模块;所述WebHooks模块的工作模式为触发式,触发条件为所述Git仓库中写入所述第二分支代码;所述WebHooks模块用于受到触发后通知所述微信小程序打包平台将所述第一分支代码更新为所述第二分支代码。
[0014]通过采用上述技术方案,一旦用户向Git仓库更新微信小程序分支的代码可以立刻触发WebHooks模块,从而使WebHooks模块及时将第一分支代码更新为第二分支代码,这样可以使用户空间中的第一分支代码得到及时有效的更新,从而便于提升微信小程序打包的效率。
[0015]第二方面,本申请提供一种微信小程序打包方法,采用如下的技术方案:一种微信小程序打包方法,包括:
获取需进行打包的第一信息;对所述第一信息进行处理,生成Diff信息;对所述Diff信息进行处理,生成待编译信息;对所述待编译信息进行处理,生成预编译代码;对所述预编译代码进行调试,生成所述微信小程序的代码包,实现所述微信小程序的打包。
[0016]通过采用上述技术方案,可使微信小程序打包的主要过程由服务系统及文件系统完成,这样不仅消除了网络I/O技术带来的网络时延,由于打包过程主要由服务系统及文件系统完成,则打包过程不会占用过多的客户端的CPU资源,从而可使用户能够使用客户端进行其他的微信小程序打包操作,如此便于提升微信小程序的打包效率。
[0017]优选的,所述第一信息包括第一Hash表文件和第二Hash表文件;所述对所述第一信息进行处理,生成Diff信息,包括:获取所述第一Hash表文件和所述第二Hash表文件;比较所述第一Hash表文件和所述第二Hash表文件,得到所述Diff信息。
[0018]通过采用上述技术方案,由于第一Hash表文件和第二Hash表文件易于比较异同,所以通过比较第一Hash表文件和第二Hash表文件异同的方式便于快速找出第一分支代码和第二分支代码的差异,得到相应的Diff信息,从而便于提升微信小程序的打包效率。
[0019]优选的,所述Diff信息包括所述第一Hash表文件和所述第二Hash表文件需要编译的文件名及其编译类型;所述对所述Diff信息进行处理,生成待编译信息,包括:获取所述Diff信息;对所述Diff信息进行处理,生成待编译信息。
[0020]通过采用上述技术方案,通过对第一Hash表文件和第二Hash表文件进行处理的方式生成待编译信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微信小程序打包平台,其特征在于:包括服务系统(200)和文件系统(300);所述服务系统(200)用于获取第一信息并依据所述第一信息生成所述微信小程序的预编译代码;所述文件系统(300)用于供所述服务系统(200)调用;所述服务系统(200)包括接收模块(203)、Diff信息生成模块(204)、Diff信息处理模块(205)以及编译模块(206);所述文件系统(300)包括微信开发者工具(330);所述接收模块(203)用于接收所述第一信息;所述Diff信息生成模块(204)用于处理所述第一信息并生成相应的Diff信息;所述Diff信息处理模块(205)用于处理所述Diff信息并生成相应的待编译信息;所述编译模块(206)用于处理所述待编译信息并生成所述预编译代码;所述微信开发者工具(330)用于调试所述预编译代码并编译出所述微信小程序的代码包,实现所述微信小程序的打包。2.根据权利要求1所述的一种微信小程序打包平台,其特征在于:所述文件系统(300)还包括用户空间(311)和代码空间(312);所述用户空间(311)用于分别独立存储每个用户开发的所述微信小程序的第一分支代码,以及与所述第一分支代码对应的第一Hash表文件,所述用户空间(311)还用于存储所述Diff信息以及所述预编译代码;所述代码空间(312)用于存储重新编译的且与所述第一分支代码对应的第二分支代码,以及与所述第二分支代码对应的第二Hash表文件。3.根据权利要求2所述的一种微信小程序打包平台,其特征在于:所述服务系统(200)还包括定时任务模块(201),所述文件系统(300)还包括Git仓库(310);所述Git仓库(310)用于存储微信小程序各版本的分支代码;所述定时任务模块(201)用于每隔预设的更新时间间隔判断所述第二分支代码相较于所述第一分支代码在预设的时间范围内是否有更新,若有更新,则将所述第一分支代码更新为所述第二分支代码。4.根据权利要求3所述的一种微...

【专利技术属性】
技术研发人员:曹悦
申请(专利权)人:同程网络科技股份有限公司
类型:发明
国别省市:

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

1