CN111694569A - 一种小程序公共组件库的构建方法、装置和计算设备 - Google Patents
一种小程序公共组件库的构建方法、装置和计算设备 Download PDFInfo
- Publication number
- CN111694569A CN111694569A CN201910199820.0A CN201910199820A CN111694569A CN 111694569 A CN111694569 A CN 111694569A CN 201910199820 A CN201910199820 A CN 201910199820A CN 111694569 A CN111694569 A CN 111694569A
- Authority
- CN
- China
- Prior art keywords
- user interface
- common user
- application service
- component
- common
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000011161 development Methods 0.000 claims abstract description 27
- 238000004806 packaging method and process Methods 0.000 claims abstract description 21
- 230000007246 mechanism Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 10
- 230000006835 compression Effects 0.000 description 21
- 238000007906 compression Methods 0.000 description 21
- 238000013473 artificial intelligence Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000000889 atomisation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种小程序公共组件库的构建方法、装置和计算设备。该方法包括:抽取不同应用服务平台的小程序中的公共用户界面组件;根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理;为所述公共用户界面组件提供对应的调用接口,以便在小程序开发中通过所述调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对所述公共用户界面组件进行调用和加载;将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库。本发明构建的公共组件库在开发不同应用服务平台小程序的过程中提供对公共用户界面组件的共享使用,提高小程序的开发效率,进而提升原子化服务的兼容性和稳定性。
Description
技术领域
本发明涉及计算机技术领域,特别是一种小程序公共组件库的构建方法、小程序公共组件库的构建装置、计算机存储介质以及计算设备。
背景技术
小程序是指一种基于特定编程语言开发完成,无需下载和安装就可以使用的移动端应用APP,其最大特点是使用便捷,无需手动在移动端的操作系统中安装,通常依托于大型平台级APP(如微信、支付宝等)作为载体进行使用,为用户提供原子化服务。
在互联网云时代中,现在作为原子化产品的依托于各个应用服务提供商(如腾讯、阿里等)提供的平台级APP的小程序越来越多,诸如微信小程序、支付宝小程序、百度小程序、头条小程序等。每种小程序都有各自的一套语法,同时这些小程序中也存在通用的组件。但现有技术中还没有把小程序中通用的部分抽取出来组件化的技术,从而导致在开发不同APP平台的小程序时会遭遇不同APP平台的小程序的语言不兼容、通用组件的重复开发等问题,增加了代码开发量,影响小程序的开发效率。
因此,亟需一种可以提供通用的UI(User Interface,用户界面)组件来让不同APP平台的小程序都可以引用加载,从而提高小程序开发效率的技术。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的小程序公共组件库的构建方法、小程序公共组件库的构建装置、计算机存储介质以及计算设备。
根据本发明实施例的一方面,提供了一种小程序公共组件库的构建方法,包括:
抽取不同应用服务平台的小程序中的公共用户界面组件;
根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理;
为所述公共用户界面组件提供对应的调用接口,以便在小程序开发中通过所述调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对所述公共用户界面组件进行调用和加载;
将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库。
可选地,根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理,包括:
为所述公共用户界面组件设置兼容机制,所述兼容机制在所述公共用户界面组件被调用时根据所开发的小程序的应用服务平台的语法模板对所述公共用户界面组件进行格式转化,从而使转化后的公共用户界面组件经调用后可在该应用服务平台加载运行。
可选地,根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理,包括:
根据该不同应用服务平台中每一应用服务平台的小程序的语法模板对所述公共用户界面组件进行格式转化,分别生成相应的经调用后可在该应用服务平台加载运行的公共用户界面组件。
可选地,将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库之后,所述方法还包括:
对所述公共用户界面组件进行功能扩展。
可选地,所述抽取的公共用户界面组件采用JS语言。
可选地,在抽取不同应用服务平台的小程序中的公共用户界面组件之后,所述方法还包括:
判断所述抽取的公共用户界面组件的代码是否只包含JS语言代码;
若是,则无需对所述公共用户界面组件进行兼容处理;
若否,则根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理。
可选地,所述公共用户界面组件包括在不同应用服务平台的小程序之间通用、被加载后无需调节的第一类公共用户界面组件,以及在不同应用服务平台的小程序之间兼容、被加载后可进行个性化调节的第二类公共用户界面组件。
可选地,所述第一类公共用户界面组件包括以下至少之一:
协议组件、安全组件、加密/解密算法组件、音频压缩/处理算法组件、视频压缩/处理算法组件、图片压缩/处理算法组件、人工智能处理组件;
所述第二类公共用户界面组件包括以下至少之一:
复选框、搜索框、下拉列框、输入框、按钮、颜色框架、样式框架、折叠框架、字体组件。
可选地,所述不同应用服务平台包括下列之中的至少两者:
微信、头条、百度、支付宝。
根据本发明实施例的另一方面,还提供了一种小程序公共组件库的构建装置,包括:
组件抽取模块,适于抽取不同应用服务平台的小程序中的公共用户界面组件;
兼容处理模块,适于根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理;
接口提供模块,适于为所述公共用户界面组件提供对应的调用接口,以便在小程序开发中通过所述调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对所述公共用户界面组件进行调用和加载;以及
打包模块,适于将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库。
可选地,所述兼容处理模块还适于:
为所述公共用户界面组件设置兼容机制,所述兼容机制在所述公共用户界面组件被调用时根据所开发的小程序的应用服务平台的语法模板对所述公共用户界面组件进行格式转化,从而使转化后的公共用户界面组件经调用后可在该应用服务平台加载运行。
可选地,所述兼容处理模块还适于:
根据该不同应用服务平台中每一应用服务平台的小程序的语法模板对所述公共用户界面组件进行格式转化,分别生成相应的经调用后可在该应用服务平台加载运行的公共用户界面组件。
可选地,所述装置还包括:
功能扩展模块,适于在所述打包模块将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库之后,对所述公共用户界面组件进行功能扩展。
可选地,所述抽取的公共用户界面组件采用JS语言。
可选地,所述装置还包括:
兼容判断模块,适于在所述组件抽取模块抽取不同应用服务平台的小程序中的公共用户界面组件之后,判断所述抽取的公共用户界面组件的代码是否只包含JS语言代码;
若是,则无需对所述公共用户界面组件进行兼容处理;
若否,则触发所述兼容处理模块根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理。
可选地,所述公共用户界面组件包括在不同应用服务平台的小程序之间通用、被加载后无需调节的第一类公共用户界面组件,以及在不同应用服务平台的小程序之间兼容、被加载后可进行个性化调节的第二类公共用户界面组件。
可选地,所述第一类公共用户界面组件包括以下至少之一:
协议组件、安全组件、加密/解密算法组件、音频压缩/处理算法组件、视频压缩/处理算法组件、图片压缩/处理算法组件、人工智能处理组件;
所述第二类公共用户界面组件包括以下至少之一:
复选框、搜索框、下拉列框、输入框、按钮、颜色框架、样式框架、折叠框架、字体组件。
可选地,所述不同应用服务平台包括下列之中的至少两者:
微信、头条、百度、支付宝。
根据本发明实施例的再一方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行根据上文中任一项所述的小程序公共组件库的构建方法。
根据本发明实施例的又一方面,还提供了一种计算设备,包括:
处理器;以及
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行根据上文中任一项所述的小程序公共组件库的构建方法。
本发明实施例提出的小程序公共组件库的构建方法和装置,首先抽取不同应用服务平台的小程序中的公共用户界面组件,然后对抽取出的公共用户界面组件进行针对不同应用服务平台的兼容处理,并为公共用户界面组件提供调用接口,以便在小程序开发中对公共用户界面组件进行调用和加载,最后将处理后的公共用户界面组件和对应的调用接口打包生成公共组件库。通过将不同应用服务平台的小程序的通用部分抽取出来组件化并进行针对不同应用服务平台的兼容性的统一处理,使得所生成的公共组件库可作为原子化服务小程序的语言统一化标准框架,在开发不同应用服务平台的小程序的过程中提供对公共用户界面组件的共享使用,实现了能够便捷地基于该公共组件库进行任何平台的小程序开发,大大提高了小程序的开发效率,进而提升原子化服务的兼容性和稳定性。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一实施例的小程序公共组件库的构建方法的流程图;
图2示出了根据本发明另一实施例的小程序公共组件库的构建方法的流程图;
图3示出了根据本发明一实施例的小程序公共组件库的构建装置的结构示意图;以及
图4示出了根据本发明另一实施例的小程序公共组件库的构建装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
现有技术中,不同APP平台的小程序都有各自的一套语法,由于没有把小程序中通用的部分抽取出来组件化,在开发不同APP平台的小程序时难免会重复开发一些通用组件。比如,当需要分别开发提供某一服务的微信小程序、支付宝小程序、百度小程序和头条小程序时,一些通用组件会被重复开发四次。并且,由于这四种小程序的语言、语法之间不兼容,在进行不同APP平台的小程序开发时,需要对新加的小程序进行兼容性和扩展性的增加。这些都需要代码的开发量,比较麻烦,效率低。
为解决上述技术问题,本发明实施例提出一种小程序公共组件库的构建方法。图1示出了根据本发明一实施例的小程序公共组件库的构建方法的流程图。参见图1,该方法至少可以包括以下步骤S102至步骤S108。
步骤S102,抽取不同应用服务平台的小程序中的公共用户界面组件。
步骤S104,根据该不同应用服务平台的小程序的语法对公共用户界面组件进行针对该不同应用服务平台的兼容处理。
步骤S106,为公共用户界面组件提供对应的调用接口,以便在小程序开发中通过该调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对公共用户界面组件进行调用和加载。
步骤S108,将处理后的公共用户界面组件和对应的调用接口打包生成公共组件库。
本发明实施例提供的小程序公共组件库的构建方法,通过将不同应用服务平台的小程序的通用部分抽取出来组件化并进行针对不同应用服务平台的兼容性的统一处理,使得所生成的公共组件库可作为原子化服务小程序的语言统一化标准框架,在开发不同应用服务平台的小程序的过程中提供对公共用户界面组件的共享使用,实现了能够便捷地基于该公共组件库进行任何平台的小程序开发,大大提高了小程序的开发效率,进而提升原子化服务的兼容性和稳定性。
上文步骤S102中提及的不同应用服务平台指可作为小程序的依托载体的各种大型平台级APP,包括但不限于微信、头条、百度、支付宝等。
抽取的公共用户界面组件可以是采用JS语言编写的一些通用框架,这些框架主要采用了JS标准语法,如标准化的ES5语法,还采用了常用的一些ES6和/或ES7的语法。进而,基于抽取的公共用户界面组件构建的公共组件库也是采用了JS格式,主要是基于JS标准语法,还可以兼容ES6和/或ES7的语法,提供丰富的JS语法支持,可普遍适用于当前各种小程序的页面开发,有利于精简代码,实现高效开发。
抽取出来的公共用户界面组件可以包括以下两种类型:
(1)可在不同应用服务平台的小程序之间通用、被调用加载后无需再进行个性化调节的第一类公共用户界面组件。具体地,这种类型的公共用户界面组件可以包括协议组件、安全组件、加密/解密算法组件、音频压缩/处理算法组件、视频压缩/处理算法组件、图片压缩/处理算法组件、人工智能处理组件等中的至少之一。
协议组件可包括常用的HTTP(HyperText Transfer Protocol,超文本传输协议)协议、RPC(Remote Procedure Call,远程过程调用)协议、LDAP(Lightweight DirectoryAccess Protocol,轻量目录访问协议)等。人工智能处理组件具体地可以是神经网络处理组件,例如深度神经网络等。
(2)可在不同应用服务平台的小程序之间兼容、被调用加载后可再进行个性化调节的第二类公共用户界面组件。具体地,这种类型的公共用户界面组件可以包括复选框、搜索框、下拉列框、输入框、button(按钮)、颜色框架、样式框架、折叠框架、字体组件等中的至少之一。
对于第二类公共用户界面组件,在小程序开发中被调用加载以填充进小程序的整体框架中后,用户(开发者)可以根据实际效果需求对该组件进行个性化调节。例如,对于调用加载的下拉列框,可以进行尺寸大小(如宽和高)的调节。在实际操作中,可以通过CSS(Cascading Style Sheets,层叠样式表)等来实现个性化调节。
上文步骤S104中,为了使构建的公共组件库可以支持不同应用服务平台的小程序的引用加载,对抽取的公共用户界面组件进行兼容性处理。
在本发明的可选实施例中,对抽取的公共用户界面组件进行兼容处理的方式可以有以下两种:
第一种方式,为抽取出来的公共用户界面组件设置兼容机制,该兼容机制在公共用户界面组件被调用时根据所开发的小程序的应用服务平台的语法模板对抽取出的公共用户界面组件进行格式转化,从而使转化后的公共用户界面组件经调用后可在该应用服务平台加载运行。
此处提及的语法模板指通过抽取每一个应用服务平台的小程序中的通用语法而生成的该个应用服务平台的语法模板。对于每一个应用服务平台来说,此处提及的通用语法可包括该应用服务平台的不同小程序中实现功能的通用的语法、该应用服务平台提供给第三方开发者进行小程序开发和使用的语法等。例如,通过分别抽取微信小程序、百度小程序、头条小程序、支付宝小程序的通用语法而生成的微信小程序的语法模板、百度小程序的语法模板、头条小程序的语法模板、支付宝小程序的语法模板。
小程序的运行形式是一个页面,为了实现该页面中每个元素(或称组件)的功能,除了通用的JS语言代码外,还需为每个元素定义相应的标签。对于现有的不同应用服务平台的小程序,这些标签通常包含THML的通用标签(例如div等),以及使小程序兼容于应用服务平台以使小程序可在应用服务平台上运行的特定标签。不同的应用服务平台小程序对于同一元素定义的标签各不相同。
在一种示例性实施方式中,当在小程序开发过程中,公共组件库中的某公共用户界面组件被调用时,该兼容机制会将所开发的小程序的应用服务平台(不妨称为目标应用服务平台)的语法模板与该公共用户界面组件的语法进行一一对应,具体地,可以将两者中的标签进行一一对应,并通过将该公共用户界面组件中的标签翻译转化为目标应用服务平台定义的相应标签,来使该公共用户界面组件与目标应用服务平台兼容。进而,将转化后的公共用户界面组件提供给用户(开发者),使该公共用户界面组件被加载引入该目标应用服务平台的小程序中。
举例来说,例如对于抽取出来的复选框组件,当在开发微信小程序的过程中从公共组件库调用复选框时,该兼容机制能够根据微信小程序的语法模板对被调用的复选框进行对应的格式转化以生成与微信小程序兼容的复选框,并提供转化后生成的复选框组件给用户(开发者),使该复选框可被加载引入所开发的微信小程序中。而当在开发百度小程序的过程中从公共组件库调用复选框时,该兼容机制能够根据百度小程序的语法模板对被调用的复选框进行对应的格式转化以生成与百度小程序兼容的复选框,从而使该复选框可被加载引入所开发的百度小程序中。
第二种方式,根据该不同应用服务平台中每一应用服务平台的小程序的语法模板对抽取出来的公共用户界面组件进行格式转化,分别生成相应的经调用后可在该应用服务平台加载运行的公共用户界面组件。
举例来说,可以分别根据微信小程序的语法模板、百度小程序的语法模板、头条小程序的语法模板、支付宝小程序的语法模板对抽取出来的复选框组件进行格式转化,分别生成可兼容于微信小程序、百度小程序、头条小程序、支付宝小程序的复选框组件。
在现有的不同应用服务平台的小程序中,JS代码部分都是采用的通用的技术,不存在兼容性问题。因此,为避免不必要的兼容处理,在本发明的一个可选实施例中,在进行步骤S104之前,还可以执行以下步骤:
判断所抽取的公共用户界面组件的代码是否只包含JS语言代码;
若是,则无需对抽取的公共用户界面组件进行兼容处理;
若否,则执行步骤S104。
上文步骤S106中提及的调用接口可以是对应的API(Application ProgrammingInterface,应用程序编程接口)。
上文步骤S108中,可以通过webpack等打包工具将兼容处理以后的公共用户界面组件和对应的调用接口打包生成一个第三方的公共组件库,例如node.js库。
在本发明的一个可选实施例中,还可以对公共组件库中的公共用户界面组件的功能进行扩展。例如,在搭建好公共组件库之后,可以根据需要对公共组件库中的加密/解密算法组件进行功能扩展。进而,各不同应用服务平台的小程序(如微信小程序、百度小程序等)等通过调用公共组件库中的加密/解密算法组件对自身程序进行修正。
以上介绍了图1所示实施例的各个环节的多种实现方式,下面将通过具体实施例来详细介绍本发明的小程序公共组件库的构建方法的实现过程。
图2示出了根据本发明一具体实施例的小程序公共组件库的构建方法的流程示意图。参见图2所示,该方法至少可以包括以下步骤S202至步骤S212。
步骤S202,抽取不同应用服务平台的小程序中的公共用户界面组件。
本实施例中,该不同应用服务平台可包括微信、头条、百度、支付宝等。
抽取的公共用户界面组件采用JS语言编写。
抽取的公共用户界面组件包括协议组件、安全组件、加密/解密算法组件、音频压缩/处理算法组件、视频压缩/处理算法组件、图片压缩/处理算法组件、人工智能处理组件、button、复选框、颜色框架、样式框架、折叠框架等的至少之一。
步骤S204,判断抽取的公共用户界面组件的代码是否只包含JS语言代码;若是,则无需对抽取的公共用户界面组件进行兼容处理,转至步骤S208;若否,则执行步骤S206。
步骤S206,为抽取的公共用户界面组件设置兼容机制,该兼容机制在公共用户界面组件被调用时根据所开发的小程序的应用服务平台的语法模板对抽取出的公共用户界面组件进行格式转化,从而使转化后的公共用户界面组件经调用后可在该应用服务平台加载运行。
步骤S208,为公共用户界面组件提供对应的API,以便在小程序开发中通过该API根据所开发的小程序的应用服务平台和待调用组件的标识对公共用户界面组件进行调用和加载。
步骤S210,将兼容处理后的公共用户界面组件和对应的API打包生成公共组件库。
本步骤中,采用webpack工具进行打包,生成的公共组件库为node.js库。
步骤S212,对该公共组件库中的公共用户界面组件进行功能扩展。
本发明实施例通过对抽取的小程序的公共用户界面组件进行兼容性的统一处理和功能扩展,实现了在开发不同应用服务平台的小程序的过程中提供对公共用户界面组件的共享使用,有效提高小程序的开发效率。
基于同一发明构思,本发明实施例还提供了一种小程序公共组件库的构建装置,用于支持上述任意一个实施例或其组合所提供的小程序公共组件库的构建方法。图3示出了根据本发明一实施例的小程序公共组件库的构建装置300的结构示意图。参见图3,该装置300至少可以包括:组件抽取模块310、兼容处理模块320、接口提供模块330以及打包模块340。
现介绍本发明实施例的小程序公共组件库的构建装置300的各组成或器件的功能以及各部分间的连接关系:
组件抽取模块310,适于抽取不同应用服务平台的小程序中的公共用户界面组件。
兼容处理模块320,与组件抽取模块310连接,适于根据该不同应用服务平台的小程序的语法对抽取的公共用户界面组件进行针对该不同应用服务平台的兼容处理。
接口提供模块330,与兼容处理模块320连接,适于为公共用户界面组件提供对应的调用接口,以便在小程序开发中通过调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对公共用户界面组件进行调用和加载。
打包模块340,与接口提供模块330连接,适于将处理后的公共用户界面组件和对应的调用接口打包生成公共组件库。
上文提及的不同应用服务平台指可作为小程序的依托载体的各种大型平台级APP,包括但不限于微信、头条、百度、支付宝等。
在本发明的一个可选实施例中,兼容处理模块320还适于:
为抽取的公共用户界面组件设置兼容机制,该兼容机制在公共用户界面组件被调用时根据所开发的小程序的应用服务平台的语法模板对该公共用户界面组件进行格式转化,从而使转化后的公共用户界面组件经调用后可在该应用服务平台加载运行。
在本发明的一个可选实施例中,兼容处理模块320还适于:
根据该不同应用服务平台中每一应用服务平台的小程序的语法模板对抽取的公共用户界面组件进行格式转化,分别生成相应的经调用后可在该应用服务平台加载运行的公共用户界面组件。
在本发明的一个可选实施例中,参照图4所示,该装置300还可以包括功能扩展模块350。功能扩展模块350可与打包模块340连接,适于在打包模块340将处理后的公共用户界面组件和对应的调用接口打包生成公共组件库之后,对公共组件库中的公共用户界面组件进行功能扩展。
在本发明的一个可选实施例中,所抽取的公共用户界面组件可以采用JS语言编写。
进一步地,在本发明的一个可选实施例中,仍然参照图4所示,该装置300还可以包括兼容判断模块360。兼容判断模块360可分别与组件抽取模块310和兼容处理模块320相连接,适于在组件抽取模块310抽取不同应用服务平台的小程序中的公共用户界面组件之后,判断所抽取的公共用户界面组件的代码是否只包含JS语言代码;若是,则无需对公共用户界面组件进行兼容处理;若否,则触发兼容处理模块320根据该不同应用服务平台的小程序的语法对抽取的公共用户界面组件进行针对该不同应用服务平台的兼容处理。
在本发明的一个可选实施例中,抽取的公共用户界面组件可以包括在不同应用服务平台的小程序之间通用、被加载后无需调节的第一类公共用户界面组件,以及在不同应用服务平台的小程序之间兼容、被加载后可进行个性化调节的第二类公共用户界面组件。
进一步地,第一类公共用户界面组件可以包括以下至少之一:
协议组件、安全组件、加密/解密算法组件、音频压缩/处理算法组件、视频压缩/处理算法组件、图片压缩/处理算法组件、人工智能处理组件。
第二类公共用户界面组件可以包括以下至少之一:
复选框、搜索框、下拉列框、输入框、按钮、颜色框架、样式框架、折叠框架、字体组件。基于同一发明构思,本发明实施例还提供了一种计算机存储介质。该计算机存储介质存储有计算机程序代码,当该计算机程序代码在计算设备上运行时,导致计算设备执行根据上述任意一个实施例或其组合所述的小程序公共组件库的构建方法。
基于同一发明构思,本发明实施例还提供了一种计算设备。该计算设备可以包括:
处理器;以及
存储有计算机程序代码的存储器;
当该计算机程序代码被处理器运行时,导致该计算设备执行根据上述任意一个实施例或其组合所述的小程序公共组件库的构建方法。
根据上述任意一个可选实施例或多个可选实施例的组合,本发明实施例能够达到如下有益效果:
本发明实施例提出的小程序公共组件库的构建方法和装置,首先抽取不同应用服务平台的小程序中的公共用户界面组件,然后对抽取出的公共用户界面组件进行针对不同应用服务平台的兼容处理,并为公共用户界面组件提供调用接口,以便在小程序开发中对公共用户界面组件进行调用和加载,最后将处理后的公共用户界面组件和对应的调用接口打包生成公共组件库。通过将不同应用服务平台的小程序的通用部分抽取出来组件化并进行针对不同应用服务平台的兼容性的统一处理,使得所生成的公共组件库可作为原子化服务小程序的语言统一化标准框架,在开发不同应用服务平台的小程序的过程中提供对公共用户界面组件的共享使用,实现了能够便捷地基于该公共组件库进行任何平台的小程序开发,大大提高了小程序的开发效率,进而提升原子化服务的兼容性和稳定性。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
根据本发明实施例的一方面,提供了A1.一种小程序公共组件库的构建方法,包括:
抽取不同应用服务平台的小程序中的公共用户界面组件;
根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理;
为所述公共用户界面组件提供对应的调用接口,以便在小程序开发中通过所述调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对所述公共用户界面组件进行调用和加载;
将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库。
A2.根据A1所述的方法,其中,根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理,包括:
为所述公共用户界面组件设置兼容机制,所述兼容机制在所述公共用户界面组件被调用时根据所开发的小程序的应用服务平台的语法模板对所述公共用户界面组件进行格式转化,从而使转化后的公共用户界面组件经调用后可在该应用服务平台加载运行。
A3.根据A1所述的方法,其中,根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理,包括:
根据该不同应用服务平台中每一应用服务平台的小程序的语法模板对所述公共用户界面组件进行格式转化,分别生成相应的经调用后可在该应用服务平台加载运行的公共用户界面组件。
A4.根据A1-A3中任一项所述的方法,其中,将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库之后,还包括:
对所述公共用户界面组件进行功能扩展。
A5.根据A1-A4中任一项所述的方法,其中,所述抽取的公共用户界面组件采用JS语言。
A6.根据A5所述的方法,其中,在抽取不同应用服务平台的小程序中的公共用户界面组件之后,还包括:
判断所述抽取的公共用户界面组件的代码是否只包含JS语言代码;
若是,则无需对所述公共用户界面组件进行兼容处理;
若否,则根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理。
A7.根据A1-A6中任一项所述的方法,其中,所述公共用户界面组件包括在不同应用服务平台的小程序之间通用、被加载后无需调节的第一类公共用户界面组件,以及在不同应用服务平台的小程序之间兼容、被加载后可进行个性化调节的第二类公共用户界面组件。
A8.根据A7所述的方法,其中,所述第一类公共用户界面组件包括以下至少之一:
协议组件、安全组件、加密/解密算法组件、音频压缩/处理算法组件、视频压缩/处理算法组件、图片压缩/处理算法组件、人工智能处理组件;
所述第二类公共用户界面组件包括以下至少之一:
复选框、搜索框、下拉列框、输入框、按钮、颜色框架、样式框架、折叠框架、字体组件。
A9.根据A1-A8中任一项所述的方法,其中,所述不同应用服务平台包括下列之中的至少两者:
微信、头条、百度、支付宝。
根据本发明实施例的另一方面,还提供了B10.一种小程序公共组件库的构建装置,包括:
组件抽取模块,适于抽取不同应用服务平台的小程序中的公共用户界面组件;
兼容处理模块,适于根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理;
接口提供模块,适于为所述公共用户界面组件提供对应的调用接口,以便在小程序开发中通过所述调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对所述公共用户界面组件进行调用和加载;以及
打包模块,适于将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库。
B11.根据B10所述的装置,其中,所述兼容处理模块还适于:
为所述公共用户界面组件设置兼容机制,所述兼容机制在所述公共用户界面组件被调用时根据所开发的小程序的应用服务平台的语法模板对所述公共用户界面组件进行格式转化,从而使转化后的公共用户界面组件经调用后可在该应用服务平台加载运行。
B12.根据B10所述的装置,其中,所述兼容处理模块还适于:
根据该不同应用服务平台中每一应用服务平台的小程序的语法模板对所述公共用户界面组件进行格式转化,分别生成相应的经调用后可在该应用服务平台加载运行的公共用户界面组件。
B13.根据B10-B12中任一项所述的装置,其中,还包括:
功能扩展模块,适于在所述打包模块将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库之后,对所述公共用户界面组件进行功能扩展。
B14.根据B10-B13中任一项所述的装置,其中,所述抽取的公共用户界面组件采用JS语言。
B15.根据B14所述的装置,其中,还包括:
兼容判断模块,适于在所述组件抽取模块抽取不同应用服务平台的小程序中的公共用户界面组件之后,判断所述抽取的公共用户界面组件的代码是否只包含JS语言代码;
若是,则无需对所述公共用户界面组件进行兼容处理;
若否,则触发所述兼容处理模块根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理。
B16.根据B10-B15中任一项所述的装置,其中,所述公共用户界面组件包括在不同应用服务平台的小程序之间通用、被加载后无需调节的第一类公共用户界面组件,以及在不同应用服务平台的小程序之间兼容、被加载后可进行个性化调节的第二类公共用户界面组件。
B17.根据B16所述的装置,其中,所述第一类公共用户界面组件包括以下至少之一:
协议组件、安全组件、加密/解密算法组件、音频压缩/处理算法组件、视频压缩/处理算法组件、图片压缩/处理算法组件、人工智能处理组件;
所述第二类公共用户界面组件包括以下至少之一:
复选框、搜索框、下拉列框、输入框、按钮、颜色框架、样式框架、折叠框架、字体组件。
B18.根据B10-B17中任一项所述的装置,其中,所述不同应用服务平台包括下列之中的至少两者:
微信、头条、百度、支付宝。
根据本发明实施例的再一方面,还提供了C19.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行根据A1-A9中任一项所述的小程序公共组件库的构建方法。
根据本发明实施例的又一方面,还提供了D20.一种计算设备,包括:
处理器;以及
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行根据A1-A9中任一项所述的小程序公共组件库的构建方法。
Claims (10)
1.一种小程序公共组件库的构建方法,包括:
抽取不同应用服务平台的小程序中的公共用户界面组件;
根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理;
为所述公共用户界面组件提供对应的调用接口,以便在小程序开发中通过所述调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对所述公共用户界面组件进行调用和加载;
将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库。
2.根据权利要求1所述的方法,其中,根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理,包括:
为所述公共用户界面组件设置兼容机制,所述兼容机制在所述公共用户界面组件被调用时根据所开发的小程序的应用服务平台的语法模板对所述公共用户界面组件进行格式转化,从而使转化后的公共用户界面组件经调用后可在该应用服务平台加载运行。
3.根据权利要求1所述的方法,其中,根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理,包括:
根据该不同应用服务平台中每一应用服务平台的小程序的语法模板对所述公共用户界面组件进行格式转化,分别生成相应的经调用后可在该应用服务平台加载运行的公共用户界面组件。
4.根据权利要求1-3中任一项所述的方法,其中,将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库之后,还包括:
对所述公共用户界面组件进行功能扩展。
5.根据权利要求1-4中任一项所述的方法,其中,所述抽取的公共用户界面组件采用JS语言。
6.根据权利要求5所述的方法,其中,在抽取不同应用服务平台的小程序中的公共用户界面组件之后,还包括:
判断所述抽取的公共用户界面组件的代码是否只包含JS语言代码;
若是,则无需对所述公共用户界面组件进行兼容处理;
若否,则根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理。
7.根据权利要求1-6中任一项所述的方法,其中,所述公共用户界面组件包括在不同应用服务平台的小程序之间通用、被加载后无需调节的第一类公共用户界面组件,以及在不同应用服务平台的小程序之间兼容、被加载后可进行个性化调节的第二类公共用户界面组件。
8.一种小程序公共组件库的构建装置,包括:
组件抽取模块,适于抽取不同应用服务平台的小程序中的公共用户界面组件;
兼容处理模块,适于根据该不同应用服务平台的小程序的语法对所述公共用户界面组件进行针对该不同应用服务平台的兼容处理;
接口提供模块,适于为所述公共用户界面组件提供对应的调用接口,以便在小程序开发中通过所述调用接口根据所开发的小程序的应用服务平台和待调用组件的标识对所述公共用户界面组件进行调用和加载;以及
打包模块,适于将处理后的所述公共用户界面组件和对应的调用接口打包生成公共组件库。
9.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-7中任一项所述的小程序公共组件库的构建方法。
10.一种计算设备,包括:
处理器;以及
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行根据权利要求1-7中任一项所述的小程序公共组件库的构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910199820.0A CN111694569A (zh) | 2019-03-15 | 2019-03-15 | 一种小程序公共组件库的构建方法、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910199820.0A CN111694569A (zh) | 2019-03-15 | 2019-03-15 | 一种小程序公共组件库的构建方法、装置和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111694569A true CN111694569A (zh) | 2020-09-22 |
Family
ID=72475389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910199820.0A Pending CN111694569A (zh) | 2019-03-15 | 2019-03-15 | 一种小程序公共组件库的构建方法、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694569A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328333A (zh) * | 2020-10-27 | 2021-02-05 | 武汉联影医疗科技有限公司 | 内置程序操作方法、装置、计算机设备和存储介质 |
CN112560076A (zh) * | 2021-02-23 | 2021-03-26 | 浙江口碑网络技术有限公司 | 程序页面展示方法、装置、计算机设备及可读存储介质 |
CN112702412A (zh) * | 2020-12-21 | 2021-04-23 | 梓昆(杭州)押运安保服务有限公司 | 批量多维度开关款箱控制系统、控制方法、设备及介质 |
CN113360180A (zh) * | 2021-06-28 | 2021-09-07 | 平安普惠企业管理有限公司 | 系统的组件配置方法、装置、计算机设备及存储介质 |
CN113946384A (zh) * | 2021-10-15 | 2022-01-18 | 中电金信软件有限公司 | 一种小程序的运行方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149741A (zh) * | 2006-06-29 | 2008-03-26 | 洛克威尔自动控制技术股份有限公司 | 利用gui功能块的自动化hmi可视化 |
CN108572818A (zh) * | 2017-03-08 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
US20180330343A1 (en) * | 2017-05-11 | 2018-11-15 | Microsoft Technology Licensing, Llc | Cryptlet smart contract |
CN109460279A (zh) * | 2018-12-14 | 2019-03-12 | 平安城市建设科技(深圳)有限公司 | 基于小程序的表单页面开发方法、装置、设备及存储介质 |
-
2019
- 2019-03-15 CN CN201910199820.0A patent/CN111694569A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149741A (zh) * | 2006-06-29 | 2008-03-26 | 洛克威尔自动控制技术股份有限公司 | 利用gui功能块的自动化hmi可视化 |
CN108572818A (zh) * | 2017-03-08 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
US20180330343A1 (en) * | 2017-05-11 | 2018-11-15 | Microsoft Technology Licensing, Llc | Cryptlet smart contract |
CN109460279A (zh) * | 2018-12-14 | 2019-03-12 | 平安城市建设科技(深圳)有限公司 | 基于小程序的表单页面开发方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
嗜码: "推荐3个小程序开源组件库——Vant、iView、ColorUI", Retrieved from the Internet <URL:https://blog.csdn.net/qq_37954086/article/details/86649279> * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328333A (zh) * | 2020-10-27 | 2021-02-05 | 武汉联影医疗科技有限公司 | 内置程序操作方法、装置、计算机设备和存储介质 |
CN112702412A (zh) * | 2020-12-21 | 2021-04-23 | 梓昆(杭州)押运安保服务有限公司 | 批量多维度开关款箱控制系统、控制方法、设备及介质 |
CN112560076A (zh) * | 2021-02-23 | 2021-03-26 | 浙江口碑网络技术有限公司 | 程序页面展示方法、装置、计算机设备及可读存储介质 |
CN113360180A (zh) * | 2021-06-28 | 2021-09-07 | 平安普惠企业管理有限公司 | 系统的组件配置方法、装置、计算机设备及存储介质 |
CN113946384A (zh) * | 2021-10-15 | 2022-01-18 | 中电金信软件有限公司 | 一种小程序的运行方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694569A (zh) | 一种小程序公共组件库的构建方法、装置和计算设备 | |
US10742773B2 (en) | Protocol conversion method, platform, and protocol conversion gateway | |
CN110187902B (zh) | 基于spring boot的项目改造方法、装置、设备及存储介质 | |
US20060161914A1 (en) | Systems and methods to modify application installations | |
CN107092475B (zh) | 一种交互控件的调用方法及装置 | |
CN110442327B (zh) | 一种应用程序构建方法、装置、服务器 | |
CN112364101A (zh) | 数据的同步方法、装置、终端设备及介质 | |
CN106302103B (zh) | 一种信息处理方法及其系统、应用服务器 | |
CN111343181B (zh) | 报文的处理方法,系统以及数据池和计算机可读存储介质 | |
CN112134900B (zh) | 数据报文处理方法及装置 | |
CN117093286A (zh) | 插件生成方法、装置、设备及计算机可读存储介质 | |
CN112130830A (zh) | 接口生成方法、装置及电子设备 | |
JP2005182562A (ja) | コンパイル方法および装置、ならびにコンパイラ | |
WO2023083071A1 (zh) | 视图交互方法、装置、电子设备及计算机可读介质 | |
US10289462B1 (en) | Systems and methods for integration of websphere optimized local adapters with the spring framework | |
CN113094086B (zh) | 组件集成方法、装置、计算机可读存储介质及电子设备 | |
CN110659062B (zh) | 前端脚手架的配置方法和装置、可读存储介质、电子设备 | |
CN113485687B (zh) | 一种基于ice分布式跨语言应用的快速搭建方法及系统 | |
JP6001199B2 (ja) | アンドロイドアプリケーションのタイゼン導入可能パッケージ自動変換方法及びこのためのコンピュータ読み取り可能な記録媒体 | |
CN117971350A (zh) | 小程序运行方法、装置和计算机可读存储介质 | |
CN114201179A (zh) | 接口文档的代码转化方法、装置、终端设备以及存储介质 | |
CN114968200A (zh) | 软件开发工具包组装方法、相关装置及计算机程序产品 | |
CN113760274B (zh) | 一种前端组件逻辑注入方法和装置 | |
CN114925120A (zh) | 保险业务信息查询方法及相关设备 | |
CN113296975A (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 |