插件加载方法、装置、电子设备及存储介质与流程

文档序号:32305259发布日期:2022-11-23 09:46阅读:31来源:国知局
插件加载方法、装置、电子设备及存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种插件加载方法、装置、电子设备及存储介质。


背景技术:

2.随着计算机技术的发展,出现了一种微前端技术,该技术可以通过在浏览器中提供多个应用程序的入口,当用户使用浏览器时,则可以通过在浏览器环境中加载相应的应用程序的入口,来实现在浏览器页面中加载不同的应用程序。
3.相关技术中,目前的微前端技术主要应用在浏览器中,而对于设计应用的插件而言,由于设计应用的插件宿主环境和浏览器不一样,例如一个设计应用的插件通常包含两个独立入口和对应的沙箱运行环境,分别用于展示插件ui界面以及与设计应用画布进行交互,而用于浏览器的微前端技术则通常假定只有一种入口,用于浏览器的微前端技术是无法应用于设计应用插件中。而如果需要在设计应用中使用不同插件的功能,用户则需要逐个安装不同的插件,来在设计应用中实现不同插件的加载,因此,现有在设计应用中进行插件加载的效率较低。


技术实现要素:

4.本公开提供一种插件加载方法、装置、电子设备及存储介质,以至少解决相关技术中在设计应用中进行插件加载效率低的问题。本公开的技术方案如下:根据本公开实施例的第一方面,提供一种插件加载方法,包括:展示安装于目标类型应用中的第一插件所对应的第一插件展示界面;所述第一插件展示界面包括多个第二插件对应的插件标识;所述第二插件为所述第一插件在所述目标类型应用中的子插件;响应于对所述插件标识的选择操作,将所述选择操作所选择的插件标识对应的第二插件作为目标插件,并获取所述目标插件对应的界面渲染信息,以及所述目标插件对应的插件代码;在所述第一插件展示界面中展示所述界面渲染信息渲染得到的所述目标插件的第二插件展示界面,以及在所述第一插件中运行所述插件代码表征的所述目标插件的运行逻辑。
5.在一示例性实施例中,所述第一插件包含用于加载所述界面渲染信息的第一加载模块,以及用于加载所述插件代码的第二加载模块;所述获取所述目标插件对应的界面渲染信息,以及所述目标插件对应的插件代码,包括:通过所述第一加载模块,从内容分发网络中获取所述界面渲染信息以及所述插件代码;所述在所述第一插件展示界面中展示所述界面渲染信息渲染得到的所述目标插件的第二插件展示界面,以及在所述第一插件中运行所述插件代码表征的所述目标插件的运行逻辑,包括:通过消息队列,将所述插件代码从所述第一加载模块发送至所述第二加载模块;在所述第一加载模块中加载所述界面渲染信
息,以及在所述第二加载模块中加载所述插件代码;根据所述第一加载模块中加载的界面渲染信息,在所述第一插件展示界面中展示所述界面渲染信息渲染的所述第二插件展示界面,以及根据所述第二加载模块中加载的插件代码,在所述第一插件中运行所述插件代码表征的所述运行逻辑。
6.在一示例性实施例中,所述通过所述第一加载模块,从内容分发网络中获取所述界面渲染信息以及所述插件代码之前,还包括:响应于针对待构建插件的构建请求,展示插件构建界面;获取在所述插件构建界面中上传的所述待构建插件的界面渲染信息,以及所述待构建插件的插件代码;将所述待构建插件的界面渲染信息,以及所述待构建插件的插件代码存储至所述内容分发网络。
7.在一示例性实施例中,所述根据所述第二加载模块中加载的插件代码,在所述第一插件中运行所述插件代码表征的所述运行逻辑,包括:利用所述第二加载模块,对所述插件代码进行解析,得到所述运行逻辑;将所述运行逻辑加载至所述第一插件的运行环境中,通过所述第一插件的运行环境,运行所述目标插件的运行逻辑。
8.在一示例性实施例中,所述展示安装于目标类型应用中的第一插件所对应的第一插件展示界面,包括:响应于针对所述目标类型应用的登录操作,获取与所述登录操作对应的登录标识,并展示所述目标类型应用的应用展示界面;响应于在所述应用展示界面中触发的第一插件调用操作,展示所述第一插件的第一插件展示界面,并从预先设置的多个待展示插件中获取与所述登录标识相匹配的第二插件;在所述第一插件展示界面上展示所述第二插件的插件标识。
9.在一示例性实施例中,所述在所述第一插件展示界面上展示所述第二插件的插件标识之后,还包括:响应于在所述第一插件展示界面中触发的插件设置操作,展示插件设置界面;所述插件设置界面中展示有所述第二插件的展示状态标识;响应于在所述插件设置界面中针对所述展示状态标识触发的展示状态切换操作,获取所述展示状态切换操作对应的隐藏插件;在所述第一插件展示界面上取消所述隐藏插件的插件标识的展示。
10.在一示例性实施例中,所述在所述第一插件展示界面中展示所述界面渲染信息渲染得到的所述目标插件的第二插件展示界面,以及在所述第一插件中运行所述插件代码表征的所述目标插件的运行逻辑之后,还包括:响应于针对所述插件标识的切换操作,获取切换后的切换插件标识,以及所述切换插件标识对应的切换插件的界面渲染信息,以及所述切换插件的插件代码;在所述第一插件展示界面中展示所述切换插件的界面渲染信息渲染得到的所述切换插件的第三插件展示界面,以及在所述第一插件中运行所述切换插件的插件代码表征的所述切换插件的运行逻辑。
11.在一示例性实施例中,所述方法还包括:响应于对所述插件标识的选择操作,在所述第一插件展示界面中展示通知信息;所述通知信息用于表征所述目标插件的加载状态为加载中状态;所述在所述第一插件展示界面中展示所述界面渲染信息渲染得到的所述目标插件的第二插件展示界面,以及在所述第一插件中运行所述插件代码表征的所述目标插件的运行逻辑之后,还包括:隐藏所述通知信息在所述第一插件展示界面中的展示。
12.根据本公开实施例的第二方面,提供一种插件加载装置,包括:第一界面展示单元,被配置为执行展示安装于目标类型应用中的第一插件所对应的第一插件展示界面;所述第一插件展示界面包括多个第二插件对应的插件标识;所述第
二插件为所述第一插件在所述目标类型应用中的子插件;插件信息获取单元,被配置为执行响应于对所述插件标识的选择操作,将所述选择操作所选择的插件标识对应的第二插件作为目标插件,并获取所述目标插件对应的界面渲染信息,以及所述目标插件对应的插件代码;第二界面展示单元,被配置为执行在所述第一插件展示界面中展示所述界面渲染信息渲染得到的所述目标插件的第二插件展示界面,以及在所述第一插件中运行所述插件代码表征的所述目标插件的运行逻辑。
13.在一示例性实施例中,所述第一插件包含用于加载所述界面渲染信息的第一加载模块,以及用于加载所述插件代码的第二加载模块;插件信息获取单元,进一步被配置为执行通过所述第一加载模块,从内容分发网络中获取所述界面渲染信息以及所述插件代码;第二界面展示单元,进一步被配置为执行通过消息队列,将所述插件代码从所述第一加载模块发送至所述第二加载模块;在所述第一加载模块中加载所述界面渲染信息,以及在所述第二加载模块中加载所述插件代码;根据所述第一加载模块中加载的界面渲染信息,在所述第一插件展示界面中展示所述界面渲染信息渲染的所述第二插件展示界面,以及根据所述第二加载模块中加载的插件代码,在所述第一插件中运行所述插件代码表征的所述运行逻辑。
14.在一示例性实施例中,插件加载装置,还包括:第二插件构建单元,被配置为执行响应于针对待构建插件的构建请求,展示插件构建界面;获取在所述插件构建界面中上传的所述待构建插件的界面渲染信息,以及所述待构建插件的插件代码;将所述待构建插件的界面渲染信息,以及所述待构建插件的插件代码存储至所述内容分发网络。
15.在一示例性实施例中,第二界面展示单元,进一步被配置为执行利用所述第二加载模块,对所述插件代码进行解析,得到所述运行逻辑;将所述运行逻辑加载至所述第一插件的运行环境中,通过所述第一插件的运行环境,运行所述目标插件的运行逻辑。
16.在一示例性实施例中,第一界面展示单元,进一步被配置为执行响应于针对所述目标类型应用的登录操作,获取与所述登录操作对应的登录标识,并展示所述目标类型应用的应用展示界面;响应于在所述应用展示界面中触发的第一插件调用操作,展示所述第一插件的第一插件展示界面,并从预先设置的多个待展示插件中获取与所述登录标识相匹配的第二插件;在所述第一插件展示界面上展示所述第二插件的插件标识。
17.在一示例性实施例中,插件加载装置,还包括:展示插件设置单元,被配置为执行响应于在所述第一插件展示界面中触发的插件设置操作,展示插件设置界面;所述插件设置界面中展示有所述第二插件的展示状态标识;响应于在所述插件设置界面中针对所述展示状态标识触发的展示状态切换操作,获取所述展示状态切换操作对应的隐藏插件;在所述第一插件展示界面上取消所述隐藏插件的插件标识的展示。
18.在一示例性实施例中,插件加载装置,还包括:第三界面展示单元,被配置为执行响应于针对所述插件标识的切换操作,获取切换后的切换插件标识,以及所述切换插件标识对应的切换插件的界面渲染信息,以及所述切换插件的插件代码;在所述第一插件展示界面中展示所述切换插件的界面渲染信息渲染得到的所述切换插件的第三插件展示界面,以及在所述第一插件中运行所述切换插件的插件代码表征的所述切换插件的运行逻辑。
19.在一示例性实施例中,插件加载装置,还包括:通知信息展示单元,被配置为执行
响应于对所述插件标识的选择操作,在所述第一插件展示界面中展示通知信息;所述通知信息用于表征所述目标插件的加载状态为加载中状态;还包括:通知信息隐藏单元,被配置为执行隐藏所述通知信息在所述第一插件展示界面中的展示。
20.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项实施例所述的插件加载方法。
21.根据本公开实施例的第四方面,提供一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面中任一项实施例所述的插件加载方法。
22.根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被电子设备的处理器执行时,使得所述电子设备能够执行如第一方面任一项实施例所述的插件加载方法。
23.本公开的实施例提供的技术方案至少带来以下有益效果:通过展示安装于目标类型应用中的第一插件所对应的第一插件展示界面;第一插件展示界面包括多个第二插件对应的插件标识;第二插件为第一插件在目标类型应用中的子插件;响应于对插件标识的选择操作,将选择操作所选择的插件标识对应的第二插件作为目标插件,并获取目标插件对应的界面渲染信息,以及目标插件对应的插件代码;在第一插件展示界面中展示界面渲染信息渲染得到的目标插件的第二插件展示界面,以及在第一插件中运行插件代码表征的目标插件的运行逻辑。本技术通过在目标类型应用安装的第一插件对应的第一插件展示界面中设置作为子插件的多个第二插件对应的插件标识,用户可以通过选择插件辨识来选中目标插件,从而实现在第一插件展示界面中展示目标插件的第二插件展示界面,以及在第一插件中运行目标插件的运行逻辑,从而实现了通过目标类型应用安装的第一插件来加载多个第二插件,用户只需要安装第一插件,则可以加载不同的第二插件,从而提高了插件加载的效率。
24.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
25.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
26.图1是根据一示例性实施例示出的一种插件加载方法的应用环境图。
27.图2是根据一示例性实施例示出的一种插件加载方法的流程图。
28.图3是根据一示例性实施例示出的第一插件展示界面的界面图。
29.图4是根据一示例性实施例示出的构建待构建插件的流程图。
30.图5是根据一示例性实施例示出的展示第一插件展示界面的流程图。
31.图6是根据一示例性实施例示出的切换第二插件的插件标识的展示状态的流程图。
32.图7是根据一示例性实施例示出的设计软件的插件体系框架示意图。
33.图8是根据一示例性实施例示出的子插件调用框架示意图。
34.图9是根据一示例性实施例示出的子插件调用的流程图。
35.图10是根据一示例性实施例示出的一种插件加载装置的框图。
36.图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
37.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
38.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
39.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
40.本公开所提供的插件加载方法,可以应用于如图1所示的应用环境中。其中,终端101通过网络与服务器102进行交互。在用户打开终端101安装的目标类型应用后,则可以通过目标类型应用调用安装于该应用的第一插件,此时终端101则可以展示有安装的第一插件的展示界面,即第一插件展示界面,同时,第一插件展示界面中可以携带有多个表征不同第二插件的插件标识,用户还可以通过对插件标识进行选择操作,从而终端101可以将选中的插件标识对应的第二插件作为目标插件,并且还可以从服务器102中,获取到该目标插件对应的界面渲染信息以及相应的插件代码,从而在第一插件展示界面中展示界面渲染信息渲染得到的目标插件的展示界面,即第二插件展示界面,以及运行该插件代码所对应的运行逻辑,即运行目标插件的运行逻辑。其中,终端101可以是但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
41.图2是根据一示例性实施例示出的一种插件加载方法的流程图,如图2所示,插件加载方法用于终端101中,包括以下步骤。
42.在步骤s201中,展示安装于目标类型应用中的第一插件所对应的第一插件展示界面;第一插件展示界面包括多个第二插件对应的插件标识;第二插件为第一插件在目标类型应用中的子插件。
43.其中,目标类型应用指的是安装有第一插件的应用程序,该应用程序可以是某些设计软件应用,例如画布软件,而第一插件则是在上述设计软件应用程序上安装的插件,该第一插件可以是用户手动安装在设计软件应用上的主插件,而第二插件则指的是可以通过第一插件加载的子插件,用户可以通过在目标类型应用安装的第一插件上对第二插件进行加载,从而可以在目标类型应用的第一插件中,使用第二插件的功能,因此不需要在目标类型应用中安装第二插件。而第一插件展示界面则指的是第一插件在终端101上进行展示的界面,该界面上可以携带有多个用于表征不同第二插件的插件标识,例如可以是在第一插
件展示界面上展示多个第二插件所对应的插件图标。
44.在步骤s202中,响应于对插件标识的选择操作,将选择操作所选择的插件标识对应的第二插件作为目标插件,并获取目标插件对应的界面渲染信息,以及目标插件对应的插件代码。
45.目标插件则指的是用户在第一插件展示界面中选中的插件标识所对应的第二插件,在终端101展示携带多个第二插件的插件标识的第一插件展示界面后,用户还可以对第一插件展示界面上展示的多个第二插件的插件标识中的一个执行选择操作,终端101则可以将用户选择的插件标识所对应的第二插件作为目标插件,例如第一插件展示界面上可以携带有表征第二插件a的插件标识a、表征第二插件b的插件标识b以及表征第二插件c的插件标识c,用户则可以对上述插件标识触发选择操作,可以是用户对插件标识b触发选择操作,那么插件标识b所对应的第二插件b则可以作为目标插件。而界面渲染信息则是用于渲染目标插件的展示界面的信息,例如可以是目标插件的展示界面信息,插件代码则指的是目标插件的运行代码。
46.具体来说,用户在对多个第二插件的插件标识触发选择操作后,终端101则可以将用户选中的插件标识所对应的第二插件,作为目标插件,同时还可以获取目标插件的界面渲染信息,以及目标插件的插件代码。
47.在步骤s203中,在第一插件展示界面中展示界面渲染信息渲染得到的目标插件的第二插件展示界面,以及在第一插件中运行插件代码表征的目标插件的运行逻辑。
48.第二插件展示界面则指的是目标插件的展示界面,终端101在得到目标插件的界面渲染信息以及插件代码后,则可以对上述界面渲染信息以及插件代码进行加载处理,从而实现在第一插件展示界面中展示界面渲染信息渲染得到的展示界面,即展示第二插件展示界面,以及在第一插件中运行该插件代码表征的运行逻辑,即目标插件的运行逻辑。
49.例如,第一插件展示界面可以如图3所示,在图3所示的第一插件展示界面左侧,可以携带有各个不同第二插件的插件标识,分别为表征子插件a的子插件标识a、表征子插件b的子插件标识b以及表征子插件c的子插件标识c,用户则可以对上述展示的子插件标识进行选择操作,可以是对子插件标识c进行选择操作,此时终端101则可以将子插件c作为目标插件,并在第一插件展示界面的右侧展示子插件c所对应的展示界面,作为第二插件展示界面。
50.上述插件加载方法中,通过展示安装于目标类型应用中的第一插件所对应的第一插件展示界面;第一插件展示界面包括多个第二插件对应的插件标识;第二插件为第一插件在目标类型应用中的子插件;响应于对插件标识的选择操作,将选择操作所选择的插件标识对应的第二插件作为目标插件,并获取目标插件对应的界面渲染信息,以及目标插件对应的插件代码;在第一插件展示界面中展示界面渲染信息渲染得到的目标插件的第二插件展示界面,以及在第一插件中运行插件代码表征的目标插件的运行逻辑。本技术通过在目标类型应用安装的第一插件对应的第一插件展示界面中设置作为子插件的多个第二插件对应的插件标识,用户可以通过选择插件辨识来选中目标插件,从而实现在第一插件展示界面中展示目标插件的第二插件展示界面,以及在第一插件中运行目标插件的运行逻辑,从而实现了通过目标类型应用安装的第一插件来加载多个第二插件,用户只需要安装第一插件,则可以加载不同的第二插件,从而提高了插件加载的效率。
51.在一示例性实施例中,第一插件包含用于加载界面渲染信息的第一加载模块,以及用于加载插件代码的第二加载模块;步骤s202可以进一步包括:通过第一加载模块,从内容分发网络中获取所述界面渲染信息以及所述插件代码;步骤s203可以进一步包括:通过消息队列,将插件代码从第一加载模块发送至第二加载模块;在第一加载模块中加载界面渲染信息,以及在第二加载模块中加载插件代码;根据第一加载模块中加载的界面渲染信息,在第一插件展示界面中展示界面渲染信息渲染的第二插件展示界面,以及根据第二加载模块中加载的插件代码,在第一插件中运行插件代码表征的运行逻辑。
52.本实施例中,第一插件可以包含有两个用于加载目标插件的加载模块,分别为用于加载界面渲染信息的第一加载模块,以及用于加载插件代码的第二加载模块,其中第一加载模块可以是第一插件的界面侧模块,而第二加载模块则可以是第一插件的插件侧模块,并且第一加载模块和第二加载模块之间的通信可以是通过消息队列的形式进行。而内容分发网络则可以是通过服务器102实现,该内容分发网络中可以预先存储有各个第二插件的界面渲染信息以及对应的插件代码。
53.具体来说,在终端101确定出目标插件后,则可以从内容分发网络中读取目标插件所对应的界面渲染信息以及插件代码,同时由于第一插件的插件侧模块,即第二加载模块是无法直接通过访问可扩展超文本传输请求,因此第一插件获取目标插件的界面渲染信息以及插件代码的方式是先通过第一插件的界面侧模块,即通过第一加载模块从内容分发网络中得到目标插件的界面渲染信息以及插件代码。
54.之后,再通过用于第一加载模块与第二加载模块进行信息通信的消息队列,从第一加载模块中将得到的插件代码发送至第二加载模块,从而使得第二加载模块可以得到上述插件代码,并且分别在第一插件的第一加载模块中加载上述界面渲染信息,以及在第二加载模块中加载插件代码,从而终端101则可以根据上述第一加载模块中加载的界面渲染信息,在第一插件展示界面中展示出该界面渲染信息渲染出的第二插件展示界面,以及基于第二加载模块中加载的插件代码,在第一插件中运行该插件代码表征的运行逻辑。
55.本实施例中,还可以通过第一插件的第一加载模块,从内容分发网络中获取界面渲染信息以及插件代码,并且将插件代码通过消息队列从第一加载模块发送至第二加载模块,来实现在第一加载模块加载界面渲染信息,来实现第二插件展示界面的展示,以及实现在第二加载模块加载插件代码,来实现目标插件的运行逻辑的运行,通过上述方式实现了在第一插件中加载第二插件,进一步提高了第二插件加载的效率。
56.进一步地,如图4所示,通过第一加载模块,从内容分发网络中获取界面渲染信息以及插件代码之前,还包括:在步骤s401中,响应于针对待构建插件的构建请求,展示插件构建界面。
57.其中,待构建插件指的是需要构建的第二插件,本实施例中,用户还可以通过终端101进行第二插件的构建,而插件构建界面,则指的是用于构建待构建插件的显示界面。用户可以通过向终端触发构建请求,来实现第二插件的构建,此时终端101则可以对该请求进行响应,从而展示出用于构建第二插件的插件构建界面。
58.在步骤s402中,获取在插件构建界面中上传的待构建插件的界面渲染信息,以及待构建插件的插件代码。
59.待构建插件的界面渲染信息则是用于渲染待构建插件所对应的插件展示界面的
渲染信息,而待构建插件的插件代码则指的是用于运行待构建插件的运行逻辑的代码,用户可以预先得到上述待构建插件的界面渲染信息,以及对应的插件代码,从而可以在终端101展示的插件构建界面中,将上述界面渲染信息以及插件代码进行上传,从而使得终端101可以得到用户在插件构建界面中上传的,针对于待构建插件的界面渲染信息以及插件代码。
60.在步骤s403中,将待构建插件的界面渲染信息,以及待构建插件的插件代码存储至内容分发网络。
61.最后,在终端101得到待构建插件的界面渲染信息以及插件代码后,则可以将上述界面渲染信息以及插件代码存储至内容分发网络中,来完成待构建插件的构建过程。之后用户在通过第一应用加载上述插件时,则可以从内容分发网络中得到界面渲染信息以及插件代码,来实现插件的加载。
62.本实施例中,用户还可以通过终端101展示的插件构建界面,将待构建插件的界面渲染信息,以及插件代码存储至内容分发网络,通过上述方式,实现了待构建插件的构建,并且为第一插件加载第二插件的实现过程提供基础,用户可以通过上述方式实现第二插件的通用构建,因此提高了插件构建的通用性。
63.另外,根据第二加载模块中加载的插件代码,在第一插件中运行插件代码表征的运行逻辑,可以进一步包括:利用第二加载模块,对插件代码进行解析,得到运行逻辑;将运行逻辑加载至第一插件的运行环境中,通过第一插件的运行环境,运行目标插件的运行逻辑。
64.其中,第一插件的运行环境可以指的是第一插件的运行时环境,本实施例中,第二加载模块得到插件代码后,可以首先对插件代码进行解析,来得到运行逻辑,之后则可以将上述运行逻辑,加载到第一插件的运行时环境中,例如可以是通过创建一个临时变量来存储目标插件的运行时所对应的运行逻辑,之后则可以将该运行逻辑通过函数,可以是bind函数将上述临时变量加载至第一插件的运行时环境中,从而实现将运行逻辑加载至第一插件的运行环境,之后则可以通过第一插件的运行环境,来运行目标插件的运行逻辑,实现在第一插件上运行目标插件。
65.本实施例中,还可以通过第二加载模块对目标插件的插件代码进行解析,得到目标插件的运行逻辑,之后再将上述运行逻辑加载至第一插件的运行环境,从而在第一插件的运行环境中,运行目标插件的运行逻辑,实现在第一插件上运行目标插件,通过该方式可以实现不同第二插件在第一插件上的运行,进一步提高了第二插件运行的通用性。
66.在一示例性实施例中,如图5所示,步骤s201可以进一步包括:在步骤s501中,响应于针对目标类型应用的登录操作,获取与登录操作对应的登录标识,并展示目标类型应用的应用展示界面。
67.登录操作指的是用户登录目标类型应用的操作,用户在使用目标类型应用之前,都需要先进行目标类型应用的登录,例如可以是在打开的登录界面中,录入用户的账号,以及相应的账号密码,来实现针对目标类型应用的登录,而登录标识则是表征用户身份的标识,例如可以是用户的登录账号,应用展示界面则指的是目标类型应用在终端上的展示界面。终端在对目标类型应用进行登录后,终端101则可以获取该用户的登录账号,作为登录标识,同时还可以在终端101上展示该目标类型应用所对应的展示界面,即应用展示界面。
68.在步骤s502中,响应于在应用展示界面中触发的第一插件调用操作,展示第一插件的第一插件展示界面,并从预先设置的多个待展示插件中获取与登录标识相匹配的第二插件;在步骤s503中,在第一插件展示界面上展示第二插件的插件标识。
69.第一插件调用操作指的是用于调用第一插件的操作,用户可以通过在展示的应用展示界面中,触发针对第一插件的调用操作,此时终端101则可以将展示界面从的应用展示界面切换为展示第一插件展示界面,而待展示插件则指的是第一插件在目标类型应用中的所有可以被加载的子插件,本实施例中,并非所有待展示插件的插件标识都会在第一插件展示界面,而是会从待展示插件中挑选出一部分,和登录标识相匹配的插件作为第二插件,而只在第一插件展示界面上展示第二插件的插件标识,同时由于不同用户的登录账号有所不同,即不同用户的登录标识有所不同,因此在第一插件展示界面上展示的第二插件也可以有所不同。
70.例如,待展示插件可以包括子插件a、子插件b以及子插件c,其中与用户a对应的登录标识相匹配的第二插件可以包含有子插件a和子插件b,而用户a对应的登录标识相匹配的第二插件可以包含有子插件a和子插件c,那么在用户a登录目标类型应用,并调用第一插件时,在第一插件展示界面上展示的插件标识则可以是子插件标识a和子插件标识b,而如果登录目标类型应用的是用户b,那么在第一插件展示界面上展示的插件标识则可以是子插件标识a和子插件标识c。
71.本实施例中,可以是先基于用户登录目标类型应用的登录标识,来从多个待展示插件中筛选出第二插件,再对第二插件的插件标识进行展示,通过这种方式可以实现针对不同用户在第一插件展示界面上展示不同的插件标识,进一步提高了插件标识展示的智能性。
72.另外,步骤s503之后,如图6所示,还可以包括:在步骤s601中,响应于在第一插件展示界面中触发的插件设置操作,展示插件设置界面;插件设置界面中展示有第二插件的展示状态标识。
73.插件设置操作指的是用户触发的用于设置在第一插件展示界面中展示的插件标识的操作,本实施例中,用户还可以对在第一插件展示界面中展示的第二插件的插件标识的展示状态进行设置,其中插件设置界面则是用于设置第二插件的插件标识的展示状态的界面,该界面中也可以展示有第二插件的展示状态标识,如果某一个第二插件的展示状态标识表征为展示状态,那么则会在第一插件展示界面中展示该第二插件的插件标识,而如果某一个第二插件的展示状态标识表征为隐藏状态,那么则会在第一插件展示界面中取消展示该第二插件的插件标识在第一插件展示界面中的展示。
74.在步骤s602中,响应于在插件设置界面中针对展示状态标识触发的展示状态切换操作,获取展示状态切换操作对应的隐藏插件;在步骤s603中,在第一插件展示界面上取消隐藏插件的插件标识的展示。
75.展示状态切换操作是对展示状态标识所表征的展示状态进行切换的操作,隐藏插件则指的是在第一插件展示界面上隐藏展示插件标识的第二插件。本实施例中,终断101初始默认所有的第二插件的插件标识都会在第一插件展示界面上展示,此时所有的第二插件的展示状态标识都表征为展示状态,而在用户针对某一个展示状态标识触发展示状态切换
操作后,则可以由展示状态切换为隐藏状态,此时终端则可以进一步获取切换为隐藏状态的第二插件,作为隐藏插件,此时则可以在第一插件展示界面上取消该隐藏插件的插件标识的展示。
76.例如,默认展示的第二插件的插件标识可以包括子插件标识a和子插件标识b,如果用户对子插件b所对应的展示状态标识执行展示状态切换操作后,子插件b则作为隐藏插件,此时终端101则可以在第一插件展示界面上取消子插件b所对应的子插件标识b的展示。
77.本实施例中,用户还可以通过对展示的第二插件的插件标识展示状态进行配置,从而实现了第二插件的插件标识展示的自定义配置,进一步提高了第二插件的插件标识展示的智能性。
78.在一示例性实施例中,步骤s203之后,还可以包括:响应于针对插件标识的切换操作,获取切换后的切换插件标识,以及切换插件标识对应的切换插件的界面渲染信息,以及切换插件的插件代码;在第一插件展示界面中展示切换插件的界面渲染信息渲染得到的切换插件的第三插件展示界面,以及在第一插件中运行切换插件的插件代码表征的切换插件的运行逻辑。
79.切换操作则指的是对选择的插件标识进行切换的操作,本实施例中,用户还可以实时切换加载的目标插件,而切换插件标识则指的是切换操作后用户选择的插件标识,第三展示界面则指的是切换插件标识所对应的切换插件的展示界面。用户还可以通过终端101在第一插件展示界面上触发插件标识的切换操作,此时终端101则可以得到获取到用户切换操作后对应的插件标识,即切换插件标识,同时还可以得到切换插件标识对应的切换插件的界面渲染信息,以及切换插件的插件代码,从而在第一展示界面上展示该切换插件的第三插件展示界面,以及运行该切换插件的运行逻辑。
80.例如,当前用户选择的插件标识为子插件标识b,那么此时终端101在第一插件中加载的第二插件则可以是子插件b,如果用户需要加载子插件a,那么则可以在第一插件展示界面中进行切换操作,可以是对子插件a所对应的子插件标识a执行触发操作的方式实现,此时终端101则可以将子插件标识a作为切换插件标识,从而获取子插件a所对应的界面渲染信息以及插件代码,从而在第一展示界面上展示该子插件a的插件展示界面,以及运行该子插件a的运行逻辑,来实现子插件a的切换加载。
81.本实施例中,用户还可以通过终端101触发针对插件标识的切换操作,来实现第二插件的切换加载,从而进一步提高切换加载第二插件的效率。
82.另外,插件加载方法,还可以包括:响应于对插件标识的选择操作,在第一插件展示界面中展示通知信息;通知信息用于表征目标插件的加载状态为加载中状态;步骤s203之后,还可以包括:隐藏通知信息在第一插件展示界面中的展示。
83.其中,通知信息是用于告知用户目标插件正在加载的信息,例如可以是显示loading状态的信息,本实施例中,目标插件的加载并非是瞬间完成的,而是需要经过一定时间的加载处理,在这种情况下,终端101则可以将表征加载中状态的通知信息在第一插件展示界面中展示,以表示目标插件正在加载中,而在加载完成后,则可以隐藏该通知信息的展示,来表征目标插件已经加载完成。
84.具体来说,在用户触发对插件标识的选择操作后,终端101则会在第一插件上开始加载目标插件,此时则可以在第一插件展示界面中展示通知信息,以表征目标插件正在加
载中,而在目标插件加载完成后,即在第一插件展示界面中展示目标插件的第二插件展示界面,以及在第一插件中运行目标插件的运行逻辑之后,则可以隐藏该通知信息的展示,来表示目标插件已经加载完成。
85.本实施例中,用户在对插件标识进行选择操作后,终端101还可以展示有表征目标插件的加载状态为加载中状态的通知信息,来表征目标插件加载中,而在目标插件加载完成后,则可以取消通知信息的展示,从而可以告知用户目标控件的加载状态,进一步提高目标插件加载的智能性。
86.在一示例性实施例中,还提供了一种应用于设计软件的插件加载方法,实现了在一个插件中动态加载其他插件。这种方法底层不依赖浏览器环境,并且可以经过很低成本的改造复用到其他软件的插件体系中。具体可以如下所示:不同设计软件的插件体系框架大体类似,以画布软件中的插件为例。画布插件存在界面侧和插件侧两个部分:界面侧展示插件的用户交互界面,是一个超文本标记语言文件;插件侧负责与图层画布进行交互,是一个纯编程文件。界面侧和插件侧是通过消息通道进行消息通信的。其中,在插件的界面侧,大部分网页能力都可以随意使用。在画布的插件侧沙箱里,只有小部分全局对象可以被访问,大部分对象比如浏览器窗口、文件、可扩展超文本传输请求等都是无法访问的,如图7所示。
87.在一个主插件中动态加载子插件涉及两个方面:动态加载插件的界面侧、动态加载插件的插件侧。本实施例提出的子插件加载技术方案整体框架如图8所示。
88.子插件在打包构建时,对于插件侧代码直接按照普通的网页前端应用打包即可,无任何限制。子插件的插件侧代码文件整体打包输出挂载在某个变量上,因此只需要通过绑定变量,那就能通过挂载的变量上拿到整个插件侧代码文件,不依赖任何全局变量,这样就能突破严格的沙箱限制。
89.当用户在主插件里打开子插件后,需要分别加载子插件的界面侧和插件侧入口代码。加载子插件界面侧可以复用各种前端网页的微前端方案。加载子插件的插件侧代码则由于主插件的插件侧无法使用可扩展超文本传输请求,则可以先在主插件界面侧获取子插件的插件侧源码,然后将源码发送给主插件的插件侧,随后进行动态解析。加载子插件的整体流程则可以如图9所示。
90.通过本实施例,科以让用户在设计软件中只需安装一款核心插件,其他功能都可以作为子插件动态加载,有效降低了核心插件的体积,大幅提升了加载速度,从而最终提升了用户体验,并且可以将一个拥有大量复杂功能的插件,拆分为多个单一功能的子插件,各个子插件的开发不限制技术方案,可以交由不同用户团队负责,并随时独立上线部署。
91.应该理解的是,虽然本公开的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
92.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例
的说明即可。
93.图10是根据一示例性实施例示出的一种插件加载装置的框图。参照图10,该装置包括第一界面展示单元1001,插件信息获取单元1002和第二界面展示单元1003。
94.第一界面展示单元1001,被配置为执行展示安装于目标类型应用中的第一插件所对应的第一插件展示界面;第一插件展示界面包括多个第二插件对应的插件标识;第二插件为第一插件在目标类型应用中的子插件;插件信息获取单元1002,被配置为执行响应于对插件标识的选择操作,将选择操作所选择的插件标识对应的第二插件作为目标插件,并获取目标插件对应的界面渲染信息,以及目标插件对应的插件代码;第二界面展示单元1003,被配置为执行在第一插件展示界面中展示界面渲染信息渲染得到的目标插件的第二插件展示界面,以及在第一插件中运行插件代码表征的目标插件的运行逻辑。
95.在一示例性实施例中,第一插件包含用于加载界面渲染信息的第一加载模块,以及用于加载插件代码的第二加载模块;插件信息获取单元1002,进一步被配置为执行通过第一加载模块,从内容分发网络中获取界面渲染信息以及插件代码;第二界面展示单元1003,进一步被配置为执行通过消息队列,将插件代码从第一加载模块发送至第二加载模块;在第一加载模块中加载界面渲染信息,以及在第二加载模块中加载插件代码;根据第一加载模块中加载的界面渲染信息,在第一插件展示界面中展示界面渲染信息渲染的第二插件展示界面,以及根据第二加载模块中加载的插件代码,在第一插件中运行插件代码表征的运行逻辑。
96.在一示例性实施例中,插件加载装置,还包括:第二插件构建单元,被配置为执行响应于针对待构建插件的构建请求,展示插件构建界面;获取在插件构建界面中上传的待构建插件的界面渲染信息,以及待构建插件的插件代码;将待构建插件的界面渲染信息,以及待构建插件的插件代码存储至内容分发网络。
97.在一示例性实施例中,第二界面展示单元1003,进一步被配置为执行利用第二加载模块,对插件代码进行解析,得到运行逻辑;将运行逻辑加载至第一插件的运行环境中,通过第一插件的运行环境,运行目标插件的运行逻辑。
98.在一示例性实施例中,第一界面展示单元1001,进一步被配置为执行响应于针对目标类型应用的登录操作,获取与登录操作对应的登录标识,并展示目标类型应用的应用展示界面;响应于在应用展示界面中触发的第一插件调用操作,展示第一插件的第一插件展示界面,并从预先设置的多个待展示插件中获取与登录标识相匹配的第二插件;在第一插件展示界面上展示第二插件的插件标识。
99.在一示例性实施例中,插件加载装置,还包括:展示插件设置单元,被配置为执行响应于在第一插件展示界面中触发的插件设置操作,展示插件设置界面;插件设置界面中展示有第二插件的展示状态标识;响应于在插件设置界面中针对展示状态标识触发的展示状态切换操作,获取展示状态切换操作对应的隐藏插件;在第一插件展示界面上取消隐藏插件的插件标识的展示。
100.在一示例性实施例中,插件加载装置,还包括:第三界面展示单元,被配置为执行响应于针对插件标识的切换操作,获取切换后的切换插件标识,以及切换插件标识对应的
切换插件的界面渲染信息,以及切换插件的插件代码;在第一插件展示界面中展示切换插件的界面渲染信息渲染得到的切换插件的第三插件展示界面,以及在第一插件中运行切换插件的插件代码表征的切换插件的运行逻辑。
101.在一示例性实施例中,插件加载装置,还包括:通知信息展示单元,被配置为执行响应于对插件标识的选择操作,在第一插件展示界面中展示通知信息;通知信息用于表征目标插件的加载状态为加载中状态;还包括:通知信息隐藏单元,被配置为执行隐藏通知信息在第一插件展示界面中的展示。
102.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
103.图11是根据一示例性实施例示出的一种用于插件加载的电子设备1100的框图。例如,电子设备1100可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
104.参照图11,电子设备1100可以包括以下一个或多个组件:处理组件1102、存储器1104、电源组件1106、多媒体组件1108、音频组件1110、输入/输出(i/o)的接口1112、传感器组件1114以及通信组件1116。
105.处理组件1102通常控制电子设备1100的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。
106.存储器1104被配置为存储各种类型的数据以支持在电子设备1100的操作。这些数据的示例包括用于在电子设备1100上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
107.电源组件1106为电子设备1100的各种组件提供电力。电源组件1106可以包括电源管理系统,一个或多个电源,及其他与为电子设备1100生成、管理和分配电力相关联的组件。
108.多媒体组件1108包括在所述电子设备1100和用户之间的提供输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括前置摄像头和/或后置摄像头。当电子设备1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是固定的光学透镜系统或具有焦距和光学变焦能力。
109.音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括麦克风(mic),当电子设备1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被
配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括扬声器,用于输出音频信号。
110.i/o接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
111.传感器组件1114包括一个或多个传感器,用于为电子设备1100提供各个方面的状态评估。例如,传感器组件1114可以检测到电子设备1100的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1100的显示器和小键盘,传感器组件1114还可以检测电子设备1100或电子设备1100组件的位置改变,用户与电子设备1100接触的存在或不存在,设备1100方位或加速/减速和电子设备1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
112.通信组件1116被配置为便于电子设备1100和其他设备之间有线或无线方式的通信。电子设备1100可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1116还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
113.在示例性实施例中,电子设备1100可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
114.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1104,上述指令可由电子设备1100的处理器1120执行以完成上述方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
115.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备1100的处理器1120执行以完成上述方法。
116.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
117.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
118.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1