CN113821252B - 小程序的构建方法、装置、终端设备以及存储介质 - Google Patents
小程序的构建方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN113821252B CN113821252B CN202111125392.0A CN202111125392A CN113821252B CN 113821252 B CN113821252 B CN 113821252B CN 202111125392 A CN202111125392 A CN 202111125392A CN 113821252 B CN113821252 B CN 113821252B
- Authority
- CN
- China
- Prior art keywords
- sub
- configuration file
- page
- pages
- package
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000004806 packaging method and process Methods 0.000 claims abstract description 51
- 238000012546 transfer Methods 0.000 claims abstract description 36
- 238000012216 screening Methods 0.000 claims abstract description 23
- 238000010276 construction Methods 0.000 claims description 17
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000012858 packaging process Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 244000205754 Colocasia esculenta Species 0.000 description 2
- 235000006481 Colocasia esculenta Nutrition 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种小程序的构建方法,用于终端设备,包括:获取初始配置文件和多个页面;在所述多个页面中筛选出可进行分包的分包页面;利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件;利用所述分包页面对所述多个页面进行拆分,获得主包和分包;利用所述多个页面中各页面的原始逻辑关系,构建中转页;利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序。本发明还公开一种小程序的构建装置、终端设备以及计算机可读存储介质。利用本发明的方法,不需要技术人员手动进行分包操作,从而避免了分包过程出现操作失误,使得分包准确率较高,从而实现了目标小程序的正常发布。
Description
技术领域
本发明涉及小程序编辑技术领域,特别涉及一种小程序的构建方法、装置、终端设备以及计算机可读存储介质。
背景技术
基于移动终端的app的特性,移动终端的app小程序的一个包的体积不能超过固定数值,例如,微信小程序不能大于2M。这使得app小程序在产品功能不断完善过程中,小程序的一个包的体积经常超过限制大小,导致小程序无法正常发布。
目前,app都具有分包机制,需要技术人员手动对通小程序的包进行分包操作,以降低包的体积,从而实现大体积的app小程序的正常发布。
但是,采用现有的分包方法,分包准确率较低,导致大体积的app小程序的难以正常发布。
发明内容
本发明的主要目的是提供一种小程序的构建方法、装置、终端设备以及计算机可读存储介质,旨在解决现有技术中采用现有的分包方法,分包准确率较低,导致大体积的app小程序的难以正常发布的技术问题。
为实现上述目的,本发明提出一种小程序的构建方法,用于终端设备,所述方法包括以下步骤:
获取用于构建目标小程序的初始配置文件和源页面,所述源页面包括多个页面;
在所述多个页面中筛选出可进行分包的分包页面;
利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件;
利用所述分包页面对所述多个页面进行拆分,获得主包和分包;
利用所述多个页面中各页面的原始逻辑关系,构建中转页,所述中转页用于连接所述主包中各页面与所述分包中各页面;
利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序。
可选的,所述获取用于构建目标小程序的初始配置文件和源页面的步骤之前,所述方法还包括:
基于接收到的启动服务指令,输出询问信息;
接收针对所述询问信息发送的环境变量;
确定与所述环境变量对应的所述初始配置文件和所述源页面。
可选的,所述在所述多个页面中筛选出可进行分包的分包页面的步骤之前,所述方法还包括:
生成临时目录;
将所述多个页面和所述初始配置文件存储于所述临时目录;
在所述临时目录中读取所述初始配置文件,所述初始配置文件为第一预设格式的文件;
将读取到的所述初始配置文件转换为第二预设格式的中间配置文件;
所述在所述多个页面中筛选出可进行分包的分包页面的步骤,包括:
利用所述中间配置文件,读取所述多个页面;
从读取的所述多个页面中筛选出可进行分包的分包页面;
所述利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件的步骤,包括:
利用所述分包页面,对所述中间配置文件进行调整,获得结果配置文件。
可选的,所述利用所述分包页面,对所述中间配置文件进行调整,获得结果配置文件的步骤,包括:
利用所述分包页面,对所述中间配置文件进行分包配置操作和分包预加载配置操作,获得初始结果配置文件;
将所述初始结果配置文件的文件格式还原为所述第一预设格式,获得所述结果配置文件。
可选的,所述利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序的步骤之前,所述方法还包括:
将所述中转页添加到所述主包中,获得新的主包;
所述利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序的步骤,包括:
利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序。
可选的,所述利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序的步骤之后,所述方法还包括:
将构建成功的所述目标小程序迁移到目标目录下;
利用第二预设工具,对所述临时目录进行清理操作。
可选的,所述利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序的步骤之后,所述方法还包括:
获取所述目标小程序的目标版本号、预设安全值和时间戳;
利用所述目标版本号、所述预设安全值和所述时间戳,生成结果版本号;
获取所述目标小程序的配置信息;
利用所述结果版本号和所述配置信息,生成环境标识信息;
对所述环境标识信息进行运算,获得结果标识信息;
利用所述结果版本号和所述环境变量,生成展示信息;
输出所述展示信息和所述结果标识信息。
此外,为实现上述目的,本发明还提出了一种小程序的构建装置,用于终端设备,所述装置包括:
获取模块,用于获取用于构建目标小程序的初始配置文件和源页面,所述源页面包括多个页面;
筛选模块,用于在所述多个页面中筛选出可进行分包的分包页面;
调整模块,用于利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件;
拆分模块,用于利用所述分包页面对所述多个页面进行拆分,获得主包和分包;
页面构建模块,用于利用所述多个页面中各页面的原始逻辑关系,构建中转页,所述中转页用于连接所述主包中各页面与所述分包中各页面;
程序构建模块,用于利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序。
此外,为实现上述目的,本发明还提出了一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行小程序的构建程序,所述小程序的构建程序被所述处理器执行时实现如上述任一项所述的小程序的构建方法的步骤。
此外,为实现上述目的,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有小程序的构建程序,所述小程序的构建程序被处理器执行时实现如上述任一项所述的小程序的构建方法的步骤。
本发明技术方案提出了、一种小程序的构建方法,获取用于构建目标小程序的初始配置文件和源页面,所述源页面包括多个页面;在所述多个页面中筛选出可进行分包的分包页面;利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件;利用所述分包页面对所述多个页面进行拆分,获得主包和分包;利用所述多个页面中各页面的原始逻辑关系,构建中转页,所述中转页用于连接所述主包中各页面与所述分包中各页面;利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序。
现有的分包方法,技术人员手动进行分包操作,手动分包过程中容易出现操作失误,从而分包准确率较低,导致目标小程序的难以正常发布。利用本发明的方法,终端设备自动进行分包操作,不需要技术人员手动进行分包操作,从而避免了分包过程出现操作失误,使得分包准确率较高,从而实现了目标小程序的正常发布。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;
图2为本发明小程序的构建方法第一实施例的流程示意图;
图3为本发明小程序的构建装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。
通常,终端设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的小程序的构建程序,所述小程序的构建程序配置为实现如前所述的小程序的构建方法的步骤。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关小程序的构建方法操作,使得小程序的构建方法模型可以自主训练学习,提高效率和准确度。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的小程序的构建方法。
在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。
通信接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有小程序的构建程序,所述小程序的构建程序被处理器执行时实现如上文所述的小程序的构建方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个终端设备上执行,或者在位于一个地点的多个终端设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端设备备上执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
基于上述硬件结构,提出本发明小程序的构建方法的实施例。
参照图2,图2为本发明小程序的构建方法第一实施例的流程示意图,所述方法用于终端设备,所述方法包括以下步骤:
步骤S11:获取用于构建目标小程序的初始配置文件和源页面,所述源页面包括多个页面。
需要说明的是,本发明的执行主体是终端设备,终端设备安装有小程序的构建程序,终端设备执行小程序的构建程序时,实现本发明的小程序的构建方法的步骤。
在本发明中,目标小程序即是待进行构建的小程序,目标小程序通常专门指的是针对于移动端微信app的小程序,用户可以基于需求按照本发明的方法,对其他app的小程序进行构建,此处以微信app对应的目标小程序的构建为例进行解释。
用于构建目标小程序的配置文件即为所述初始配置文件,用于构建目标小程序的页面即为所述源页面,源页面通常包括多个页面,每个页面均是由代码构成的,本发明中的页面均是指页面对应的代码,即源页面是指构建目标小程序的页面源代码集合,源页面中每个页面对应源代码集合中的一个页面源代码。
具体的,通过fs-extra copySync工具获取用于构建目标小程序的初始配置文件和源页面。
进一步的,所述获取用于构建目标小程序的初始配置文件和源页面的步骤之前,所述方法还包括:基于接收到的启动服务指令,输出询问信息;接收针对所述询问信息发送的环境变量;确定与所述环境变量对应的所述初始配置文件和所述源页面。
用户可以通过发送启动服务指令(例如sheel启动指令),启动node服务,然后终端设备会基于启动的node服务,输出询问信息(可以是基于inquiry工具输出询问信息),然后,用户基于输出的询问信息,发送环境变量env,终端设备基于具体的环境变量,确定出用于构建目标小程序的,且与所述环境变量对应的所述初始配置文件和所述源页面。
在具体应用中,可以设置多种测试环境、发布环境和生产环境,不同的环境对应不同的环境变量,通过发送环境变量,确定出对应的环境,然后在对应的环境中,实现目标小程序的构建。
步骤S12:在所述多个页面中筛选出可进行分包的分包页面。
步骤S13:利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件。
具体应用中,需要在多个页面中筛选出可进行分包的分包页面,将分包页面作为分包中的数据,从而将小程序的包分为主包和分包,使得主包和分包的容量均不超过设定的最大值。
进一步的,所述在所述多个页面中筛选出可进行分包的分包页面的步骤之前,所述方法还包括:生成临时目录;将所述多个页面和所述初始配置文件存储于所述临时目录;在所述临时目录中读取所述初始配置文件,所述初始配置文件为第一预设格式的文件;将读取到的所述初始配置文件转换为第二预设格式的中间配置文件;相应的,所述在所述多个页面中筛选出可进行分包的分包页面的步骤,包括:利用所述中间配置文件,读取所述多个页面;从读取的所述多个页面中筛选出可进行分包的分包页面;相应的,所述利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件的步骤,包括:利用所述分包页面,对所述中间配置文件进行调整,获得结果配置文件。
其中,所述利用所述分包页面,对所述中间配置文件进行调整,获得结果配置文件的步骤,包括:利用所述分包页面,对所述中间配置文件进行分包配置操作和分包预加载配置操作,获得初始结果配置文件;将所述初始结果配置文件的文件格式还原为所述第一预设格式,获得所述结果配置文件。
即,在实际过程中,需要构建一个临时目录,将所述多个页面和所述初始配置文件存储于所述临时目录,避免在分包过程对所述多个页面对应的代码的变动造成源代码污染。通过fs-extra copySync工具将所述多个页面和所述初始配置文件存储于所述临时目录,临时目录可以是/_app。然后,继续在构建的临时目录中读取所述初始配置文件app.config.ts(ts即为所述第一预设格式),然后将所述初始配置文件转换为json(所述第二预设格式)的中间配置文件,中间配置文件为纯json格式。
然后,通过读取纯json格式的配置文件,获取到临时目录下的多个页面,然后过滤到多个页面中不能分包的页面,筛选出可以进行分包的分包页面。其中,不可分包的页面包括tabbar页和小程序配置的特定通用页等。此时,还可以基于可以进行分包的分包页面,获得分包清单,分包清单即是用于描述分包页面的列表单,该列表单包括分包页面对应的分包页面标识信息。
之后,基于分包清单中分包页面标识信息,对中间配置文件注入分包配置subpackage和分包预加载配置,获得一个初始结果配置文件,该文件还是json格式,然后利用fs-extra outputFileSync工具,将初始结果配置文件转换为第一预设格式(ts)的配置文件,该转换后的ts格式的配置文件即为所述结果配置文件。
步骤S14:利用所述分包页面对所述多个页面进行拆分,获得主包和分包。
可以利用所述分包页面对应的分包清单中的分包页面标识信息,将多个页面中可进行分包的分包页面移除,剩下的页面即为不可分包页面,将不可分包页面作为主包,然后将分包页面作为分包,然后将包括分包页面的分包转到spages目录下。
步骤S15:利用所述多个页面中各页面的原始逻辑关系,构建中转页,所述中转页用于连接所述主包中各页面与所述分包中各页面。
需要根据源页面中多个页面中各页面的原始逻辑关系(原始逻辑关系即是多个页面中各个页面的连接和跳转关系),构建主包中各页面与所述分包中各页面的连接关系,该链关系即是所述中转页,中转页用于实现主包中的页面到分包中的页面的连接与跳转。可以是利用ejs模板生成最小化的中转页。
步骤S15:利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序。
在获得所述结果配置文件、所述主包、所述分包和所述中转页之后,即可构建出目标小程序,此时的主包和分包均不会超过设定最大值,从而实现了有效分包。
具体的,所述利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序的步骤之前,所述方法还包括:将所述中转页添加到所述主包中,获得新的主包;相应的,所述利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序的步骤,包括:利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序。
将中转页是在主包中的,中转页可以通过Taro.redirectTo工具跳转到分包中的页面。然后,通过Taro build工具,基于利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序。
同时,利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序的步骤之后,所述方法还包括:将构建成功的所述目标小程序迁移到目标目录下;利用第二预设工具,对所述临时目录进行清理操作。其中,目标目录可以是/dist,换而言之,即是将/_app/dist目录迁移到到/dist。
进一步的,利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序的步骤之后,所述方法还包括:获取所述目标小程序的目标版本号、预设安全值和时间戳;利用所述目标版本号、所述预设安全值和所述时间戳,生成结果版本号;获取所述目标小程序的配置信息;利用所述结果版本号和所述配置信息,生成环境标识信息;对所述环境标识信息进行运算,获得结果标识信息;利用所述结果版本号和所述环境变量,生成展示信息;输出所述展示信息和所述结果标识信息。
具体应用中,可以通过读取package.json文件,得到目标小程序的当前程序版本号—目标版本号;通过git rev-parse HEAD|cut-c 1-8,得到最新git提交的8位sha值—所述预设安全值;通过new Date().getTime().toString(36),生成时间戳转8位的时间字符串——所述时间戳,然后基于上述信息,生成结果版本号:v+版本号+‘_’+git sha值+‘_’+时间字符串。
获取目标小程序的配置信息,配置信息可以包括开启压缩、代码转译等信息,通过miniprogram-ci,利用所述结果版本号和所述配置信息,生成环境标识信息,同时生成环境二维码。
然后,利用fs.readFileSync读取环境二维码,计算二维码md5,并转为base64格式,然后使用curl调用企业微信机器人api,发送结果二维码,用于共享给其他用户;同时,还可以利用curl,调用企业微信机器人api,基于所述结果版本号和所述环境变量,获得一个发送markdown文本——所述展示信息,展示信息可以包括目标小程序的构建环境(利用上文所述的环境变量获得)、目标小程序的结果版本号、目标小程序的构建时间(所述时间戳)、结果二维码过期时间等信息。若构建过程出现异常,则推送异常错误信息。
本发明技术方案提出了、一种小程序的构建方法,获取用于构建目标小程序的初始配置文件和源页面,所述源页面包括多个页面;在所述多个页面中筛选出可进行分包的分包页面;利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件;利用所述分包页面对所述多个页面进行拆分,获得主包和分包;利用所述多个页面中各页面的原始逻辑关系,构建中转页,所述中转页用于连接所述主包中各页面与所述分包中各页面;利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序。
现有的分包方法,技术人员手动进行分包操作,手动分包过程中容易出现操作失误,从而分包准确率较低,导致目标小程序的难以正常发布。利用本发明的方法,终端设备自动进行分包操作,不需要技术人员手动进行分包操作,从而避免了分包过程出现操作失误,使得分包准确率较高,从而实现了目标小程序的正常发布。
参照图3,图3为本发明小程序的构建装置第一实施例的结构框图,所述装置用于终端设备,基于与前述实施例相同的发明构思,所述装置包括:
获取模块10,用于获取用于构建目标小程序的初始配置文件和源页面,所述源页面包括多个页面;
筛选模块20,用于在所述多个页面中筛选出可进行分包的分包页面;
调整模块30,用于利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件;
拆分模块40,用于利用所述分包页面对所述多个页面进行拆分,获得主包和分包;
页面构建模块50,用于利用所述多个页面中各页面的原始逻辑关系,构建中转页,所述中转页用于连接所述主包中各页面与所述分包中各页面;
程序构建模块60,用于利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序。
需要说明的是,由于本实施例的装置所执行的步骤与前述方法实施例的步骤相同,其具体的实施方式以及可以达到的技术效果都可参照前述实施例,这里不再赘述。
以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (9)
1.一种小程序的构建方法,其特征在于,用于终端设备,所述方法包括以下步骤:
获取用于构建目标小程序的初始配置文件和源页面,所述源页面包括多个页面;
在所述多个页面中筛选出可进行分包的分包页面;
利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件;
利用所述分包页面对所述多个页面进行拆分,获得主包和分包;
利用所述多个页面中各页面的原始逻辑关系,构建中转页,所述中转页用于连接所述主包中各页面与所述分包中各页面;
利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序;
所述在所述多个页面中筛选出可进行分包的分包页面的步骤之前,所述方法还包括:
生成临时目录;
将所述多个页面和所述初始配置文件存储于所述临时目录;
在所述临时目录中读取所述初始配置文件,所述初始配置文件为第一预设格式的文件;
将读取到的所述初始配置文件转换为第二预设格式的中间配置文件;
所述在所述多个页面中筛选出可进行分包的分包页面的步骤,包括:
利用所述中间配置文件,读取所述多个页面;
从读取的所述多个页面中筛选出可进行分包的分包页面;
所述利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件的步骤,包括:
利用所述分包页面,对所述中间配置文件进行调整,获得结果配置文件。
2.如权利要求1所述的方法,其特征在于,所述获取用于构建目标小程序的初始配置文件和源页面的步骤之前,所述方法还包括:
基于接收到的启动服务指令,输出询问信息;
接收针对所述询问信息发送的环境变量;
确定与所述环境变量对应的所述初始配置文件和所述源页面。
3.如权利要求2所述的方法,其特征在于,所述利用所述分包页面,对所述中间配置文件进行调整,获得结果配置文件的步骤,包括:
利用所述分包页面,对所述中间配置文件进行分包配置操作和分包预加载配置操作,获得初始结果配置文件;
将所述初始结果配置文件的文件格式还原为所述第一预设格式,获得所述结果配置文件。
4.如权利要求2所述的方法,其特征在于,所述利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序的步骤之前,所述方法还包括:
将所述中转页添加到所述主包中,获得新的主包;
所述利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序的步骤,包括:
利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序。
5.如权利要求4所述的方法,其特征在于,所述利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序的步骤之后,所述方法还包括:
将构建成功的所述目标小程序迁移到目标目录下;
利用第二预设工具,对所述临时目录进行清理操作。
6.如权利要求4所述的方法,其特征在于,所述利用所述结果配置文件、所述新的主包和所述分包,构建所述目标小程序的步骤之后,所述方法还包括:
获取所述目标小程序的目标版本号、预设安全值和时间戳;
利用所述目标版本号、所述预设安全值和所述时间戳,生成结果版本号;
获取所述目标小程序的配置信息;
利用所述结果版本号和所述配置信息,生成环境标识信息;
对所述环境标识信息进行运算,获得结果标识信息;
利用所述结果版本号和所述环境变量,生成展示信息;
输出所述展示信息和所述结果标识信息。
7.一种小程序的构建装置,其特征在于,用于终端设备,所述装置包括:
获取模块,用于获取用于构建目标小程序的初始配置文件和源页面,所述源页面包括多个页面;
筛选模块,用于在所述多个页面中筛选出可进行分包的分包页面;
调整模块,用于利用所述分包页面,对所述初始配置文件进行调整,获得结果配置文件;
拆分模块,用于利用所述分包页面对所述多个页面进行拆分,获得主包和分包;
页面构建模块,用于利用所述多个页面中各页面的原始逻辑关系,构建中转页,所述中转页用于连接所述主包中各页面与所述分包中各页面;
程序构建模块,用于利用所述结果配置文件、所述主包、所述分包和所述中转页,构建所述目标小程序;
所述装置还用于生成临时目录,将所述多个页面和所述初始配置文件存储于所述临时目录;在所述临时目录中读取所述初始配置文件,所述初始配置文件为第一预设格式的文件;将读取到的所述初始配置文件转换为第二预设格式的中间配置文件;
所述筛选模块,具体用于利用所述中间配置文件,读取所述多个页面;从读取的所述多个页面中筛选出可进行分包的分包页面;
所述调整模块,具体用于利用所述分包页面,对所述中间配置文件进行调整,获得结果配置文件。
8.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行小程序的构建程序,所述小程序的构建程序被所述处理器执行时实现如权利要求1至6中任一项所述的小程序的构建方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有小程序的构建程序,所述小程序的构建程序被处理器执行时实现如权利要求1至6中任一项所述的小程序的构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111125392.0A CN113821252B (zh) | 2021-09-24 | 2021-09-24 | 小程序的构建方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111125392.0A CN113821252B (zh) | 2021-09-24 | 2021-09-24 | 小程序的构建方法、装置、终端设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821252A CN113821252A (zh) | 2021-12-21 |
CN113821252B true CN113821252B (zh) | 2024-05-14 |
Family
ID=78915507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111125392.0A Active CN113821252B (zh) | 2021-09-24 | 2021-09-24 | 小程序的构建方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821252B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820555B (zh) * | 2023-08-29 | 2023-11-28 | 腾讯科技(深圳)有限公司 | 应用程序的分包方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814913A (zh) * | 2018-12-25 | 2019-05-28 | 华为终端有限公司 | 一种应用包拆分重组和运行的方法和装置 |
CN110532029A (zh) * | 2019-09-04 | 2019-12-03 | 深圳前海微众银行股份有限公司 | 小程序生成方法、装置、设备及计算机可读存储介质 |
CN112052011A (zh) * | 2020-10-10 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 小程序的合包方法、装置、电子设备及介质 |
CN112579048A (zh) * | 2019-09-30 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 小程序集成方法、装置、电子设备及存储介质 |
-
2021
- 2021-09-24 CN CN202111125392.0A patent/CN113821252B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814913A (zh) * | 2018-12-25 | 2019-05-28 | 华为终端有限公司 | 一种应用包拆分重组和运行的方法和装置 |
CN110532029A (zh) * | 2019-09-04 | 2019-12-03 | 深圳前海微众银行股份有限公司 | 小程序生成方法、装置、设备及计算机可读存储介质 |
CN112579048A (zh) * | 2019-09-30 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 小程序集成方法、装置、电子设备及存储介质 |
CN112052011A (zh) * | 2020-10-10 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 小程序的合包方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113821252A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142711B (zh) | 一种固件配置方法、装置、存储介质及移动终端 | |
EP3749001B1 (en) | Electronic device and method for switching electronic device between dual standby mode and single standby mode | |
US10412207B2 (en) | Mobile terminal, power adapter, and upgrade method thereof | |
CN108738008B (zh) | 蓝牙配对方法及系统 | |
CN111240768A (zh) | 一种配置参数的配置方法、装置和计算机存储介质 | |
CN112883036B (zh) | 索引创建方法、装置、存储服务器以及存储介质 | |
CN112464095B (zh) | 消息推送方法、装置、终端及存储介质 | |
CN113821252B (zh) | 小程序的构建方法、装置、终端设备以及存储介质 | |
CN105335434B (zh) | 日志管理方法、装置及电子设备 | |
WO2017049556A1 (zh) | 数据传输方法和移动终端 | |
CN112888024B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN111026457B (zh) | 一种硬件配置方法、装置、存储介质及终端设备 | |
CN113220651A (zh) | 运行数据压缩方法、装置、终端设备以及存储介质 | |
WO2020052354A1 (zh) | 游戏加载方法及相关产品 | |
CN110944318A (zh) | 一种锁卡设置方法、装置、存储介质及终端 | |
CN113225234B (zh) | 资产探测方法、装置、终端设备以及计算机可读存储介质 | |
CN111542037B (zh) | 指令传输方法、装置及存储介质 | |
CN115098468A (zh) | 灵活的数据迁移方法、装置、存储介质及电子设备 | |
WO2022183667A1 (zh) | 刷机包修改方法、装置、终端设备以及存储介质 | |
CN110881001B (zh) | 一种电子红包检测方法、系统及终端设备 | |
CN109413714B (zh) | 用户代理信息的处理方法、装置、存储介质及终端 | |
CN112532971A (zh) | 影像处理方法、装置、显示终端以及计算机可读存储介质 | |
CN104317606A (zh) | 远程操作系统 | |
CN115883839B (zh) | 一种图像校验方法、装置、设备及计算机可读存储介质 | |
CN204044751U (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |