CN113778554A - 插件处理方法、电子装置和存储介质 - Google Patents
插件处理方法、电子装置和存储介质 Download PDFInfo
- Publication number
- CN113778554A CN113778554A CN202111021194.XA CN202111021194A CN113778554A CN 113778554 A CN113778554 A CN 113778554A CN 202111021194 A CN202111021194 A CN 202111021194A CN 113778554 A CN113778554 A CN 113778554A
- Authority
- CN
- China
- Prior art keywords
- plug
- interface
- target
- page
- management service
- 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
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/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种插件处理方法、电子装置和存储介质,通过基于H5页面获取接口参数;将接口参数传递至热加载模块,根据接口参数调用热加载模块的插件管理服务对目标插件执行相应的操作;获取热加载模块响应于接口参数后返回的响应结果,并将响应结果传递至H5页面进行展示,解决了无法对宿主应用中的插件执行业务操作的问题,实现了对插件的业务操作。
Description
技术领域
本申请涉及信息通讯领域,特别是涉及插件处理方法、电子装置和存储介质。
背景技术
在运行应用时,不重启该应用的项目,而是重新加载该应用的类,称为热加载机制。现有技术大多采用插件热加载实现对应用的快速扩展,插件只能运行在宿主应用中,而不能脱离宿主应用单独运行。
APK(Android application package,安卓应用程序包)是一种应用于安卓系统的插件,在安卓系统中,由于热加载机制只能实现APK插件的安装与加载,随着应用的迭代更新,传统的APK插件加载已经无法满足千遍万化的业务逻辑。例如,机顶盒内部运行着宿主应用,宿主应用中运行有多个用于实现游戏功能的APK插件,然而,当APK插件安装于宿主应用后,APK插件的组件加载缺少监控,使得APK插件处于不可见状态,导致无法对宿主应用中的APK插件进行卸载、查询、升级、鉴权等业务操作。
针对相关技术中存在的无法对宿主应用中的插件执行业务操作的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种插件处理方法、电子装置和存储介质,以解决相关技术中无法对宿主应用中的插件执行业务操作的问题。
第一个方面,在本实施例中提供了一种插件处理方法,包括:
基于H5页面获取接口参数;
将所述接口参数传递至热加载模块,根据所述接口参数调用所述热加载模块的插件管理服务对目标插件执行相应的操作;
获取所述热加载模块响应于所述接口参数后返回的响应结果,并将所述响应结果传递至所述H5页面进行展示。
在其中一些实施例中,在将所述接口参数传递至热加载模块,根据所述接口参数调用所述热加载模块的插件管理服务对插件执行相应的操作之前,所述方法还包括:
获取所述热加载模块中插件管理服务的资源信息;
根据所述插件管理服务的资源信息,生成接口信息,并根据所述接口信息将所述插件管理服务的多个接口暴露于所述H5页面中。
在其中一些实施例中,所述资源信息包括所述插件管理服务的路径信息,根据所述插件管理服务的资源信息,生成接口信息,并根据所述接口信息将所述插件管理服务的多个接口暴露于所述H5页面中包括:
根据所述插件管理服务的路径信息,生成统一资源标志符;
根据所述统一资源标志符,在所述H5页面中展示用于接收所述接口参数的接口。
在其中一些实施例中,在接收到用于请求打开目标插件的接口参数的情况下,将所述接口参数传递至热加载模块,根据所述接口参数调用所述热加载模块的插件管理服务对插件执行相应的操作包括:
提取所述接口参数中的插件标识和用于指示打开所述目标插件的操作标识;
根据所述插件标识和所述操作标识,调用对应的插件管理服务将所述目标插件安装至宿主应用中。
在其中一些实施例中,根据所述插件标识和所述操作标识,调用对应的插件管理服务将所述目标插件安装至所述宿主应用中包括:
获取所述目标插件的安装文件;
构建所述安装文件的类加载单元;
根据所述类加载单元加载所述安装文件至所述宿主应用中。
在其中一些实施例中,获取所述目标插件的安装文件包括:
根据所述插件标识判断所述宿主应用中是否已安装有所述目标插件;
若所述宿主应用中已安装有所述目标插件,则根据所述插件标识所述从所述宿主应用中获取所述安装文件;
若所述宿主应用中未安装有所述目标插件,则根据所述插件标识从插件服务中下载所述安装文件。
在其中一些实施例中,在根据所述插件标识和所述操作标识,调用对应的插件管理服务将所述目标插件安装至所述宿主应用中之后,所述方法还包括:
基于所述H5页面获取用户的校验信息,所述校验信息包括用户标识和插件标识;
将所述校验信息传递至鉴权模块,根据所述校验信息调用所述鉴权模块对用户操作所述目标插件的操作权限进行鉴权;
接收所述鉴权模块对用户的操作权限进行鉴权之后返回的鉴权结果,根据所述鉴权结果确定是否允许用户操作所述目标插件。
在其中一些实施例中,接收所述鉴权模块对用户的操作权限进行鉴权之后返回的鉴权结果,根据所述鉴权结果确定是否允许用户操作所述目标插件包括:
在所述鉴权结果指示鉴权通过的情况下,启动所述目标插件;以及
在所述鉴权结果指示鉴权未通过的情况下,生成用于提示所述用户未获得相应操作权限的提示信息,并将所述提示信息展示于所述H5页面中。
在其中一些实施例中,所述提示信息包括用户需购买所述目标插件的内容。
在其中一些实施例中,在所述鉴权结果指示鉴权通过的情况下,启动所述目标插件之后,所述方法还包括:
基于所述H5页面接收所述插件服务模块发送的事件,所述事件包括所述目标插件的升级信息;
根据所述事件对所述H5页面进行局部更新。
在其中一些实施例中,在根据所述事件对所述H5页面进行局部更新之后,所述方法还包括:
在所述鉴权模块中更新所述用户的操作权限信息。
在其中一些实施例中,所述H5页面中设置有所述插件管理服务的接口,所述接口包括以下至少之一:
下载插件接口、安装插件接口、打开插件接口、卸载插件接口、查询插件安装状态接口、查询插件安装列表接口。
第二个方面,在本实施例中提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述第一个方面所述的插件处理方法。
第三个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的插件处理方法。
与相关技术相比,在本实施例中提供的插件处理方法、电子装置和存储介质,通过基于H5页面获取接口参数;将接口参数传递至热加载模块,根据接口参数调用热加载模块的插件管理服务对目标插件执行相应的操作;获取热加载模块响应于接口参数后返回的响应结果,并将响应结果传递至H5页面进行展示,解决了无法对宿主应用中的插件执行业务操作的问题,实现了对插件的业务操作。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本实施例的插件处理方法的终端的硬件结构框图;
图2是本实施例的安卓机顶盒的功能架构图;
图3是本实施例的插件处理方法的流程图;
图4是本优选实施例的应用于大厅游戏的插件处理方法的流程图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的插件处理方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的插件处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例中提供的插件处理方法可以应用于安卓机顶盒,图2是本实施例的安卓机顶盒的功能架构图,如图2所示,安卓机顶盒内部功能架构包括相互连接的宿主应用模块21和本地存储模块22,宿主应用模块21包括相互连接的WebView控件23和热加载模块24。
宿主应用模块21用于运行宿主应用。
本地存储模块22用于存储宿主应用的安装文件、热加载模块的安装文件以及插件的安装文件。
WebView控件23包括HTML/JS单元,HTML/JS单元25用于把HTML内容转换成JS内容输出,或者把JS内容转成HTML内容输出。
热加载模块24包括类加载单元26和插件管理单元27,类加载单元26用于将插件加载至宿主应用中运行,插件管理单元27用于提供插件管理服务。
本实施例的宿主应用模块21可以运行大厅游戏程序,当用户使用安卓机顶盒打开大厅游戏时,安卓机顶盒通过执行本实施理例插件处理方法,向用户提供游戏功能。
结合图2的安卓机顶盒内部功能架构图,图3给出了本实施例的插件处理方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,基于H5页面获取接口参数。
本实施例的WebView控件中载入有H5页面,H5页面是指遵循第五代HTML标准的网页页面,H5页面和热加载模块之间通过定义预设规范进行数据交互,即在H5页面中暴露热加载模块的接口,基于H5页面接收用户输入的接口参数。
步骤S302,将接口参数传递至热加载模块,根据接口参数调用热加载模块的插件管理服务对目标插件执行相应的操作。
通过H5页面将接口参数传递至热加载模块,热加载模块响应于接口参数,启动插件管理服务对接口参数指示的目标插件执行相应的操作,插件管理服务提供的功能包括但不限于下载插件、安装插件、打开插件、卸载插件、查询插件安装状态、查询插件安装列表。
步骤S303,获取热加载模块响应于接口参数后返回的响应结果,并将响应结果传递至H5页面进行展示。
经由热加载模块的插件管理服务对目标插件执行相应的操作之后,将接收其返回的响应结果,并将该响应结果展示于H5页面。例如,在热加载模块执行完成下载插件、安装插件、打开插件或者卸载插件之后,接收其返回的下载插件、安装插件、打开插件或者卸载插件已完成的提示消息,并将该提示消息展示于H5页面中。又例如,在热加载模块执行完成查询插件安装状态或者查询插件安装列表之后,接收其返回的插件安装状态或者插件安装列表,并将插件安装状态或者插件安装列表展示于H5页面中。
本实施例通过在热加载模块中设置插件管理服务,将热加载模块和H5页面进行耦合,通过H5页面接收调用插件管理服务的接口参数,实现对插件的业务操作。通过上述步骤,解决了对宿主应用中的插件执行业务操作的问题,实现了插件的管理。
在宿主应用模块中,通过获取热加载模块中插件管理服务的资源信息,根据插件管理服务的资源信息,生成接口信息,并根据接口信息将插件管理服务的多个接口暴露于H5页面中,实现H5页面和热加载模块之间的耦合。
优选地,H5页面和热加载模块之间通过URI规范耦合。其中,资源信息包括插件管理服务的路径信息,接口信息包括统一资源标志符。在本实施例中,可以根据插件管理服务的路径信息,生成统一资源标志符,根据统一资源标志符,在H5页面中展示用于接收接口参数的接口。
H5页面中设置的插件管理服务的接口和接口定义示例如下:
下载插件接口:yanhua://epg/downloadPlugin?pkg=&url=&return=。
安装插件接口:yanhua://epg/installPlugin?pkg=&path=&return=。
打开插件接口:yanhua://epg/openPlugin?pkg=&clazz=&return=。
卸载插件接口:yanhua://epg/unInstallPlugin?pkg=&return=。
查询插件安装状态接口:yanhua://epg/queryPluginInstall?pkg=&return=。
查询插件安装列表接口:yanhua://epg/downloadPlugin?pkg=&url=&return=。
上述6个接口都是采用URI方式提供,其中,schema设置为yanhua,host设置为epg(electrical program guide,电子节目指南),schema和host为URI规范的两个字段。
在一些实施例中,在启动宿主应用时,将初始化热加载模块和初始化暴露的接口。H5页面中暴露的接口通过JS标准函数prompt触发,即在H5实现的代码中直接调用内置的prompt函数调用接口。调用示例如下:
var ret=prompt(“yanhua://epg/queryPluginInstall?pkg=&return=”)。
在宿主应用中,通过热加载模块提供的onJsPromptSuccess回调函数拦截prompt请求,解析prompt内容中不同的path(路径)来区分不同的接口,执行不同的操作。
在上述6个接口的拦截操作中,将对应的操作和热加载模块对应的操作进行对应,完成URI接口到插件管理服务的功能对应。
其中,H5页面的参数传递通过查询接口参数实现,热加载模块的参数传递通过接口中的return参数来确定。return参数即代表H5页面接口回调的函数,在热加载模块中完成插件管理服务的调用后,将返回的结果通过热加载模块提供的loadUrl(“javascript:回调函数(回调结果)”)传递给H5页面。
在其中一些实施例中,在基于H5页面接收到用于请求打开目标插件的接口参数的情况下,H5页面将接口参数传递至热加载模块,其中,接口参数携带有插件标识和用于指示打开目标插件的操作标识,根据插件标识和操作标识,调用对应的插件管理服务将目标插件安装至宿主应用中。
例如,根据操作标识调用下载目标插件的服务,从插件服务器中下载对应于插件标识的目标插件,在下载完成之后,再调用安装插件的服务,将目标插件安装于宿主应用中。
在一些实施例中,可通过获取目标插件的安装文件,为该安装文件构建类加载单元,根据类加载单元加载安装文件至宿主应用中。
具体地,宿主应用在编译过程中将预留多个空白界面,空白界面用于承载打开的插件应用界面。在启动宿主应用之后,用户可以通过H5页面从插件服务器中下载目标插件的安装文件,下载完成后,将安装文件中的资源文件解压至宿主应用的安装目录中,并分配该目标插件的运行目录。类加载单元根据安装文件中的清单文件解析目标插件的页面信息和相关配置信息,例如主题信息、configChanges处理配置信息。启动目标插件的进程,根据目标插件的页面配置信息,从预留空白界面中选取一个空白界面分配给该页面。根据清单文件解析目标插件中的运行信息和类型信息,将解析得到的信息加载到虚拟机中,从而实现目标插件在宿主应用中的运行。
在一些实施例中,宿主应用中可能安装有目标插件,但是未曾启动过或者处于不可启动状态,因此,在获取目标插件的安装文件时,可以根据插件标识判断宿主应用中是否已安装有目标插件;若宿主应用中已安装有目标插件,则根据插件标识从宿主应用中获取安装文件;若宿主应用中未安装有目标插件,则根据插件标识从插件服务中下载安装文件。
随着目标插件的迭代更新,相应的业务逻辑也需要随之变化。例如,用户购买了某一插件之后,该插件增加了新的功能,需要用户付费后才能获取到使用该插件的操作权限。面对这种情况,在根据插件标识和操作标识,调用对应的插件管理服务将目标插件安装至宿主应用中之后,可以通过基于H5页面获取用户的校验信息,校验信息包括用户标识和插件标识;将校验信息传递至鉴权模块,根据校验信息调用鉴权模块对用户操作目标插件的操作权限进行鉴权;接收鉴权模块对用户的操作权限进行鉴权之后返回的鉴权结果,根据鉴权结果确定是否允许用户操作目标插件。
若鉴权结果指示鉴权通过,则H5页面将指示鉴权通过的参数传递给热加载模块,调用热加载模块的插件管理服务启动目标插件。
若鉴权结果指示鉴权未通过,则生成用于提示用户未获得相应操作权限的提示信息,并将提示信息展示于H5页面中。其中,提示信息包括用户需购买目标插件的内容。
优选地,在鉴权结果指示鉴权通过的情况下,启动目标插件之后,还将基于H5页面接收插件服务模块发送的事件,根据该事件对H5页面进行局部更新,其中,事件包括目标插件的升级信息。
本实施例将H5页面和插件服务模块进行实时交互,凭借H5页面动态刷新的机制,展示目标插件的业务形态,从而增强宿主应用的业务拓展能力。
除此以外,在目标插件发生升级的情况下,H5页面接收插件服务模块发送目标插件的升级事件,并根据该事件进行局部更新之后,H5页面还将发送消息至鉴权模块,以指示鉴权模块更改用户对该目标插件的操作权限。
以下将根据优选实施例介绍本申请的插件处理方法。图4是本优选实施例的应用于大厅游戏的插件处理方法的流程图,如图4所示,该流程包括如下步骤:
步骤S41,基于H5页面接收用户输入信息。
步骤S42,在H5页面中展示大厅游戏界面,并发送消息至热加载模块以指示热加载模块进行初始化。
步骤S43,初始化热加载模块。
步骤S44,在H5页面中初始化暴露的接口。
步骤S45,从EGP服务器中拉取EGP数据。
步骤S46,基于H5页面获取用户输入信息,确定待打开的插件。
步骤S47,基于H5页面传递接口参数至热加载模块。
步骤S48,热加载模块下载插件的安装文件。
步骤S49,热加载模块安装插件。
步骤S50,基于H5页面向鉴权模块发送用户的校验信息。
步骤S51,鉴权模块基于用户的校验信息对用户操作目标插件进行鉴权。
步骤S52,若鉴权通过,则发送鉴权通过的消息至热加载模块。
步骤S53,热加载模块启动插件。
步骤S54,基于H5页面接收删除插件的信息。
步骤S55,基于H5页面传递接口参数至热加载模块。
步骤S56,热加载模块卸载插件。
在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,基于H5页面获取接口参数。
S2,将接口参数传递至热加载模块,根据接口参数调用热加载模块的插件管理服务对目标插件执行相应的操作。
S3,获取热加载模块响应于接口参数后返回的响应结果,并将响应结果传递至H5页面进行展示。
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
此外,结合上述实施例中提供的插件处理方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种插件处理方法。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (14)
1.一种插件处理方法,其特征在于,包括:
基于H5页面获取接口参数;
将所述接口参数传递至热加载模块,根据所述接口参数调用所述热加载模块的插件管理服务对目标插件执行相应的操作;
获取所述热加载模块响应于所述接口参数后返回的响应结果,并将所述响应结果传递至所述H5页面进行展示。
2.根据权利要求1所述的插件处理方法,其特征在于,在将所述接口参数传递至热加载模块,根据所述接口参数调用所述热加载模块的插件管理服务对插件执行相应的操作之前,所述方法还包括:
获取所述热加载模块中插件管理服务的资源信息;
根据所述插件管理服务的资源信息,生成接口信息,并根据所述接口信息将所述插件管理服务的多个接口暴露于所述H5页面中。
3.根据权利要求2所述的插件处理方法,其特征在于,所述资源信息包括所述插件管理服务的路径信息,根据所述插件管理服务的资源信息,生成接口信息,并根据所述接口信息将所述插件管理服务的多个接口暴露于所述H5页面中包括:
根据所述插件管理服务的路径信息,生成统一资源标志符;
根据所述统一资源标志符,在所述H5页面中展示用于接收所述接口参数的接口。
4.根据权利要求1所述的插件处理方法,其特征在于,在接收到用于请求打开目标插件的接口参数的情况下,将所述接口参数传递至热加载模块,根据所述接口参数调用所述热加载模块的插件管理服务对插件执行相应的操作包括:
提取所述接口参数中的插件标识和用于指示打开所述目标插件的操作标识;
根据所述插件标识和所述操作标识,调用对应的插件管理服务将所述目标插件安装至宿主应用中。
5.根据权利要求4所述的插件处理方法,其特征在于,根据所述插件标识和所述操作标识,调用对应的插件管理服务将所述目标插件安装至所述宿主应用中包括:
获取所述目标插件的安装文件;
构建所述安装文件的类加载单元;
根据所述类加载单元加载所述安装文件至所述宿主应用中。
6.根据权利要求5所述的插件处理方法,其特征在于,获取所述目标插件的安装文件包括:
根据所述插件标识判断所述宿主应用中是否已安装有所述目标插件;
若所述宿主应用中已安装有所述目标插件,则根据所述插件标识所述从所述宿主应用中获取所述安装文件;
若所述宿主应用中未安装有所述目标插件,则根据所述插件标识从插件服务中下载所述安装文件。
7.根据权利要求4所述的插件处理方法,其特征在于,在根据所述插件标识和所述操作标识,调用对应的插件管理服务将所述目标插件安装至所述宿主应用中之后,所述方法还包括:
基于所述H5页面获取用户的校验信息,所述校验信息包括用户标识和插件标识;
将所述校验信息传递至鉴权模块,根据所述校验信息调用所述鉴权模块对用户操作所述目标插件的操作权限进行鉴权;
接收所述鉴权模块对用户的操作权限进行鉴权之后返回的鉴权结果,根据所述鉴权结果确定是否允许用户操作所述目标插件。
8.根据权利要求7所述的插件处理方法,其特征在于,接收所述鉴权模块对用户的操作权限进行鉴权之后返回的鉴权结果,根据所述鉴权结果确定是否允许用户操作所述目标插件包括:
在所述鉴权结果指示鉴权通过的情况下,启动所述目标插件;以及
在所述鉴权结果指示鉴权未通过的情况下,生成用于提示所述用户未获得相应操作权限的提示信息,并将所述提示信息展示于所述H5页面中。
9.根据权利要求8所述的插件处理方法,其特征在于,所述提示信息包括用户需购买所述目标插件的内容。
10.根据权利要求1所述的插件处理方法,其特征在于,在所述鉴权结果指示鉴权通过的情况下,启动所述目标插件之后,所述方法还包括:
基于所述H5页面接收所述插件服务模块发送的事件,所述事件包括所述目标插件的升级信息;
根据所述事件对所述H5页面进行局部更新。
11.根据权利要求10所述的插件处理方法,其特征在于,在根据所述事件对所述H5页面进行局部更新之后,所述方法还包括:
在所述鉴权模块中更新所述用户的操作权限信息。
12.根据权利要求1至11中任一项所述的插件处理方法,其特征在于,所述H5页面中设置有所述插件管理服务的接口,所述接口包括以下至少之一:
下载插件接口、安装插件接口、打开插件接口、卸载插件接口、查询插件安装状态接口、查询插件安装列表接口。
13.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至12中任一项所述的插件处理方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的插件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111021194.XA CN113778554A (zh) | 2021-09-01 | 2021-09-01 | 插件处理方法、电子装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111021194.XA CN113778554A (zh) | 2021-09-01 | 2021-09-01 | 插件处理方法、电子装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778554A true CN113778554A (zh) | 2021-12-10 |
Family
ID=78840722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111021194.XA Pending CN113778554A (zh) | 2021-09-01 | 2021-09-01 | 插件处理方法、电子装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778554A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382796A (zh) * | 2023-03-29 | 2023-07-04 | 上海视九信息科技有限公司 | 一种h5小程序运行器的插件管理方法、装置及电子设备 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099283A1 (en) * | 2009-10-28 | 2011-04-28 | Samsung Electronics Co., Ltd. | User service profile-based plug-in update method and apparatus for internet protocol television service |
CN104123151A (zh) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的插件管理方法、装置和移动终端 |
WO2016145747A1 (zh) * | 2015-03-16 | 2016-09-22 | 中兴通讯股份有限公司 | 智能网关的功能插件管理方法、客户端及系统 |
CN106201638A (zh) * | 2016-08-31 | 2016-12-07 | 广州品唯软件有限公司 | 一种插件加载方法、系统、客户端和服务端 |
CN106331135A (zh) * | 2016-08-31 | 2017-01-11 | 广州品唯软件有限公司 | 一种部分界面更新方法、系统、客户端和服务端 |
CN106446049A (zh) * | 2016-08-31 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 一种页面数据交互装置及方法 |
CN106951284A (zh) * | 2017-03-14 | 2017-07-14 | 深圳创维-Rgb电子有限公司 | 基于安卓系统应用的用户界面升级方法、装置及智能终端 |
CN107071526A (zh) * | 2017-02-10 | 2017-08-18 | 南京创维信息技术研究院有限公司 | 基于资源共享的智能电视影视推送方法、系统及智能电视 |
CN107562489A (zh) * | 2017-08-22 | 2018-01-09 | 上海斐讯数据通信技术有限公司 | 一种基于网页管理模块管理插件的方法及系统 |
US20190079780A1 (en) * | 2017-09-09 | 2019-03-14 | Box, Inc. | Plug-in management wrappers |
US20190303123A1 (en) * | 2018-03-30 | 2019-10-03 | Barracuda Networks, Inc. | System and method for application plug-in distribution |
CN110515673A (zh) * | 2019-07-24 | 2019-11-29 | 百度在线网络技术(北京)有限公司 | 插件化系统及其方法 |
CN111880987A (zh) * | 2020-07-09 | 2020-11-03 | 青岛海尔科技有限公司 | 应用程序的动态监测方法、装置、存储介质以及电子装置 |
WO2020232698A1 (en) * | 2019-05-23 | 2020-11-26 | Citrix Systems, Inc. | Secure web application delivery platform |
CN112559026A (zh) * | 2020-12-23 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 基于api接口的原生能力拓展方法、设备及存储介质 |
-
2021
- 2021-09-01 CN CN202111021194.XA patent/CN113778554A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099283A1 (en) * | 2009-10-28 | 2011-04-28 | Samsung Electronics Co., Ltd. | User service profile-based plug-in update method and apparatus for internet protocol television service |
CN104123151A (zh) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的插件管理方法、装置和移动终端 |
WO2016145747A1 (zh) * | 2015-03-16 | 2016-09-22 | 中兴通讯股份有限公司 | 智能网关的功能插件管理方法、客户端及系统 |
CN106201638A (zh) * | 2016-08-31 | 2016-12-07 | 广州品唯软件有限公司 | 一种插件加载方法、系统、客户端和服务端 |
CN106331135A (zh) * | 2016-08-31 | 2017-01-11 | 广州品唯软件有限公司 | 一种部分界面更新方法、系统、客户端和服务端 |
CN106446049A (zh) * | 2016-08-31 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 一种页面数据交互装置及方法 |
CN107071526A (zh) * | 2017-02-10 | 2017-08-18 | 南京创维信息技术研究院有限公司 | 基于资源共享的智能电视影视推送方法、系统及智能电视 |
CN106951284A (zh) * | 2017-03-14 | 2017-07-14 | 深圳创维-Rgb电子有限公司 | 基于安卓系统应用的用户界面升级方法、装置及智能终端 |
CN107562489A (zh) * | 2017-08-22 | 2018-01-09 | 上海斐讯数据通信技术有限公司 | 一种基于网页管理模块管理插件的方法及系统 |
US20190079780A1 (en) * | 2017-09-09 | 2019-03-14 | Box, Inc. | Plug-in management wrappers |
US20190303123A1 (en) * | 2018-03-30 | 2019-10-03 | Barracuda Networks, Inc. | System and method for application plug-in distribution |
WO2020232698A1 (en) * | 2019-05-23 | 2020-11-26 | Citrix Systems, Inc. | Secure web application delivery platform |
CN110515673A (zh) * | 2019-07-24 | 2019-11-29 | 百度在线网络技术(北京)有限公司 | 插件化系统及其方法 |
CN111880987A (zh) * | 2020-07-09 | 2020-11-03 | 青岛海尔科技有限公司 | 应用程序的动态监测方法、装置、存储介质以及电子装置 |
CN112559026A (zh) * | 2020-12-23 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 基于api接口的原生能力拓展方法、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382796A (zh) * | 2023-03-29 | 2023-07-04 | 上海视九信息科技有限公司 | 一种h5小程序运行器的插件管理方法、装置及电子设备 |
CN116382796B (zh) * | 2023-03-29 | 2024-02-13 | 上海视九信息科技有限公司 | 一种h5小程序运行器的插件管理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5951639A (en) | Multicast downloading of software and data modules and their compatibility requirements | |
CN104063239B (zh) | 移动终端的应用程序更新方法及服务器、客户端 | |
EP2696532A2 (en) | Method, server and system for starting application | |
CN107797807B (zh) | 生成容器的方法、装置、终端、服务器与系统 | |
US20140244803A1 (en) | Integrated app store apparatus, a method of providing an application in the apparatus, and an integrated app store system | |
CN113168332B (zh) | 数据处理方法、装置以及移动终端 | |
CN112491948B (zh) | 非侵入式的单体应用微服务化方法、装置及计算机设备 | |
CN114125028B (zh) | 微应用的运行方法、装置、设备、存储介质及程序产品 | |
CN109725952B (zh) | 一种应用程序插件化的方法、系统以及相关装置 | |
CN111880987A (zh) | 应用程序的动态监测方法、装置、存储介质以及电子装置 | |
CN104077160A (zh) | 一种升级安卓软件的方法、设备和系统 | |
CN109492181B (zh) | 页面跳转方法、装置、计算机设备和存储介质 | |
CN104699511A (zh) | 插件升级方法及装置 | |
CN110113207A (zh) | 一种基于物联网的协议更新方法、装置、设备和存储介质 | |
CN114253552B (zh) | 可编程的边缘设备自适配方法和装置 | |
CN110493644B (zh) | 电视应用升级方法、电视终端及服务器 | |
CN114035830A (zh) | 软件升级方法、装置及电子设备 | |
CN113064685A (zh) | 一种h5页面加载方法及装置 | |
CN113778554A (zh) | 插件处理方法、电子装置和存储介质 | |
CN110851151A (zh) | 预装应用的方法、装置、终端、服务器和存储介质 | |
CN109992295B (zh) | 一种版本管理方法和服务器 | |
CN114327519A (zh) | 一种在智能pos设备上安装应用的实现方法及装置 | |
CN109298889A (zh) | 一种生成引导程序的方法、开机广告更新方法及终端设备 | |
CN108572832B (zh) | 应用版本动态更新的方法及其系统 | |
CN115396430A (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 |