发明内容
本公开实施方式的目的在于提供一种插件管理方法、装置、电子设备和存储介质,能够实现对基于Flutter开发的插件进行管理的目的。
为解决上述技术问题,本公开的实施方式提供了一种插件注册方法,应用于跨平台移动用户界面UI框架Flutter插件管理平台,所述插件管理平台包含插件显示区域,所述插件显示区域用于显示至少一个插件图标组件,所述插件图标组件与安装在所述插件管理平台的插件关联,所述插件图标组件能够被点击并触发所述插件的功能,所述方法包括:
响应在所述插件管理平台添加插件的指令,获取所述插件的组成信息;
判断所述组成信息是否符合预先设置的插件协议的基础部分,获取第一判断结果,其中,所述基础部分包括:插件标识标记、插件触发行为标记以及插件的面板组件标记;
如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,将所述组成信息写入插件注册表中;
在所述插件显示区域中确定第一目标区域,获取所述插件的插件图标组件,并将所述插件图标组件显示在所述第一目标区域。
可选的,所述如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,将所述组成信息写入插件注册表中之后,还包括:
获取待查找插件的关键词;
根据所述待查找插件的关键词查找所述插件注册表,获取所述待查找插件的组成信息;
根据所述待查找插件的组成信息,获取所述待查找插件。
可选的,所述如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,将所述组成信息写入插件注册表中之后,还包括:
在对所述插件进行修改操作的情况下,获取所述插件修改后的组成信息;
将所述修改后的组成信息写入所述插件注册表,对所述插件进行更新。
可选的,所述如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,将所述组成信息写入插件注册表中之后,还包括:
获取待删除插件的关键词;
根据所述待删除插件的关键词查找所述插件注册表,将所述插件注册表中所述待删除插件的组成信息删除;
获取所述待删除插件的插件图标组件,将所述待删除插件的插件图标组件从所述插件显示区域中删除。
可选的,所述在所述插件显示区域中确定第一目标区域,获取所述插件的插件图标组件,并将所述插件图标组件显示在所述第一目标区域之后,还包括:
获取第一输入,所述第一输入用于指示将所述插件图表组件从所述第一目标区域移动到第二目标区域;
响应于所述第一输入,将所述插件图标组件显示在所述第二目标区域。
可选的,所述判断所述组成信息是否符合预先设置的插件协议的基础部分,获取第一判断结果之后,所述如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,将所述组成信息写入插件注册表中之前,还包括:
判断所述组成信息是否符合预先设置的所述插件协议的扩展部分,获取第二判断结果,其中,所述扩展部分包括:消息流标记和过滤器标记;
如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,将所述组成信息写入插件注册表中替换为:
如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,并且,所述第二判断结果为所述组成信息符合预先设置的所述插件协议的扩展部分,将所述组成信息写入插件注册表中。
本公开的实施方式还提供了一种插件管理装置,应用于跨平台移动用户界面UI框架Flutter插件管理平台,所述插件管理平台包含插件显示区域,所述插件显示区域用于显示至少一个插件图标组件,所述插件图标组件与安装在所述插件管理平台的插件关联,所述插件图标组件能够被点击并触发所述插件的功能,所述装置包括:
第一获取模块,用于响应在所述插件管理平台添加插件的指令,获取所述插件的组成信息;
第一判断模块,用于判断所述组成信息是否符合预先设置的插件协议的基础部分,获取第一判断结果,其中,所述基础部分包括:插件标识标记、插件触发行为标记以及插件的面板组件标记;
注册模块,用于如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,将所述组成信息写入插件注册表中,对所述插件进行注册;
显示模块,用于在所述插件显示区域中确定第一目标区域,获取所述插件的插件图标组件,并将所述插件图标组件显示在所述第一目标区域。
可选的,所述插件管理装置,还包括:
第二获取模块,用于获取待查找插件的关键词;
第三获取模块,用于根据所述待查找插件的关键词查找所述插件注册表,获取所述待查找插件的组成信息;
第四获取模块,用于根据所述待查找插件的组成信息,获取所述待查找插件。
可选的,所述插件管理装置,还包括:
第五获取模块,用于在对所述插件进行修改操作的情况下,获取所述插件修改后的组成信息;
更新模块,用于将所述修改后的组成信息写入所述插件注册表,对所述插件进行更新。
可选的,所述插件管理装置,还包括:
第六获取模块,用于获取待删除插件的关键词;
删除模块,用于根据所述待删除插件的关键词查找所述插件注册表,将所述插件注册表中所述待删除插件的组成信息删除;
所述显示模块,还用于获取所述待删除插件的插件图标组件,将所述待删除插件的插件图标组件从所述插件显示区域中删除。
可选的,所述插件管理装置,还包括:
第七获取模块,用于获取第一输入,所述第一输入用于指示将所述插件图表组件从所述第一目标区域移动到第二目标区域;
所述显示模块,还用于响应于所述第一输入,将所述插件图标组件显示在所述第二目标区域。
可选的,所述插件管理装置,还包括:
第二判断模块,用于判断所述组成信息是否符合预先设置的所述插件协议的扩展部分,获取第二判断结果,其中,所述扩展部分包括:消息流标记和过滤器标记;
所述注册模块,还用于如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,并且,所述第二判断结果为所述组成信息符合预先设置的所述插件协议的扩展部分,将所述组成信息写入插件注册表中。
本公开的实施方式还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上所述的插件管理方法。
本公开的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以上所述的插件管理方法。
本公开实施方式相对于现有技术而言,由于具有插件管理平台,可以达到对插件集中管理的目的;由于插件管理平台具有插件显示区域,使得开发者可以在插件显示区域中通过触发插件图标组件调用插件功能,达到了使用插件的目的;在插件管理平台上添加插件的过程中,由于可以判断添加的插件的组成信息是否符合预先设置的插件协议的基础部分,当符合时,即认为该插件合法,将插件的组件信息写入到插件注册表中,完成对插件的注册管理,解决了现在Flutter无法在应用运行的过程中,即本实施例公开的插件管理平台运行的过程中,对插件进行管理的问题。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合附图对本公开的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本公开各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本公开的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明公开的一个实施方式涉及一种插件管理方法,应用于跨平台移动用户界面UI框架Flutter插件管理平台,该Flutter插件管理平台可以被集成在Flutter应用中,按插件管理平台安装的插件能力,辅助Flutter应用实现对应功能,作为示例,提供调试能力的插件可以辅助该Flutter应用的开发调试过程,插件管理平台被调起后,包含插件显示区域,插件显示区域用于显示至少一个插件图标组件,插件图标组件与安装在插件管理平台的插件关联,插件图标组件能够被点击并触发插件的功能。其中,插件组件能够被点击具体是指通过触摸方式或者鼠标点击方式被点击。
例如:图1是本实施例提供的插件管理方法中插件管理平台的显示区域示意图,在图1中示例性的包含15个插件,包括内存泄漏插件、内存管理插件以及网络调试插件等等,每个插件通过插件图标组件显示在图1所示的显示区域中,并且每个插件图标组件与安装在插件管理平台的插件关联,开发者可以通过点击插件图标组件,调用插件的功能,例如:通过点击图1中的内存查看的插件图标组件,调用内存查看插件,通过该内存查看插件,可以查看宿主Flutter应用的内存情况。
本发明实施例提供的插件管理方法,其流程如图2所示,包括:
步骤201,响应在插件管理平台添加插件的指令,获取插件的组成信息。
在本实施例中,插件的组成信息可以包括:插件标识标记、插件触发行为标记以及插件的面板组件标记等。其中,插件标识标记是指插件具有可以被标识的能力,在本实施例中,可以被标识的能力具体可以通过插件的名称,和/或插件对应的图片实现;插件触发行为标记是指插件具有接收到针对插件图标组件的触发指令之后的响应行为能力;插件的面板组件标记是指插件具有包含内部控件的能力。
可选的,在本实施例中,插件的组成信息还可以包括:插件标识标记、插件触发行为标记以及插件的面板组件标记对应的具体内容。例如:图1所示内存查看插件中,插件标识标记对应的具体内容为:插件的名称——内存查看,插件对应的图片如图1所示;插件触发行为标记对应的具体内容为:点击内存查看插件的插件图标组件弹出窗口;插件的面板组件标记对应的具体内容为:弹出的窗口中包括上下翻页滚动条、点击查看按钮等。
步骤202,判断组成信息是否符合预先设置的插件协议的基础部分,获取第一判断结果,其中,基础部分包括:插件标识标记、插件触发行为标记以及插件的面板组件标记。
具体的,步骤202可以将组成信息中包括的各项标记与预先设置的插件协议的基础部分包括的插件标识标记、插件触发行为标记以及插件的面板组件标记进行一一比对,如果组成信息中包括插件标识标记、插件触发行为标记以及插件的面板组件标记,则第一判断结果为组成信息符合预先设置的插件协议的基础部分,否则第一判断结果为组成信息不符合预先设置的插件协议的基础部分。
在本实施例中,步骤201获取的组成信息可以插件标识标记、插件触发行为标记以及插件的面板组件标记等,此时,步骤202获取的第一判断结果为组成信息符合预先设置的插件协议的基础部分。
在本实施例中,步骤202仅将组成信息中包括的各项标记与预先设置的插件协议的基础部分包括的插件标识标记、插件触发行为标记以及插件的面板组件标记进行一一比对,获取第一判断结果,而不对组成信息中可能包含的各项标记对应的具体内容,如步骤201所述的插件标识标记、插件触发行为标记以及插件的面板组件标记对应的具体内容,进行比对,使得本实施例在判断插件是否合法的过程中,无需考虑每个插件的具体内容,操作更简单、方便,节省了管理插件所占用的资源和成本,达到了高效、快捷管理的目的。
步骤203,如果第一判断结果为组成信息符合预先设置的插件协议的基础部分,将组成信息写入插件注册表中。
在本实施例中,步骤203将组成信息写入插件注册表中的具体方法是:以插件的关键词(key)为索引,将该插件的组成信息写入插件注册表中。其中,插件的关键词可以为插件名称、简称等,能够唯一指示插件的标识信息,此处不对每种情况进行一一赘述。
在本实施例中,如果第一判断结果为组成信息不符合预先设置的插件协议的基础部分,步骤203拒绝对插件进行注册,此时,无法将插件添加到插件管理平台中使用。
步骤204,在插件显示区域中确定第一目标区域,获取插件的插件图标组件,并将插件图标组件显示在第一目标区域。
在本实施例中,插件显示区域可以预先划分每个插件的显示面积,例如:如图1所示可以预先以九宫格的形式划分每个插件的显示面积,则此时,在步骤204中,确定第一目标区域具体为确定所选择的九宫格位置,如图1中内存查看插件的第一目标区域为九宫格中第二行第二列。当然,在实际的使用过程中还可以通过其他方法确定第一目标区域,此处不做赘述。
可选的,在本实施例中,步骤204之后,还可以包括:获取第一输入,第一输入用于指示将所述插件图表组件从所述第一目标区域移动到第二目标区域;响应于第一输入,将所述插件图标组件显示在第二目标区域的步骤。
在本实施例中,第一输入具体可以为用户的拖动输入,例如:将图1所示的内存查看插件从九宫格第二行第二列拖动到第一行第一列的输入,也可以为其他形式的输入,此处不对每种情况进行一一赘述。
通过第一输入可以实现对插件管理平台的显示区域中显示的插件进行位置变更的操作,使得用户可以根据需求将常用的插件调整到方便使用的位置上,从而达到让用户使用本发明实施例提供的插件管理平台更方便的目的,提升用户的使用满意度。
可选的,在本实施例中,步骤203之后,步骤204之前,还可以包括判断组成信息是否符合预先设置的插件协议的扩展部分,获取第二判断结果,其中,扩展部分包括:消息流标记和过滤器标记的步骤,此时步骤204可以替换为:如果第一判断结果为组成信息符合预先设置的插件协议的基础部分,并且,第二判断结果为组成信息符合预先设置的插件协议的扩展部分,将组成信息写入插件注册表中。
在本实施例中,消息流标记是指插件具有接收网络消息的能力,其中网络消息可以包括:请求消息、响应消息等;过滤器标记指示插件具有过滤网络消息类型的能力。
判断组成信息是否符合预先设置的插件协议的扩展部分,获取第二判断结果的具体实现方法可以参见步骤203获取第一判断结果的方法,此处不再赘述。
需要说明的是,以上扩展部分包括的消息流标记和过滤器标记仅为具体的举例说明,该扩展部分包括的消息流标记和过滤器标记是针对具有网络通信能力的插件设置的,例如:图1所示的网络调试插件,对于其他插件扩展部分可以根据需要设置其他标记,例如:针对图1所示的内存查看插件或者CPU插件,扩展部分可以包括系统资源查看标记,该系统资源查看标记是指插件具有查看系统资源的能力。
通过对插件协议的扩展,即插件协议包括扩展部分,可以实现插件管理平台对更多不同类型不同功能的插件的管理,使得插件管理平台中能够管理的插件类型更多,更加方便开发者使用。
本公开实施方式相对于现有技术而言,由于具有插件管理平台,可以达到对插件集中管理的目的;由于插件管理平台具有插件显示区域,使得开发者可以在插件显示区域中通过触发插件图标组件调用插件功能,达到了使用插件的目的;在插件管理平台上添加插件的过程中,由于可以判断添加的插件的组成信息是否符合预先设置的插件协议的基础部分,当符合时,即认为该插件合法,将插件的组件信息写入到插件注册表中,完成对插件的注册管理,解决了现在Flutter无法在应用运行的过程中,即本实施例公开的插件管理平台运行的过程中,对插件进行管理的问题。
本发明另一实施方式涉及一种插件管理方法,该方法与图2所示的本公开一个实施方式涉及的插件管理方法基本相同,其区别在于,如图3所示,步骤203之后,还可以包括:
步骤205,获取待查找插件的关键词。
在本实施例中,待查找插件的关键词可以为插件名称、简称等,能够唯一指示插件的标识信息,此处不对每种情况进行一一赘述。
步骤206,根据待查找插件的关键词查找插件注册表,获取待查找插件的组成信息。
在本实施例中,步骤203以插件的关键词为索引,将该插件的组成信息写入插件注册表中,此时,步骤206可以根据待查找插件的关键词从插件注册表中获取待查找插件的组成信息。
步骤207,根据待查找插件的组成信息,获取待查找插件。
在本实施例中,以上步骤205-207可以发生在步骤204之前,也可以发生在步骤204之后,本实施例仅以发生在步骤204之后为例进行说明。
本实施例公开的技术方案在达到以上图2所示的实施例提供的技术方案的全部有益效果的基础上,由于可以根据待查找插件的关键词查找插件注册表,获取待查找插件的组成信息,使得本实施例提供的技术方案可以通过简单的关键词信息即可判断待查找插件是否为合法注册插件,对于合法注册插件,才会进行步骤207的查找步骤,对于非合法注册插件,则直接返回查找失败的结果,对插件的查找管理更加方便、快捷。
本发明另一实施方式涉及一种插件管理方法,该方法与图2所示的本公开一个实施方式涉及的插件管理方法基本相同,其区别在于,如图4所示,步骤203之后,还可以包括:
步骤208,在对插件进行修改操作的情况下,获取插件修改后的组成信息。
步骤209,将修改后的组成信息写入插件注册表,对插件进行更新。
本实施例提供的技术方案可以对步骤203注册成功的合法插件进行修改,此时,本实施例提供的技术方案并不关心合法插件的具体修改内容,例如:修改的插件名称的具体内容,或者具体的插件触发行为等。但是,为了避免插件修改时新增组成信息,例如新增扩展部分的内容,步骤208需要获取修改后的插件的组成信息,以便步骤209将修改后的组成信息写入到插件注册表中,对插件进行更新。
在本实施例中,以上步骤208和209可以发生在步骤204之前,也可以发生在步骤204之后,本实施例仅以发生在步骤204之后为例进行说明。
本实施例公开的技术方案在达到以上图2所示的实施例提供的技术方案的全部有益效果的基础上,还可以实现对插件的更新管理。
本发明另一实施方式涉及一种插件管理方法,该方法与图2所示的本公开一个实施方式涉及的插件管理方法基本相同,其区别在于,如图5所示,步骤203之后,还可以包括:
步骤210,获取待删除插件的关键词。
在本实施例中,待查找插件的关键词可以为插件名称、简称等,能够唯一指示插件的标识信息,此处不对每种情况进行一一赘述。
步骤211,根据待删除插件的关键词查找插件注册表,将插件注册表中待删除插件的组成信息删除。
步骤212,获取待删除插件的插件图标组件,将待删除插件的插件图标组件从插件显示区域中删除。
在本实施例中,步骤203以插件的关键词为索引,将该插件的组成信息写入插件注册表中,此时,步骤211可以根据待删除插件的关键词从插件注册表中获取待删除插件的组成信息,并将改组成信息从插件注册表中删除,完成对插件的删除管理。
本实施例公开的技术方案在达到以上图2所示的实施例提供的技术方案的全部有益效果的基础上,还可以实现对插件的删除管理。
本公开的一个实施方式涉及一种插件管理装置,应用于跨平台移动用户界面UI框架Flutter插件管理平台,所述插件管理平台包含插件显示区域,所述插件显示区域用于显示至少一个插件图标组件,所述插件图标组件与安装在所述插件管理平台的插件关联,所述插件图标组件能够被点击并触发所述插件的功能,其结构如图6所示,包括:
第一获取模块601,用于响应在所述插件管理平台添加插件的指令,获取所述插件的组成信息;
第一判断模块602,用于判断所述组成信息是否符合预先设置的插件协议的基础部分,获取第一判断结果,其中,所述基础部分包括:插件标识标记、插件触发行为标记以及插件的面板组件标记;
注册模块603,用于如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,将所述组成信息写入插件注册表中,对所述插件进行注册;
显示模块604,用于在所述插件显示区域中确定第一目标区域,获取所述插件的插件图标组件,并将所述插件图标组件显示在所述第一目标区域。
可选的,如图7所示,插件管理装置还可以包括:
第二获取模块605,用于获取待查找插件的关键词;
第三获取模块606,用于根据所述待查找插件的关键词查找所述插件注册表,获取所述待查找插件的组成信息;
第四获取模块607,用于根据所述待查找插件的组成信息,获取所述待查找插件。
可选的,如图8所示,插件管理装置还可以包括:
第五获取模块608,用于在对所述插件进行修改操作的情况下,获取所述插件修改后的组成信息;
更新模块609,用于将所述修改后的组成信息写入所述插件注册表,对所述插件进行更新。
可选的,如图9所示,插件管理装置还可以包括:
第六获取模块610,用于获取待删除插件的关键词;
删除模块611,用于根据所述待删除插件的关键词查找所述插件注册表,将所述插件注册表中所述待删除插件的组成信息删除。
所述显示模块604,还用于获取所述待删除插件的插件图标组件,将所述待删除插件的插件图标组件从所述插件显示区域中删除。
可选的,插件管理装置还可以包括:
第七获取模块,用于获取第一输入,所述第一输入用于指示将所述插件图表组件从所述第一目标区域移动到第二目标区域;
所述显示模块604,还用于响应于所述第一输入,将所述插件图标组件显示在所述第二目标区域。
可选的,插件管理装置还可以包括:
第二判断模块,用于判断所述组成信息是否符合预先设置的所述插件协议的扩展部分,获取第二判断结果,其中,所述扩展部分包括:消息流标记和过滤器标记;
所述注册模块603,还用于如果所述第一判断结果为所述组成信息符合预先设置的插件协议的基础部分,并且,所述第二判断结果为所述组成信息符合预先设置的所述插件协议的扩展部分,将所述组成信息写入插件注册表中。
本发明实施例提供的插件管理装置的具体实现方法可以参见本发明实施例提供的插件管理方法所述,此处不再赘述。
本公开实施方式相对于现有技术而言,由于具有插件管理平台,可以达到对插件集中管理的目的;由于插件管理平台具有插件显示区域,使得开发者可以在插件显示区域中通过触发插件图标组件调用插件功能,达到了使用插件的目的;在插件管理平台上添加插件的过程中,由于可以判断添加的插件的组成信息是否符合预先设置的插件协议的基础部分,当符合时,即认为该插件合法,将插件的组件信息写入到插件注册表中,完成对插件的注册管理,解决了现在Flutter无法在应用运行的过程中,即本实施例公开的插件管理平台运行的过程中,对插件进行管理的问题。
本公开一个实施方式涉及一种电子设备,如图10所示,包括:
至少一个处理器1001;以及,
与所述至少一个处理器1001通信连接的存储器1002;其中,
所述存储器1002存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器1001执行,以使所述至少一个处理器1001能够执行本公开实施方式所述的插件管理方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本公开一个实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本公开的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本公开的精神和范围。