CN112579048B - 小程序集成方法、装置、电子设备及存储介质 - Google Patents
小程序集成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112579048B CN112579048B CN201910939133.8A CN201910939133A CN112579048B CN 112579048 B CN112579048 B CN 112579048B CN 201910939133 A CN201910939133 A CN 201910939133A CN 112579048 B CN112579048 B CN 112579048B
- Authority
- CN
- China
- Prior art keywords
- file
- applet
- integrated
- page
- files
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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 Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种小程序集成方法、装置、电子设备及存储介质,所要集成的小程序为至少一个待集成小程序,待集成小程序包括第二主体文件和第二页面文件,该方法包括根据待集成小程序的结构特点,生成第一主体文件和第一页面文件,第一主体文件为描述待集成小程序框架结构的框架文件,第一页面文件为描述组成待集成小程序的各个页面特征的文件;根据待集成小程序的数量,配置对应个数的分包路径,分包路径为设置各待集成小程序的路径;基于分包路径,对相关文件进行集成处理。本申请实施例将各小程序集成在平台小程序上,不仅能够快速地实现各小程序之间的跳转,还能够方便统一管理,使得整个小程序结构更加简单、轻量,提高了加载速度。
Description
技术领域
本申请一般涉及计算机技术领域,具体涉及一种小程序集成方法、装置、电子设备及存储介质。
背景技术
小程序(Mini Program)是一种不需要下载安装,就能够使用的应用。在现代社会中,随着手机、平板电脑等电子设备的广泛普及,用户可以通过“扫一扫”或者“搜一下”的方式打开应用,实现了应用触手可及的梦想,极大地丰富了日常生活。
目前,由不同开发者开发的功能模块都会独立发布成小程序,而这些小程序不能存在于同一个页面上。也就是说,如果用户想要使用地铁乘车码的小程序,则需要关闭当前的公交乘车码小程序,并在搜索框中搜索“地铁乘车码”找到该小程序。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:当将不同的独立团队开发的具有相关性的小程序整合到一个平台进行管理时,由于多个小程序独立运行,在进行跳转时必须关闭当前的小程序,并搜索需要的小程序,操作繁琐,耗时较长;另外,各独立的小程序都设置有依赖数据,但是每个小程序的依赖数据都相同,这会造成冗余进而影响小程序的加载速度,并且依赖数据的版本更新也难以统一管理。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种小程序集成方法、装置、电子设备及存储介质,将各独立的小程序集成在一个小程序平台上,不仅能够快速地实现各小程序之间的跳转,还能够方便统一管理,使得小程序结构更加简单、轻量,提高了加载速度。
第一方面,本申请提供一种小程序集成方法,所要集成的小程序为至少一个待集成小程序,所述待集成小程序包括第二主体文件和第二页面文件,所述方法包括:
根据所述待集成小程序的结构特点,生成第一主体文件和第一页面文件,所述第一主体文件为描述所述待集成小程序框架结构的框架文件,所述第一页面文件为描述组成所述待集成小程序的各个页面特征的文件;
根据所述待集成小程序的数量,配置对应个数的分包路径,所述分包路径为设置各所述待集成小程序的路径;
基于所述分包路径,对所述第一主体文件、所述第二主体文件和所述第二页面文件进行集成处理。
第二方面,本申请提供一种小程序集成装置,所要集成的小程序为至少一个待集成小程序,所述待集成小程序包括第二主体文件和第二页面文件,所述装置包括:
文件生成模块,用于根据所述待集成小程序的结构特点,生成第一主体文件和第一页面文件,所述第一主体文件为描述所述待集成小程序框架结构的框架文件,所述第一页面文件为描述组成所述待集成小程序的各个页面特征的文件;
分包路径配置模块,用于根据所述待集成小程序的数量,配置对应个数的分包路径,所述分包路径为设置各所述待集成小程序的路径;
集成处理模块,用于基于所述分包路径,对所述第一主体文件、所述第二主体文件和所述第二页面文件进行集成处理。
第三方面,本申请提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现如第一方面所述的小程序集成方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如第一方面所述的小程序集成方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种小程序集成方法,所要集成的小程序为至少一个待集成小程序,由于每个待集成小程序中已经包括了第二主体文件和第二页面文件,而为了对待集成小程序的这些文件进行集成处理,首先需要根据待集成小程序的结构特点,生成用于放置这些文件的第一主体文件和第一页面文件,其中第一主体文件为描述待集成小程序框架结构的框架文件,第一页面文件为描述组成待集成小程序的各个页面特征的文件;然后,根据待集成小程序的数量,配置对应个数的分包路径,其中分包路径为设置各待集成小程序的路径;进而,基于分包路径,对第一主体文件、第二主体文件和第二页面文件进行集成处理,以实现集成小程序的平台小程序的构建。基于此,本申请实施例将各独立的小程序集成在平台小程序上,不仅能够通过内部路由快速地实现各小程序之间的跳转,还能够方便统一管理,使得整个小程序结构更加简单、轻量,提高了加载速度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的一种小程序集成方法的应用场景示意图;
图2为本申请实施例提供的一种小程序运行环境的示意图;
图3为本申请实施例提供的一种小程序集成方法的基本流程示意图;
图4为本申请实施例提供的一种需要集成的待集成小程序A的文件列表示意图;
图5为本申请实施例提供的一种需要集成的待集成小程序B的文件列表示意图;
图6为本申请实施例提供的一种平台小程序的文件列表示意图;
图7为本申请实施例提供的一种需要集成的待集成小程序设置于平台小程序后的文件列表示意图;
图8为本申请实施例提供的一种小程序集成装置;
图9为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
本申请实施例涉及的技术术语如下:
小程序:一种响应于数据绑定的应用系统,具体的,应用系统分为视图层(View)和逻辑层(App Service),而视图层和逻辑层之间的交互通过数据绑定和事件响应来实现。当需要修改页面时,逻辑层只需要用特定的数据设置方法修改已绑定的数据,这时会自动触发标签语言(WXML)重新渲染,达到逻辑层对视图层的控制。而当应用系统接收到用户交互操作时,会根据视图层绑定的事件,执行逻辑层中对应的事件函数,达到逻辑层对视图层的响应。在实际应用的过程中,该应用系统可以包括但不限于社交应用、文件管理应用、邮件应用或者游戏应用等,而社交应用包括即时通讯应用、支付服务应用、新闻资讯应用、社交网站(Social Network Service,SNS)应用或者直播应用等。
主体文件:描述小程序框架结构的框架文件,也就是能够支撑小程序运行的基本文件。本质上,作为一种应用程序的小程序,可以通过和用户进行信息交互来完成某项或者多项特定任务。基于此,在具体实现的过程中,主体文件可以包括但不限于主体逻辑交互文件、主体配置文件和主体样式文件。例如,主体逻辑交互文件为app.js文件,能够用于完成小程序的注册,包括有关小程序生命周期的处理函数;再例如,主体配置文件为app.json文件,能够用于对小程序进行全局配置,比如页面文件的路径、窗口表现以及设置网络超时时间等;又例如,主体样式文件为app.wxss文件,能够用于声明样式的规则,如果页面有自己的样式表则会覆盖公共样式表。
页面文件:描述组成小程序的各个页面特征的文件。由于小程序中嵌入了多个页面,而每个页面的风格和功能都不一样,因此需要设置用于描述各个页面的文件。在具体的实现过程中,页面文件可以包括但不限于页面逻辑交互文件、页面结构文件、页面配置文件和页面样式文件。例如,页面逻辑交互文件为page.js文件,能够用于指定页面的初始数据、生命周期函数和事件处理函数等;页面结构文件为page.wxml文件,能够用于构建页面的结构;页面配置文件为page.json文件,能够用于对页面窗口表现进行配置;页面样式文件为page.wxss文件,能够用于描述页面组件的样式。
为了便于理解本申请实施例提供的小程序集成方法,下面结合实际应用场景对该小程序集成方法进行介绍。
请参考图1,其为本申请实施例提供的一种小程序集成方法的应用场景示意图。如图1所示,在该应用场景中,包括电子设备101、电子设备102、电子设备103和小程序后台服务器110,电子设备和小程序后台服务器110信号连接。信号连接的方式包括有线接口连接以及无线互联网连接,而无线互联网连接可以包括但不限于Wi-Fi、无线宽带、全球微波互联接入和蓝牙、射频识别和超宽带等技术。
其中,电子设备具体可以包括但不限于个人数字助理(Personal DigitalAssistant,PDA)、平板电脑(Tablet Computer)、无线手持设备和手机等,本申请实施例对此不做限定。小程序后台服务器110可以为独立的服务器,也可以为由多个服务器组成的服务器集群或者云计算中心。
电子设备102和电子设备103分别独立开发了待集成小程序A和待集成小程序B,并将相关代码文件保存在服务器110中,电子设备101用于集成待集成小程序A和待集成小程序B。需要说明的是,电子设备102或者电子设备103可以是多台电子设备,表示待集成小程序A、待集成小程序B是多人团队开发的。电子设备中设置有能够运行小程序的客户端,客户端中有支持小程序运行以及插件运行的基础代码,这样的客户端比如微信客户端。小程序后台服务器110除了存储有本申请实施例中开发小程序的代码以外,还存储有小程序中引用的所有插件的插件代码。电子设备101可以从小程序后台服务器110中下载待集成小程序的代码,以及待集成小程序中引用的所有插件的插件代码,从而使得电子设备101根据获取的待集成小程序代码以及待集成小程序中引用的所有插件的插件代码,集成小程序。
另外,本申请实施例小程序集成方法中的待集成小程序可以是微信应用程序,也可以是其他小程序的技术框架与微信小程序的技术框架类似的应用程序。也就是说,本申请实施例的小程序集成方法,适用于微信小程序,以及与微信小程序采用类似技术框架的其他应用小程序。
以微信客户端为例,请参考图2,其为本申请实施例提供的一种小程序运行环境的示意图。如图2所示,小程序的运行环境分为视图层和逻辑层,其中WXML模板和WXSS样式工作在视图层,JS脚本工作在逻辑层。小程序的视图层和逻辑层分别由2个线程管理,即视图层的界面使用WebView进行渲染,逻辑层则采用JsCore线程运行JS脚本。一个小程序存在多个界面,所以视图层存在多个WebView线程,这两个线程的通信会经由系统层(Native)做中转,逻辑层发送网络请求也经由系统层转发。
需要说明的是,WXML(Wei Xin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构,而WXML模板可以在模板中定义代码片段,然后在不同的地方调用;WXSS(Wei Xin Style Sheets)是一套样式语言,用于描述WXML的组件样式,比如WXSS用来决定WXML的组件应该如何进行显示;WebView是一种用于显示网页的控件。
为了便于理解和说明,下面通过图3至图9详细的阐述本申请实施例提供的小程序集成方法、装置及电子设备。
请参考图3,其为本申请实施例提供的一种小程序集成方法的基本流程示意图。该方法应用于电子设备端,所要集成的小程序为至少一个待集成小程序,而待集成小程序包括第二主体文件和第二页面文件,包括以下步骤:
S301,根据待集成小程序的结构特点,生成第一主体文件和第一页面文件。
其中,第一主体文件为描述待集成小程序框架结构的框架文件,而第一页面文件为描述组成待集成小程序的各个页面特征的文件。
需要说明的是,小程序包含一个描述整体程序的主体文件和多个描述各自页面的页面文件。其中,一个小程序主体文件包括app.js文件、app.json文件和app.wxss文件,而app.js文件表示小程序的逻辑、app.json文件表示小程序的公共配置,以及app.wxss文件表示小程序的公共样式表,这三个文件放在小程序的根目录中。一个小程序的页面文件包括page.js文件、page.wxml文件、page.json文件和page.wxss文件,而page.js文件用于设置页面逻辑、page.wxml文件用于构建页面结构、page.json文件用于设置页面配置,以及page.wxss文件用于设置页面样式表。每个待集成小程序中包括了第二主体文件和第二页面文件,为了将多个采用上述框架结构的待集成小程序运行在同一平台上,需要构建平台小程序来进行集成。因此,生成相同结构的第一主体文件和第一页面文件。
S302,根据待集成小程序的数量,配置对应个数的分包路径,分包路径为设置各待集成小程序的路径。
需要说明的是,考虑到本申请实施例中需要构建平台小程序,以使得各小程序能够通过该平台小程序进行启动、运行和关闭,即各小程序依附于平台小程序运行,从而实现根据内部路由快速进行跳转的目的。本质上,平台小程序也是一种小程序。基于此,在平台小程序中配置分包路径,用于设置需要集成的待集成小程序。比如,当需要集成的小程序数量为N个时,将配置N个对应的分包路径,每个分包路径下保存对应的需要集成的待集成小程序的文件。另外,本申请实施例中的小程序可以是不同团队独立开发的小程序。
举例说明,如图4和图5所示,分别为本申请实施例提供的需要集成的待集成小程序的文件列表示意图,此时待集成小程序的根目录文件夹名称分别为mp-sub1-app和mp-sub2-app,mp-sub-app文件夹中包括各自待集成小程序的第二主体文件和第二页面文件,图4和图5中的sub1-pages文件夹和sub2-pages文件夹中分别放置页面文件,sub1-components文件夹和sub2-components文件夹中分别放置依赖数据,该依赖数据可以为各页面公用的组件或者其他公共资源数据。而如图6所示,其为本申请实施例提供的平台小程序的文件列表示意图,此时平台小程序的根目录文件夹名称为mp-main-app,mp-main-app文件夹中包括生成的第一主体文件和第一页面文件,图中的main-pages文件夹中放置页面文件,main-components文件夹中放置依赖数据。那么,如图7所示,其为本申请实施例提供的需要集成的待集成小程序设置于平台小程序后的文件列表示意图,可以看到待集成小程序的文件夹mp-sub-app作为该平台小程序的根目录文件夹mp-main-app的一个二级目录文件夹,此时待集成小程序A的文件夹的分包路径为mp-main-app/mp-sub1-app,待集成小程序B的文件夹的分包路径为mp-main-app/mp-sub2-app。另外,将平台小程序中的依赖数据和待集成小程序中依赖数据都整合至集成后的main-components文件夹中。因此,从分别管理多个依赖数据变为只管理一个依赖文件,提高了程序代码管理的效率。
需要说明的是,由于app.json为小程序的公共配置文件,公共配置文件与小程序的运行息息相关,如果平台小程序和待集成小程序中都包含公共配置文件,将会出现数据的混乱。为了保证待集成小程序的正常运行,避免发生冲突,则需要保留平台小程序的main-app.json文件,并删除需要集成的待集成小程序的sub-app.json文件。而pages和app.wxss为小程序的页面文件和样式文件,并不会影响到小程序的正常运行,因此平台小程序和待集成小程序的pages和app.wxss文件可以同时存在于不同的文件夹中。
S303,基于分包路径,对第一主体文件、第二主体文件和第二页面文件进行集成处理。
需要说明的是,第一主体文件和第二主体文件分别包括各自的公共配置文件和公共样式文件,即第一主体文件包括对应的公共配置文件和公共样式文件,第二主体文件包括对应的公共配置文件和公共样式文件,公共配置文件用于进行全局配置,公共样式文件用于声明页面样式的公共规则;而第一页面文件和第二页面文件分别包括各自页面的特征文件,特征文件包括页面样式文件,页面样式文件用于描述各个页面的样式特征;其中,全局配置包括页面路径信息。因此,需要对相关文件分别进行集成处理,下面详细地说明。
第一方面,对公共配置文件进行集成处理。
具体的,本申请实施例在根据分包路径,调整第二主体文件中的第二页面文件的页面路径信息之后,通过预先设定的小程序规则,在第一主体文件的公共配置文件中加入各第二主体文件的公共配置文件的信息,并删除各第二主体文件的公共配置文件,其中页面路径信息为第二页面文件所在的路径信息。
以配置文件是app.json为例进行说明,app.json是待集成小程序的公共配置文件,其包括了待集成小程序的所有页面路径、界面表现以及网络超时时间等参数。图7中可以看出第二页面文件sub1-pages的路径由集成前的mp-sub1-app变为mp-main-app/mp-sub1-app,因此需要在公共配置文件中,指出第二页面文件的正确路径,使得能够正确运行该待集成小程序。集成时,在平台小程序第一主体文件的公共配置文件中增加各待集成小程序第二主体文件的公共配置文件的信息。比如,可通过“subPackages”字段增加,将需要集成的待集成小程序作为平台小程序的一个组成部分。
需要说明的是,由于各待集成小程序是以平台小程序的组成部分形式存在的,那么其页面文件的路径也会发生变化。为此,通过遍历文件内所有相关路径,并做出相应地修改,如同理修改待集成小程序B中第二页面文件的相关路径。
第二方面,对公共样式文件进行集成处理。
具体的,本申请实施例根据分包路径,在各第二页面文件的页面样式文件中导入对应的第二主体文件的公共样式文件,使得各待集成小程序的页面能够正确调用对应的公共样式文件。
以样式文件是app.wxss为例进行说明,app.wxss表示的是待集成小程序的公共样式,当各待集成小程序集成到平台小程序上时,各待集成小程序之间的公共样式不应互相影响,所以各待集成小程序的app.wxss通过@import字段注入到各自第二页面文件的页面样式文件的方式来实现每个待集成小程序公共样式的正确调用。具体地,在待集成小程序A的第二页面文件的页面样式文件中增加待集成小程序A的第二主体文件的公共样式文件时,需要在@import字段正确给出app.wxss所在的路径,该路径可通过待集成小程序A的分包路径来确定,即“@import'/mp-sub1-app/sub1-app.wxss'”。
需要说明的是,本申请实施例中对公共配置文件和公共样式文件进行集成处理不限定先后顺序,可先进行公共配置文件的集成再进行公共样式文件的集成处理,或者,可先进行公共样式文件的集成再进行公共配置文件的集成处理。
可选地,本申请实施例还能够对逻辑交互文件进行集成处理。具体的,根据分包路径,采用操作抽象语法树的方式更新各待集成小程序的逻辑交互文件,该逻辑交互文件包括待集成小程序的逻辑交互文件(可用app.js表示)和页面的逻辑交互文件(可用page.js表示)。
需要说明的是,抽象语法树(Abstract Syntax Tree,AST)是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
举例说明,待集成小程序的生命周期函数为刚启动时的onLaunch函数。当多个待集成小程序集成到一起后,不应让其中一个待集成小程序的onLanuch函数影响到其它待集成小程序,所以需要将onLaunch函数通过操作抽象语法树的方式,注入到每个待集成小程序页面的生命周期上。
需要说明的是,本申请实施例中集成后的平台小程序包括多个待集成小程序,即将各待集成小程序作为平台小程序的组成部分,使得待集成小程序之间的跳转可以利用事件触发器(Event Emitter)的发布订阅模式进行状态共享和通信,从而达到状态的及时响应和同步,不仅能够通过内部路由快速地实现各待集成小程序之间的跳转,还能够方便统一管理,使得小程序结构更加简单、轻量,提高了加载速度。
可选地,在本申请的其它实施例中,根据待集成小程序的结构特点,生成第一主体文件和第一页面文件之前,还可以采用任务队列,异步将远程仓库的各待集成小程序分别拉取至预设置的用于集成的本地仓库。当待集成小程序的集成过程中遭遇故障时,本申请实施例仍然可以从远程仓库拉取各待集成小程序,不会造成集成的中断。
具体的,本申请实施例根据仓库配置文件进行异步多仓库拉取,该仓库配置文件包括待集成小程序的仓库地址和分支、依赖数据仓库地址和分支以及各个环境变量下的不同操作,这里的仓库分支可用于存放升级版本的对应程序代码。其中,异步拉取的工具可使用NodeJs编写,利用小程序内部提供的异步API来处理工具的输入/输出(I/O)操作。在拉取仓库代码时,异步拉取可以并发执行大量耗时的I/O操作,并等待完成后再执行相应回调,提高了小程序的集成效率。例如,图1中的电子设备101将电子设备102、电子设备103保存至服务器110的待集成小程序A和待集成小程序B,拉取至本地。
需要说明的是,本申请实施例基于Git模式进行代码仓库存储,为各待集成小程序以及依赖数据分配独立的仓库,以此来保障代码的隐私安全。其中,Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
当然,本申请实施例在拉取各待集成小程序时,除了可以异步拉取以外,还可以加上多进程处理,以高效地利用多核处理器。
本申请实施例提供了一种小程序集成方法,所要集成的小程序为至少一个待集成小程序,由于每个待集成小程序中已经包括了第二主体文件和第二页面文件,而为了对待集成小程序的这些文件进行集成处理,首先需要根据待集成小程序的结构特点,生成用于放置这些文件的第一主体文件和第一页面文件,其中第一主体文件为描述待集成小程序框架结构的框架文件,第一页面文件为描述组成待集成小程序的各个页面特征的文件;然后,根据待集成小程序的数量,配置对应个数的分包路径,其中分包路径为设置各待集成小程序的路径;进而,基于分包路径,对第一主体文件、第二主体文件和第二页面文件进行集成处理,以实现集成小程序的平台小程序的构建。基于此,本申请实施例将各独立的小程序集成在平台小程序上,不仅能够通过内部路由快速地实现各小程序之间的跳转,还能够方便统一管理,使得整个小程序结构更加简单、轻量,提高了加载速度。
基于前述实施例,请参考图8,其为本申请实施例提供的一种小程序集成装置。所要集成的小程序为至少一个待集成小程序,待集成小程序包括第二主体文件和第二页面文件,如图8所示,该小程序集成装置8包括:
文件生成模块81,用于根据待集成小程序的结构特点,生成第一主体文件和第一页面文件,第一主体文件为描述待集成小程序框架结构的框架文件,第一页面文件为描述组成待集成小程序的各个页面特征的文件;
分包路径配置模块82,用于根据待集成小程序的数量,配置对应个数的分包路径,分包路径为设置各待集成小程序的路径;
集成处理模块83,用于基于分包路径,对第一主体文件、第二主体文件和第二页面文件进行集成处理。
可选地,在本申请的其它实施例中,第一主体文件和第二主体文件分别包括各自的公共配置文件和公共样式文件,公共配置文件用于进行全局配置,公共样式文件用于声明页面样式的公共规则;
第一页面文件和第二页面文件分别包括各自页面的特征文件,特征文件包括页面样式文件,页面样式文件用于描述各个页面的样式特征;
其中,全局配置包括页面路径信息。
可选地,在本申请的其它实施例中,集成处理模块83具体用于根据分包路径,调整第二主体文件中的第二页面文件的页面路径信息,页面路径信息为页面文件所在的路径信息;
通过预先设定的小程序规则,在第一主体文件的公共配置文件中加入各第二主体文件的公共配置文件的信息,并删除各第二主体文件的公共配置文件。
可选地,在本申请的其它实施例中,集成处理模块83还用于根据分包路径,在第二页面文件的页面样式文件中导入对应的第二主体文件的公共样式文件。
本申请实施例提供了一种小程序集成装置,所要集成的小程序为至少一个待集成小程序,由于每个待集成小程序中已经包括了第二主体文件和第二页面文件,而为了对待集成小程序的这些文件进行集成处理,首先文件生成模块根据待集成小程序的结构特点,生成用于放置这些文件的第一主体文件和第一页面文件,其中第一主体文件为描述待集成小程序框架结构的框架文件,第一页面文件为描述组成待集成小程序的各个页面特征的文件;然后,分包路径配置模块根据待集成小程序的数量,配置对应个数的分包路径,其中分包路径为设置各待集成小程序的路径;进而,集成处理模块基于分包路径,对第一主体文件、第二主体文件和第二页面文件进行集成处理,以实现集成小程序的平台小程序的构建。基于此,本申请实施例将各独立的小程序集成在平台小程序上,不仅能够通过内部路由快速地实现各小程序之间的跳转,还能够方便统一管理,使得整个小程序结构更加简单、轻量,提高了加载速度。
基于前述实施例,请参考图9,其为本申请实施例提供的一种电子设备的结构框图。该电子设备101包括处理器1011和存储器1012,其中处理器1011可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1011可以采用数字信号处理(DigitalSignal Processing,DSP)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。
处理器1011也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称为中央处理器(Central Processing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
另外,处理器1011可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于对显示屏所需要显示的内容进行渲染和绘制。在一些实施例中,处理器1011还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1012可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1012还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1012中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1011所执行,以实现本申请方法实施例中提供的小程序集成方法。
在一些实施例中,电子设备101还可以包括外围设备接口1013和至少一个外围设备。处理器1011、存储器1012和外围设备接口1013之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1013相连。
具体地,外围设备包括但不限于射频电路1014、触摸显示屏1015和电源1016。外围设备接口1013可以被用于将输入/输出(Input/Output,I/O)相关的至少一个外围设备连接到处理器1011和存储器1012。在一些实施例中,处理器1011、存储器1012和外围设备接口1013被集成在同一芯片或电路板上;在一些其他实施例中,处理器1011、存储器1012和外围设备接口1013中的任意一个或两个可以在单独的芯片或电路板上实现,本申请实施例对此不进行限定。
射频电路1014用于接收和发射射频(Radio Frequency,RF)信号,也称电磁信号。射频电路1014通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1014将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1014包括天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等。射频电路1014可以通过至少一种无线通信协议来与其它设备进行通信。该无线通信协议包括但不限于城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或无线保真(Wireless Fidelity,WiFi)网络。在一些实施例中,射频电路1014还可以包括近距离无线通信(Near Field Communication,NFC)有关的电路。
显示屏1015用于显示用户界面(User Interface,UI)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1015是触摸显示屏时,显示屏1015还具有采集在显示屏1015的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1011进行处理。此时,显示屏1015还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1015可以为一个,设置在电子设备101的前面板;在另一些实施例中,显示屏1015可以为至少两个,分别设置在电子设备101的不同表面或呈折叠设计;在又一些实施例中,显示屏1015可以是柔性显示屏,设置在电子设备101的弯曲表面上或折叠面上。甚至,显示屏1015还可以设置成非矩形的不规则图形,也即异形屏。显示屏1015可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight-Emitting Diode,OLED)等材质制备。
本领域技术人员可以理解,图9中示出的结构并不构成对电子设备101的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在本实施例中,电子设备101还包括有一个或者一个以上的程序,这一个或者一个以上程序存储于存储器1012中,且经配置以由一个或者一个以上处理器1011执行,所述一个或者一个以上程序包含用于进行本申请实施例提供的上述电子设备执行的小程序集成方法的指令。
作为另一方面,本申请实施例提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例小程序集成方法中的任意一种实施方式。
作为再一方面,本申请实施例提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例小程序集成方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。而集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例信息上报方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种小程序集成方法,所要集成的小程序为至少一个待集成小程序,不同的待集成小程序是不同团队独立开发的小程序,所述待集成小程序包括第二主体文件和第二页面文件,其特征在于,所述方法包括:
根据所述待集成小程序的结构特点,生成第一主体文件和第一页面文件,所述第一主体文件为描述所述待集成小程序框架结构的框架文件,所述第一页面文件为描述组成所述待集成小程序的各个页面特征的文件;所述第二主体文件和所述第二页面文件对应的目录文件夹为所述第一主体文件和所述第一页面文件对应的根目录文件夹的二级目录文件夹,将所述待集成小程序的依赖数据集成到所述根目录文件夹中的第一主体文件中;
根据所述待集成小程序的数量,配置对应个数的分包路径,所述分包路径为设置各所述待集成小程序的路径;
基于所述分包路径,对所述第一主体文件、所述第二主体文件和所述第二页面文件进行集成处理,以使得所述待集成小程序之间利用事件触发器的发布订阅模式进行状态共享和通信,实现所述待集成小程序之间的跳转。
2.根据权利要求1所述的小程序集成方法,其特征在于,所述第一主体文件和所述第二主体文件分别包括各自的公共配置文件和公共样式文件,所述公共配置文件用于进行全局配置,所述公共样式文件用于声明页面样式的公共规则;
所述第一页面文件和所述第二页面文件分别包括各自页面的特征文件,所述特征文件包括页面样式文件,所述页面样式文件用于描述所述各个页面的样式特征;
其中,所述全局配置包括页面路径信息。
3.根据权利要求2所述的小程序集成方法,其特征在于,所述基于所述分包路径,对所述第一主体文件、所述第二主体文件和所述第二页面文件进行集成处理包括:
根据所述分包路径,调整所述第二主体文件中的所述第二页面文件的页面路径信息,所述页面路径信息为所述第二页面文件所在的路径信息;
通过预先设定的小程序规则,在所述第一主体文件的公共配置文件中加入各所述第二主体文件的公共配置文件的信息,并删除各所述第二主体文件的公共配置文件。
4.根据权利要求3所述的小程序集成方法,其特征在于,所述基于所述分包路径,对所述第二页面文件进行集成处理包括:
根据所述分包路径,在各所述第二页面文件的页面样式文件中导入对应的所述第二主体文件的公共样式文件。
5.一种小程序集成装置,所要集成的小程序为至少一个待集成小程序,不同的待集成小程序是不同团队独立开发的小程序,所述待集成小程序包括第二主体文件和第二页面文件,其特征在于,所述装置包括:
文件生成模块,用于根据所述待集成小程序的结构特点,生成第一主体文件和第一页面文件,所述第一主体文件为描述所述待集成小程序框架结构的框架文件,所述第一页面文件为描述组成所述待集成小程序的各个页面特征的文件;所述第二主体文件和所述第二页面文件对应的目录文件夹为所述第一主体文件和所述第一页面文件对应的根目录文件夹的二级目录文件夹,将所述待集成小程序的依赖数据集成到所述根目录文件夹中的第一主体文件中;
分包路径配置模块,用于根据所述待集成小程序的数量,配置对应个数的分包路径,所述分包路径为设置各所述待集成小程序的路径;
集成处理模块,用于基于所述分包路径,对所述第一主体文件、所述第二主体文件和所述第二页面文件进行集成处理,以使得所述待集成小程序之间利用事件触发器的发布订阅模式进行状态共享和通信,实现所述待集成小程序之间的跳转。
6.根据权利要求5所述的小程序集成装置,其特征在于,所述第一主体文件和所述第二主体文件分别包括各自的公共配置文件和公共样式文件,所述公共配置文件用于进行全局配置,所述公共样式文件用于声明页面样式的公共规则;
所述第一页面文件和所述第二页面文件分别包括各自页面的特征文件,所述特征文件包括页面样式文件,所述页面样式文件用于描述所述各个页面的样式特征;
其中,所述全局配置包括页面路径信息。
7.根据权利要求6所述的小程序集成装置,其特征在于,所述集成处理模块具体用于:
根据所述分包路径,调整所述第二主体文件中的所述第二页面文件的页面路径信息,所述页面路径信息为所述第二页面文件所在的路径信息;
通过预先设定的小程序规则,在所述第一主体文件的公共配置文件中加入各所述第二主体文件的公共配置文件的信息,并删除各所述第二主体文件的公共配置文件。
8.根据权利要求6所述的小程序集成装置,其特征在于,所述集成处理模块还用于:
根据所述分包路径,在各所述第二页面文件的页面样式文件中导入对应的所述第二主体文件的公共样式文件。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1至4中任意一项所述的小程序集成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至4中任意一项所述的小程序集成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939133.8A CN112579048B (zh) | 2019-09-30 | 2019-09-30 | 小程序集成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939133.8A CN112579048B (zh) | 2019-09-30 | 2019-09-30 | 小程序集成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579048A CN112579048A (zh) | 2021-03-30 |
CN112579048B true CN112579048B (zh) | 2023-09-08 |
Family
ID=75116400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910939133.8A Active CN112579048B (zh) | 2019-09-30 | 2019-09-30 | 小程序集成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579048B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282291A (zh) * | 2021-06-10 | 2021-08-20 | 豆盟(北京)科技股份有限公司 | 小程序的生成方法、装置、设备及存储介质 |
CN113590125A (zh) * | 2021-08-17 | 2021-11-02 | 世纪龙信息网络有限责任公司 | 一种小程序开发方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980504A (zh) * | 2017-03-28 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
CN107239318A (zh) * | 2017-06-13 | 2017-10-10 | 腾讯科技(深圳)有限公司 | 应用转换方法、装置及设备 |
CN108196832A (zh) * | 2018-01-09 | 2018-06-22 | 安徽小马创意科技股份有限公司 | 一种实现使微信小程序支持自定义组件式开发的方法 |
CN108664248A (zh) * | 2018-05-14 | 2018-10-16 | 北京汉能光伏投资有限公司 | 一种微信小程序的生成方法及装置 |
WO2018208425A1 (en) * | 2017-05-11 | 2018-11-15 | Microsoft Technology Licensing, Llc | Secure cryptlet tunnel |
WO2018208422A1 (en) * | 2017-05-11 | 2018-11-15 | Microsoft Technology Licensing, Llc | Cryptlet identity |
CN109165050A (zh) * | 2018-07-05 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 程序的运行方法、装置、计算设备以及存储介质 |
CN110069919A (zh) * | 2019-04-25 | 2019-07-30 | 上海连尚网络科技有限公司 | 信息获取方法和装置 |
CN110187931A (zh) * | 2019-05-17 | 2019-08-30 | 北京百度网讯科技有限公司 | 小程序的运行方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7209960B2 (en) * | 2002-09-20 | 2007-04-24 | Sun Microsystems, Inc. | Loading and saving data from security sensitive applets to a local file system |
-
2019
- 2019-09-30 CN CN201910939133.8A patent/CN112579048B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980504A (zh) * | 2017-03-28 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
WO2018208425A1 (en) * | 2017-05-11 | 2018-11-15 | Microsoft Technology Licensing, Llc | Secure cryptlet tunnel |
WO2018208422A1 (en) * | 2017-05-11 | 2018-11-15 | Microsoft Technology Licensing, Llc | Cryptlet identity |
CN107239318A (zh) * | 2017-06-13 | 2017-10-10 | 腾讯科技(深圳)有限公司 | 应用转换方法、装置及设备 |
CN108196832A (zh) * | 2018-01-09 | 2018-06-22 | 安徽小马创意科技股份有限公司 | 一种实现使微信小程序支持自定义组件式开发的方法 |
CN108664248A (zh) * | 2018-05-14 | 2018-10-16 | 北京汉能光伏投资有限公司 | 一种微信小程序的生成方法及装置 |
CN109165050A (zh) * | 2018-07-05 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 程序的运行方法、装置、计算设备以及存储介质 |
CN110069919A (zh) * | 2019-04-25 | 2019-07-30 | 上海连尚网络科技有限公司 | 信息获取方法和装置 |
CN110187931A (zh) * | 2019-05-17 | 2019-08-30 | 北京百度网讯科技有限公司 | 小程序的运行方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112579048A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200379779A1 (en) | Program operating method and apparatus, computing device, and storage medium | |
US10754633B2 (en) | Application installation package generation method and apparatus, and storage medium | |
CN109408136B (zh) | 信息处理方法、装置、存储介质及电子设备 | |
US20150095759A1 (en) | Rendering interpreter for visualizing data provided from restricted environment container | |
CN110300328B (zh) | 一种视频播放控制方法、装置及可读存储介质 | |
CN110333918B (zh) | 一种管理寄宿程序的方法与设备 | |
CN111930521A (zh) | 用于部署应用的方法、装置、电子设备及可读存储介质 | |
US10684838B2 (en) | Dynamic application deployment | |
CN103370689A (zh) | 跨环境应用兼容 | |
CN108509207A (zh) | Web应用程序的跨系统安装 | |
CN112257135A (zh) | 一种基于多线程的模型加载方法、装置、存储介质及终端 | |
CN114327688B (zh) | 基于微前端的数据处理方法、框架、存储介质及终端设备 | |
CN109981719A (zh) | 信息处理方法及其系统、计算机系统和计算机可读介质 | |
CN110070592B (zh) | 特效包的生成方法、装置和硬件装置 | |
CN112579048B (zh) | 小程序集成方法、装置、电子设备及存储介质 | |
US10795633B2 (en) | Desktop sharing method and mobile terminal | |
US20130007377A1 (en) | Message oriented middleware with integrated rules engine | |
CN111984248B (zh) | 页面编辑方法和装置、存储介质及电子装置 | |
CN105359104A (zh) | 状态信息的同步点 | |
CN111782210A (zh) | 页面管理方法、装置、电子设备及计算机可读介质 | |
CN109976832A (zh) | 一种提供寄宿程序的方法与设备 | |
CN113157270A (zh) | 一种页面适配方法和装置 | |
CN112256370A (zh) | 信息显示方法、装置和电子设备 | |
CN110647327B (zh) | 基于卡片的用户界面动态控制的方法和装置 | |
US9614932B2 (en) | Managing and implementing web application data snapshots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40040660 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |