CN114398091A - Flutter组件的配置方法及装置 - Google Patents
Flutter组件的配置方法及装置 Download PDFInfo
- Publication number
- CN114398091A CN114398091A CN202111467818.0A CN202111467818A CN114398091A CN 114398091 A CN114398091 A CN 114398091A CN 202111467818 A CN202111467818 A CN 202111467818A CN 114398091 A CN114398091 A CN 114398091A
- Authority
- CN
- China
- Prior art keywords
- target
- configuration
- configuration set
- flutter component
- item
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004590 computer program Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 62
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
Abstract
本申请提供一种Flutter组件的配置方法及装置,该方法包括:在目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。本申请实施例提供的Flutter组件的配置方法及装置,用于根据不同的业务需求对不同的Flutter组件进行配置,以实现更好的展示效果。
Description
技术领域
本申请涉及软件技术领域,尤其涉及一种Flutter组件的配置方法及装置。
背景技术
Flutter是一款开源的构建用户界面(User Interface,UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,可以快速在iOS和Android系统上构建高质量的用户界面。
在相关技术中,应用程序初始化时,会将Flutter组件的配置注册为全局配置,使得所有Flutter组件均按照该全局配置进行加载。这样的配置方式无法根据不同的业务需求进行特异化的配置,展示效果并不理想。
发明内容
本申请的目的是提供一种Flutter组件的配置方法及装置,用于根据不同的业务需求对不同的Flutter组件进行配置,以实现更好的展示效果。
本申请提供一种Flutter组件的配置方法,包括:在目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。
可选地,所述目标Flutter组件配置集合作为所述目标应用对应界面的widget的属性存储在所述依赖库中;所述在所述目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合,包括:从所述目标应用的依赖库中获取所述目标业务对应界面的widget属性;从所述widget属性中提取所述目标Flutter组件配置集合。
可选地,所述目标应用为Protal应用;所述获取所述目标业务对应的目标Flutter组件配置集合之前,所述方法还包括:获取所述目标应用的Protal配置集合;基于所述依赖库中加载的默认配置集合,调整所述Protal配置集合,将所述Protal配置集合中的第一配置项的值设置为所述默认配置集合中第二配置项的值;其中,所述第一配置项为所述Protal配置集合中未进行配置的配置项;所述第二配置项为所述默认配置集合中,与所述第一配置项对应的配置项。
可选地,所述基于所述依赖库中加载的默认配置集合,调整所述Protal配置集合,将所述Protal配置集合中的第一配置项的值设置为所述默认配置集合中第二配置项的值之后,所述方法还包括:获取所述目标业务的第一配置集合;基于调整后的Protal配置集合,或者,所述默认配置集合,调整所述第一配置集合,并得到所述目标Flutter组件配置集合;将所述目标Flutter组件配置集合作为所述目标业务对应界面的widget属性,与所述目标业务关联存储到所述依赖库中。
可选地,所述基于调整后的Protal配置集合,或者,所述默认配置集合,调整所述第一配置集合,并得到所述目标Flutter组件配置集合,包括:在所述依赖库中存储有所述调整后的Protal配置集合的情况下,将所述第一配置集合中的第三配置项设置为所述调整后的Portal配置集合中第四配置项的值;或者,在所述依赖库中未存储所述调整后的Protal配置集合的情况下,将所述第三配置项的值设置为所述默认配置集合中第五配置项的值;其中,所述第三配置项为所述第一配置集合中未进行配置的配置项;所述第四配置项为所述调整后的Protal配置集合中,与所述第三配置项对应的配置项;所述第五配置项为所述默认配置集合中,与所述第三配置项对应的配置项。
可选地,所述基于所述目标Flutter组件配置集合,加载所述目标Flutter组件,包括:获取所述目标Flutter组件的第二配置集合;将所述第二配置集合中的第六配置项的值设置为所述目标Flutter组件配置集合中的第七配置项的值,得到第三配置集合;基于所述第三配置集合,加载所述目标Flutter组件;其中,所述第六配置项为所述第二配置集合中未进行配置的配置项;所述第七配置项为所述目标Flutter组件配置集合中,与所述第六配置项对应的配置项。
本申请还提供一种Flutter组件的配置装置,包括:
获取模块,用于在目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;加载模块,用于基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。
可选地,所述目标Flutter组件配置集合作为所述目标应用对应界面的widget的属性存储在所述依赖库中;所述获取模块,具体用于从所述目标应用的依赖库中获取所述目标业务对应界面的widget属性;所述获取模块,具体还用于从所述widget属性中提取所述目标Flutter组件配置集合。
可选地,所述目标应用为Protal应用;所述装置还包括:调整模块;所述获取模块,还用于获取所述目标应用的Protal配置集合;所述调整模块,用于基于所述依赖库中加载的默认配置集合,调整所述Protal配置集合,将所述Protal配置集合中的第一配置项的值设置为所述默认配置集合中第二配置项的值;其中,所述第一配置项为所述Protal配置集合中未进行配置的配置项;所述第二配置项为所述默认配置集合中,与所述第一配置项对应的配置项。
可选地,所述装置还包括:存储模块;所述获取模块,还用于获取所述目标业务的第一配置集合;所述调整模块,还用于基于调整后的Protal配置集合,或者,所述默认配置集合,调整所述第一配置集合,并得到所述目标Flutter组件配置集合;所述存储模块,用于将所述目标Flutter组件配置集合作为所述目标业务对应界面的widget属性,与所述目标业务关联存储到所述依赖库中。
可选地,所述调整模块,具体用于在所述依赖库中存储有所述调整后的Protal配置集合的情况下,将所述第一配置集合中的第三配置项设置为所述调整后的Portal配置集合中第四配置项的值;或者,所述调整模块,具体用于在所述依赖库中未存储所述调整后的Protal配置集合的情况下,将所述第三配置项的值设置为所述默认配置集合中第五配置项的值;其中,所述第三配置项为所述第一配置集合中未进行配置的配置项;所述第四配置项为所述调整后的Protal配置集合中,与所述第三配置项对应的配置项;所述第五配置项为所述默认配置集合中,与所述第三配置项对应的配置项。
可选地,所述获取模块,还用于获取所述目标Flutter组件的第二配置集合;所述调整模块,还用于将所述第二配置集合中的第六配置项的值设置为所述目标Flutter组件配置集合中的第七配置项的值,得到第三配置集合;所述加载模块,具体用于基于所述第三配置集合,加载所述目标Flutter组件;其中,所述第六配置项为所述第二配置集合中未进行配置的配置项;所述第七配置项为所述目标Flutter组件配置集合中,与所述第六配置项对应的配置项。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述Flutter组件的配置方法的步骤。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述Flutter组件的配置方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述Flutter组件的配置方法的步骤。
本申请提供的Flutter组件的配置方法及装置,为了使应用程序能够根据不同的业务需求为每个业务进行Flutter组件的特异化配置,在目标应用的依赖库中单独为目标应用的每个业务存储有对应的Flutter组件配置集合,使得在目标应用加载目标业务对应的目标Flutter组件时,能够从目标应用的依赖库中获取目标业务对应的目标Flutter组件配置集合,并基于目标Flutter组件配置集合,加载目标Flutter组件。如此,能够根据不同的业务需求,为不同的业务设置不同的Flutter组件的展示效果。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的Flutter组件的配置方法的流程示意图之一;
图2是本申请提供的Flutter组件的配置方法所应用的软件架构示意图;
图3是本申请提供的Flutter组件的配置方法的流程示意图之二;
图4是本申请提供的Flutter组件的配置装置的结构示意图;
图5是本申请提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
基于Flutter组件的跨平台特性,开发人员可以针对不同的平台开发通用的Flutter组件,Flutter组件根据应用的依赖库中的基础属性配置进行对应主题的展示。
在相关技术中,一个应用程序通常包括多个业务,即作为应用程序入口的Protal对应多个Package,每个Package为一个业务。因现有技术是主题包裹widget在根节点做组件配置,而只有Protal是有根节点,所依赖的业务Package1、Package2、...并没有根节点,所以一个应用中的所有Flutter组件通常只能加载Protal配置或者依赖组件库的默认配置,并不能实现Package特异化配置。
因此,本申请发明人想到了一种Flutter组件的配置方法,能够适应不同的业务需求。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的Flutter组件的配置方法进行详细地说明。
如图1所示,本申请实施例提供的一种Flutter组件的配置方法,该方法可以包括下述步骤101和步骤102:
步骤101、在目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合。
其中,上述目标应用可以为Protal应用;所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合;所述目标Flutter组件配置集合为基于所述目标业务的需求设置的。
需要说明的是,本申请实施例提供的Flutter组件的配置方法所涉及的应用架构为如图2所示的应用架构。如图2所示,Protal是一个聚集各个信息员的内容并作为信息系统表现的宿主,Protal应用包括了Package A、Package B、Package C以及Package D四个软件包,每个软件包对应一个业务,即业务A、业务B、业务C以及业务D。每个业务运行是需要加载一个或多个Flutter组件。同时,Protal应用作为一个Flutter壳工程,包括了渠道配置、网络接口实现等多个模块。在Protal应用运行、软件包运行以及加载Flutter组件时,均需要使用依赖库中的各种组件、插件、配置信息等。
示例性地,本申请实施例中,根据目标应用中不同业务的不同需求,在目标应用的依赖库中分别为每个业务设置了单独的Flutter组件配置集合,每个业务对应的Flutter组件配置集合中包括了至少一个配置。该Flutter组件配置集合可以用于业务所需的Flutter组件的基础属性的配置,使得应用能够为每个业务使用的Flutter组件定制主题。
示例性地,上述Flutter组件的基础属性可以包括以下至少一项:Flutter组件的字体大小、Flutter组件的字体颜色、Flutter组件的中各个部件的间距,Flutter组件的圆角等基础属性。
举例说明,业务A需要以较大的字体突出展示某些信息,其他业务按照默认字体展示即可。此时,由于受限于Flutter组件的配置方式,所有Flutter组件的字体均保持一致,进而无法实现上述功能。
示例性地,为了解决Flutter组件的上述配置方式存在的缺陷,可以在依赖库中为不同的业务单独存储不同的Flutter组件配置集合,并在加载Flutter组件时,基于该Flutter组件所属的业务,从依赖库中获取对应的配置进行加载,以解决无法为不同业务的Flutter组件进行不同的配置的技术问题。
示例性地,由于一个应用仅包含一个应用入口,所有配置均在应用入口初始化过程中进行注册,因此,Flutter组件的配置参数也会在应用初始化时进行注册,并作为全局配置应用到所有Flutter组件中。为了实现不同业务的Flutter组件具有不同的配置,本申请实施例想到了可以将业务对应的Flutter组件的配置集合作为目标业务对应界面(,userinterface,UI)的widget属性的一部分,在应用初始化时注册到依赖库中。这样,在目标业务需要加载目标Flutter组件时,便可以从上述widget属性中获取到上述目标Flutter组件配置集合。
示例性地,上述目标Flutter组件配置集合作为所述目标应用对应界面的widget的属性存储在所述依赖库中,为了获取到上述目标配置结合,上述步骤101可以包括以下步骤101a1和步骤101a2:
步骤101a1、从所述目标应用的依赖库中获取所述目标业务对应界面的widget属性。
步骤101a2、从所述widget属性中提取所述目标Flutter组件配置集合。
如此,可以解决无法为不同的业务设置不同的Flutter组件配置集合的问题。
步骤102、基于所述目标Flutter组件配置集合,加载所述目标Flutter组件。
示例性地,在从目标应用的依赖库中获取到上述目标Flutter组件配置集合后,基于该目标Flutter组件配置集合中针对Flutter组件的基础属性的配置,加载并展示上述目标Flutter组件。
可选地,在本申请实施例中,上述目标应用为Protal应用,为了使得不同的业务获取到不同的Flutter组件配置集合,需要为每个业务单独进行Flutter组件配置集合的设置。
示例性地,为了使得不同的业务能够获取到不同的Flutter组件配置集合,需要对不同业务所需的Flutter组件配置集合进行注册。其中,主要包括Protal配置的注册以及业务的Package配置的注册。
Protal配置的注册:
示例性地,上述步骤101之前,本申请实施例提供的Flutter组件的配置方法还可以包括以下步骤103和步骤104:
步骤103、获取所述目标应用的Protal配置集合。
步骤104、基于所述依赖库中加载的默认配置集合,调整所述Protal配置集合,将所述Protal配置集合中的第一配置项的值设置为所述默认配置集合中第二配置项的值。
其中,所述第一配置项为所述Protal配置集合中未进行配置的配置项;所述第二配置项为所述默认配置集合中,与所述第一配置项对应的配置项
示例性地,上述Protal配置集合可以理解为Protal工程(即目标应用的壳工程)的默认配置。
示例性地,在调整上述Protal配置集合之前,需要检查依赖库中是否已存储了默认配置集合,若没有,则需要先加载默认配置集合。之后,将上述Protal配置集合与默认配置集合的字段打平并赋值给Protal配置。即在默认配置集合中找到Protal配置集合中未配置的配置项,并将该配置项在默认配置集合中的值赋值给Protal配置集合。
Package配置的注册:
示例性地,在上述步骤104之后,本申请实施例提供的Flutter组件的配置方法,还可以包括以下步骤105至步骤107:
步骤105、获取所述目标业务的第一配置集合。
步骤106、基于调整后的Protal配置集合,和/或,所述默认配置集合,调整所述第一配置集合,并得到所述目标Flutter组件配置集合。
步骤107、将所述目标Flutter组件配置集合作为所述目标业务对应界面的widget属性,与所述目标业务关联存储到所述依赖库中。
示例性地,考虑到目标应用的各个模块之间的依赖关系,在调整上述第一配置集合之前,需要检查依赖库中是否已经存储了上述默认配置集合以及调整后的Protal配置集合,若没有,则需要按照上述步骤103和步骤104来调整Protal配置集合,并作为目标业务对应界面的widget属性的一部分,存储到依赖库中。
示例性地,在依赖库中已经存储了上述默认配置集合以及调整后的Protal配置集合的情况下,基于调整后的Protal配置集合,或,默认配置集合,调整上述第一配置集合,并得到所述目标Flutter组件配置集合。并将得到的目标Flutter组件配置集合与目标业务关联存储到依赖库中,方便目标业务加载目标Flutter组件时,能够根据目标业务的业务标识以及目标Flutter组件配置集合的配置标识,获取到该目标Flutter组件配置集合。
具体地,上述步骤106可以包括以下步骤106a1或者步骤106a2:
步骤106a1、在所述依赖库中存储有所述调整后的Protal配置集合的情况下,将所述第一配置集合中的第三配置项设置为所述调整后的Portal配置集合中第四配置项的值。
步骤106a2、在所述依赖库中未存储所述调整后的Protal配置集合的情况下,将所述第三配置项的值设置为所述默认配置集合中第五配置项的值。
其中,所述第三配置项为所述第一配置集合中未进行配置的配置项;所述第四配置项为所述调整后的Protal配置集合中,与所述第三配置项对应的配置项;所述第五配置项为所述默认配置集合中,与所述第三配置项对应的配置项。
示例性地,由于Protal并不是必须进行配置注册,因此,在某些情况下,依赖库中并未存储有上述Protal配置集合,此时,上述第一配置集合可以直接与上述默认配置集合进行打平。
举例说明,如图3所示,包括:Default配置(即上述默认配置集合)ConfigA:[Ak1,Ak2,Ak3,Ak4,...],portal配置(即上述Protal配置集合)ConfigB:[Bk1,Bk3,Bk4...];Package配置(即上述第一配置集合)ConfigC:[Ck2,Ck3,Ck4...]。在调整ConfigB(即上述Protal配置集合)时,由于ConfigB中未包括配置项Bk2,则需要从ConfigA中获取配置项Ak2的值作为ConfigB中配置项Bk2的值,获得新的ConfigB:[Bk1,Ak2,Bk3,Bk4...]。在调整ConfigC时,由于ConfigC中未包括配置项Ck1,则需要从ConfigB中获取配置项Bk1的值作为ConfigC中配置项Ck1的值,获得新的ConfigC:[Bk1,Ck2,Ck3,Ck4...](即上述目标Flutter组件配置集合)。
示例性地,在得到上述目标Flutter组件配置集合,并将该目标Flutter组件配置集合存储到上述依赖库中之后,当目标业务加载目标Flutter组件时,便可以从依赖库中获取该目标Flutter组件配置集合,并基于该目标Flutter组件配置集合加载并展示目标Flutter组件。
示例性地,上述步骤102,可以包括以下步骤102a1至步骤102a3:
步骤102a1、获取所述目标Flutter组件的第二配置集合。
步骤102a2、将所述第二配置集合中的第六配置项的值设置为所述目标Flutter组件配置集合中的第七配置项的值,得到第三配置集合。
步骤102a3、基于所述第三配置集合,加载所述目标Flutter组件。
其中,所述第六配置项为所述第二配置集合中未进行配置的配置项;所述第七配置项为所述目标Flutter组件配置集合中,与所述第六配置项对应的配置项。
示例性地,由于上述目标Flutter组件配置集合中并未包括目标Flutter组件的所有配置,因此,在基于上述目标Flutter组件配置集合加载并展示目标Flutter组件之前,需要获取目标Flutter组件的相关配置(即上述第二配置集合),并按照上述打平方法调整第二配置集合中的配置。
本申请实施例提供的Flutter组件的配置方法,为了使应用程序能够根据不同的业务需求为每个业务进行Flutter组件的特异化配置,在目标应用的依赖库中单独为目标应用的每个业务存储有对应的Flutter组件配置集合,使得在目标应用加载目标业务对应的目标Flutter组件时,能够从目标应用的依赖库中获取目标业务对应的目标Flutter组件配置集合,并基于目标Flutter组件配置集合,加载目标Flutter组件。如此,能够根据不同的业务需求,为不同的业务设置不同的Flutter组件的展示效果。
需要说明的是,本申请实施例提供的Flutter组件的配置方法,执行主体可以为Flutter组件的配置装置,或者该Flutter组件的配置装置中的用于执行Flutter组件的配置方法的控制模块。本申请实施例中以Flutter组件的配置装置执行Flutter组件的配置方法为例,说明本申请实施例提供的Flutter组件的配置装置。
需要说明的是,本申请实施例中,上述各个方法附图所示的。Flutter组件的配置方法均是以结合本申请实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的Flutter组件的配置方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。
下面对本申请提供的Flutter组件的配置装置进行描述,下文描述的与上文描述的Flutter组件的配置方法可相互对应参照。
图4为本申请一实施例提供的Flutter组件的配置装置的结构会示意图,如图4所示,具体包括:
获取模块401,用于在所述目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;加载模块402,用于基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。
可选地,所述目标Flutter组件配置集合作为所述目标应用对应界面的widget的属性存储在所述依赖库中;所述获取模块401,具体用于从所述目标应用的依赖库中获取所述目标业务对应界面的widget属性;所述获取模块401,具体还用于从所述widget属性中提取所述目标Flutter组件配置集合。
可选地,所述目标应用为Protal应用;所述装置还包括:调整模块;所述获取模块401,还用于获取所述目标应用的Protal配置集合;所述调整模块,用于基于所述依赖库中加载的默认配置集合,调整所述Protal配置集合,将所述Protal配置集合中的第一配置项的值设置为所述默认配置集合中第二配置项的值;其中,所述第一配置项为所述Protal配置集合中未进行配置的配置项;所述第二配置项为所述默认配置集合中,与所述第一配置项对应的配置项。
可选地,所述装置还包括:存储模块;所述获取模块401,还用于获取所述目标业务的第一配置集合;所述调整模块,还用于基于调整后的Protal配置集合,或者,所述默认配置集合,调整所述第一配置集合,并得到所述目标Flutter组件配置集合;所述存储模块,用于将所述目标Flutter组件配置集合作为所述目标业务对应界面的widget属性,与所述目标业务关联存储到所述依赖库中。
可选地,所述调整模块,具体用于在所述依赖库中存储有所述调整后的Protal配置集合的情况下,将所述第一配置集合中的第三配置项设置为所述调整后的Portal配置集合中第四配置项的值;或者,所述调整模块,具体用于在所述依赖库中未存储所述调整后的Protal配置集合的情况下,将所述第三配置项的值设置为所述默认配置集合中第五配置项的值;其中,所述第三配置项为所述第一配置集合中未进行配置的配置项;所述第四配置项为所述调整后的Protal配置集合中,与所述第三配置项对应的配置项;所述第五配置项为所述默认配置集合中,与所述第三配置项对应的配置项。
可选地,所述获取模块401,还用于获取所述目标Flutter组件的第二配置集合;所述调整模块,还用于将所述第二配置集合中的第六配置项的值设置为所述目标Flutter组件配置集合中的第七配置项的值,得到第三配置集合;所述加载模块402,具体用于基于所述第三配置集合,加载所述目标Flutter组件;其中,所述第六配置项为所述第二配置集合中未进行配置的配置项;所述第七配置项为所述目标Flutter组件配置集合中,与所述第六配置项对应的配置项。
本申请提供的Flutter组件的配置装置,为了使应用程序能够根据不同的业务需求为每个业务进行Flutter组件的特异化配置,在目标应用的依赖库中单独为目标应用的每个业务存储有对应的Flutter组件配置集合,使得在目标应用加载目标业务对应的目标Flutter组件时,能够从目标应用的依赖库中获取目标业务对应的目标Flutter组件配置集合,并基于目标Flutter组件配置集合,加载目标Flutter组件。如此,能够根据不同的业务需求,为不同的业务设置不同的Flutter组件的展示效果。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行Flutter组件的配置方法,该方法包括:在所述目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的Flutter组件的配置方法,该方法包括:在所述目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。
又一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的Flutter组件的配置方法,该方法包括:在所述目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种Flutter组件的配置方法,其特征在于,包括:
在目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;
基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;
其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。
2.根据权利要求1所述的方法,其特征在于,所述目标Flutter组件配置集合作为所述目标应用对应界面的widget的属性存储在所述依赖库中;
所述在目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合,包括:
从所述目标应用的依赖库中获取所述目标业务对应界面的widget属性;
从所述widget属性中提取所述目标Flutter组件配置集合。
3.根据权利要求1所述的方法,其特征在于,所述目标应用为Protal应用;所述获取所述目标业务对应的目标Flutter组件配置集合之前,所述方法还包括:
获取所述目标应用的Protal配置集合;
基于所述依赖库中加载的默认配置集合,调整所述Protal配置集合,将所述Protal配置集合中的第一配置项的值设置为所述默认配置集合中第二配置项的值;
其中,所述第一配置项为所述Protal配置集合中未进行配置的配置项;所述第二配置项为所述默认配置集合中,与所述第一配置项对应的配置项。
4.根据权利要求3所述的方法,其特征在于,所述基于所述依赖库中加载的默认配置集合,调整所述Protal配置集合,将所述Protal配置集合中的第一配置项的值设置为所述默认配置集合中第二配置项的值后,所述方法还包括:
获取所述目标业务的第一配置集合;
基于调整后的Protal配置集合,或者,所述默认配置集合,调整所述第一配置集合,并得到所述目标Flutter组件配置集合;
将所述目标Flutter组件配置集合作为所述目标业务对应界面的widget属性,与所述目标业务关联存储到所述依赖库中。
5.根据权利要求4所述的方法,其特征在于,所述基于调整后的Protal配置集合,或者,所述默认配置集合,调整所述第一配置集合,并得到所述目标Flutter组件配置集合,包括:
在所述依赖库中存储有所述调整后的Protal配置集合的情况下,将所述第一配置集合中的第三配置项设置为所述调整后的Portal配置集合中第四配置项的值;
或者,
在所述依赖库中未存储所述调整后的Protal配置集合的情况下,将所述第三配置项的值设置为所述默认配置集合中第五配置项的值;
其中,所述第三配置项为所述第一配置集合中未进行配置的配置项;所述第四配置项为所述调整后的Protal配置集合中,与所述第三配置项对应的配置项;所述第五配置项为所述默认配置集合中,与所述第三配置项对应的配置项。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标Flutter组件配置集合,加载所述目标Flutter组件,包括:
获取所述目标Flutter组件的第二配置集合;
将所述第二配置集合中的第六配置项的值设置为所述目标Flutter组件配置集合中的第七配置项的值,得到第三配置集合;
基于所述第三配置集合,加载所述目标Flutter组件;
其中,所述第六配置项为所述第二配置集合中未进行配置的配置项;所述第七配置项为所述目标Flutter组件配置集合中,与所述第六配置项对应的配置项。
7.一种Flutter组件的配置装置,其特征在于,所述装置包括:
获取模块,用于在目标应用加载目标业务对应的目标Flutter组件时,从所述目标应用的依赖库中获取所述目标业务对应的目标Flutter组件配置集合;
加载模块,用于基于所述目标Flutter组件配置集合,加载所述目标Flutter组件;
其中,所述目标业务为所述目标应用所包含的多个业务中的任一个;不同的业务对应不同的Flutter组件配置集合。
8.根据权利要求7所述的装置,其特征在于,所述目标Flutter组件配置集合作为所述目标应用对应界面的widget的属性存储在所述依赖库中;
所述获取模块,具体用于从所述目标应用的依赖库中获取所述目标业务对应界面的widget属性;
所述获取模块,具体还用于从所述widget属性中提取所述目标Flutter组件配置集合。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述Flutter组件的配置方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6中任一项所述Flutter组件的配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111467818.0A CN114398091B (zh) | 2021-12-03 | 2021-12-03 | Flutter组件的配置方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111467818.0A CN114398091B (zh) | 2021-12-03 | 2021-12-03 | Flutter组件的配置方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114398091A true CN114398091A (zh) | 2022-04-26 |
CN114398091B CN114398091B (zh) | 2024-02-23 |
Family
ID=81225486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111467818.0A Active CN114398091B (zh) | 2021-12-03 | 2021-12-03 | Flutter组件的配置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114398091B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664296A (zh) * | 2017-03-31 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 一种页面渲染方法和装置、一种页面处理方法和装置 |
CN109189492A (zh) * | 2018-07-23 | 2019-01-11 | 北京城市网邻信息技术有限公司 | 功能组件加载方法、装置、计算机设备及可读存储介质 |
CN109614100A (zh) * | 2018-10-26 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 页面展示方法、装置、服务器、前端及存储介质 |
CN110321183A (zh) * | 2018-03-29 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 一种公共组件ui界面的配置系统及方法 |
CN111045675A (zh) * | 2019-12-20 | 2020-04-21 | 深圳乐信软件技术有限公司 | 一种基于Flutter的页面生成方法、装置、设备和存储介质 |
CN111752454A (zh) * | 2020-06-23 | 2020-10-09 | 厦门美柚股份有限公司 | 应用程序界面的皮肤控制方法、装置、终端及介质 |
CN112714148A (zh) * | 2020-11-10 | 2021-04-27 | 海尔数字科技(青岛)有限公司 | 一种界面配置方法、装置、设备及介质 |
WO2021129812A1 (zh) * | 2019-12-26 | 2021-07-01 | 第四范式(北京)技术有限公司 | 运行人工智能应用的方法、系统及设备 |
WO2021139386A1 (zh) * | 2020-01-09 | 2021-07-15 | 腾讯科技(深圳)有限公司 | 资源配置方法、装置、设备和存储介质 |
WO2021196597A1 (zh) * | 2020-04-02 | 2021-10-07 | 深圳创维-Rgb电子有限公司 | 业务插件加载实现方法、装置和终端设备 |
-
2021
- 2021-12-03 CN CN202111467818.0A patent/CN114398091B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664296A (zh) * | 2017-03-31 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 一种页面渲染方法和装置、一种页面处理方法和装置 |
CN110321183A (zh) * | 2018-03-29 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 一种公共组件ui界面的配置系统及方法 |
CN109189492A (zh) * | 2018-07-23 | 2019-01-11 | 北京城市网邻信息技术有限公司 | 功能组件加载方法、装置、计算机设备及可读存储介质 |
CN109614100A (zh) * | 2018-10-26 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 页面展示方法、装置、服务器、前端及存储介质 |
CN111045675A (zh) * | 2019-12-20 | 2020-04-21 | 深圳乐信软件技术有限公司 | 一种基于Flutter的页面生成方法、装置、设备和存储介质 |
WO2021129812A1 (zh) * | 2019-12-26 | 2021-07-01 | 第四范式(北京)技术有限公司 | 运行人工智能应用的方法、系统及设备 |
WO2021139386A1 (zh) * | 2020-01-09 | 2021-07-15 | 腾讯科技(深圳)有限公司 | 资源配置方法、装置、设备和存储介质 |
WO2021196597A1 (zh) * | 2020-04-02 | 2021-10-07 | 深圳创维-Rgb电子有限公司 | 业务插件加载实现方法、装置和终端设备 |
CN111752454A (zh) * | 2020-06-23 | 2020-10-09 | 厦门美柚股份有限公司 | 应用程序界面的皮肤控制方法、装置、终端及介质 |
CN112714148A (zh) * | 2020-11-10 | 2021-04-27 | 海尔数字科技(青岛)有限公司 | 一种界面配置方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
少杰: "Flutter原理与实践", 《美团技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114398091B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958714B (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
CN109032691B (zh) | 一种小程序运行方法、装置及存储介质 | |
EP3128421A1 (en) | Method, device, and system for achieving java application installation by cloud compilation | |
CN105511873B (zh) | 用户界面控件展示方法及装置 | |
CN103810008B (zh) | 插件加载方法及系统 | |
US9361710B2 (en) | Defining a midlet region space | |
CN106850650B (zh) | 用于游戏客户端访问数据的方法及客户端游戏系统 | |
CN109684008A (zh) | 卡片渲染方法、装置、终端及计算机可读存储介质 | |
WO2017166448A1 (zh) | 内核漏洞修复方法和装置 | |
CN114531477A (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN111309407B (zh) | 集成第三方库的处理方法及装置 | |
CN111367518A (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
CN114398091A (zh) | Flutter组件的配置方法及装置 | |
CN114092590B (zh) | 电子设备及其图像渲染性能的评估方法、介质 | |
CN111176628A (zh) | 组件化架构下的前端接入方法、存储介质 | |
CN113691972B (zh) | 安卓系统的业务配置方法和装置 | |
CN113282328A (zh) | 应用程序更新方法、计算机设备及计算机存储介质 | |
US10657312B2 (en) | Deploying new font technologies to legacy operating systems | |
US11144431B2 (en) | Configuration-based code construct for restriction checks in component of a web application | |
CN111427550A (zh) | 一种对象创建方法、终端装置及存储介质 | |
CN112631760A (zh) | 一种线程创建方法、系统、装置及计算机存储介质 | |
CN113918235A (zh) | 应用加载的方法及装置、计算机程序产品和存储介质 | |
CN111694730B (zh) | 一种消除错误引用控件资源的方法及装置 | |
CN112799738B (zh) | 一种配置文件的导入方法、装置及设备 | |
CN114499729B (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 |