[发明专利]一种客户端逻辑更新方法、装置、电子设备及存储介质在审
申请号: | 202211504405.X | 申请日: | 2022-11-28 |
公开(公告)号: | CN115934123A | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 戴峰 | 申请(专利权)人: | 杭州网易再顾科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈蕾 |
地址: | 310052 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 客户端 逻辑 更新 方法 装置 电子设备 存储 介质 | ||
1.一种客户端逻辑更新方法,所述方法包括:
响应于确定应用程序的客户端逻辑待更新,获取与待更新的客户端逻辑对应的插件程序的程序代码文件;其中,所述应用程序与所述插件程序之间的共享接口是基于Kotlin语言定义的;
根据获取到的程序代码文件,将所述插件程序加载至所述应用程序;
执行所述插件程序,以实现与所述插件程序对应的客户端逻辑。
2.根据权利要求1所述的方法,在响应于确定应用程序的客户端逻辑待更新,获取与待更新的客户端逻辑对应的插件程序的程序代码文件之前,所述方法还包括:
从所述应用程序的服务端获取程序清单;其中,所述程序清单包括所述插件程序所包含的至少一个功能模块的模块信息,和所述至少一个功能模块所依赖的其他功能模块的模块信息;
确定获取到的程序清单所包括的模块信息与上一次获取到的程序清单所包括的模块信息是否一致;
如果获取到的程序清单所包括的模块信息与上一次获取到的程序清单所包括的模块信息不一致,则确定所述应用程序的客户端逻辑待更新。
3.根据权利要求2所述的方法,所述获取与待更新的客户端逻辑对应的插件程序的程序代码文件,包括:
根据获取到的程序清单所包括的模块信息,下载与所述插件程序所包含的至少一个功能模块对应的程序代码文件,以及下载与所述至少一个功能模块所依赖的其他功能模块对应的程序代码文件。
4.根据权利要求1所述的方法,所述根据获取到的程序代码文件,将所述插件程序加载至所述应用程序,包括:
根据获取到的程序代码文件,基于QuickJS引擎将所述插件程序加载至所述应用程序。
5.根据权利要求4所述的方法,所述获取到的程序代码文件,包括:与待更新的客户端逻辑对应的插件程序的字节码文件;其中,所述插件程序的字节码文件,包括针对基于Kotlin语言编写的所述插件程序的源码文件进行编译而得到的所述插件程序的QuickJS字节码文件。
6.根据权利要求2所述的方法,所述程序清单包括所述插件程序的入口函数;
所述执行所述插件程序,包括:
执行所述插件程序的入口函数,以获取在JS侧注册的与所述共享接口对应的第一类桥接类实例,并调用所述第一类桥接类实例;其中,所述第一类桥接类实例包括:响应于在JS侧注册与所述共享接口对应的接口实例,在JS侧注册的与所述共享接口的桥接类对应的桥接类实例;所述桥接类为响应于基于Kotlin语言定义所述共享接口,通过继承所述共享接口而生成的。
7.根据权利要求6所述的方法,所述方法还包括:
响应于在原生侧注册与所述共享接口对应的接口实例,在原生侧注册与所述共享接口的桥接类对应的桥接类实例,并将在原生侧注册的桥接类实例确定为与所述共享接口对应的第二类桥接类实例;
响应于所述第二类桥接类实例被调用,执行所述第二类桥接类实例中定义的函数。
8.一种客户端逻辑更新装置,所述装置包括:
第一获取模块,用于响应于确定应用程序的客户端逻辑待更新,获取与待更新的客户端逻辑对应的插件程序的程序代码文件;其中,所述应用程序与所述插件程序之间的共享接口是基于Kotlin语言定义的;
加载模块,用于根据获取到的程序代码文件,将所述插件程序加载至所述应用程序;
执行模块,用于执行所述插件程序,以实现与所述插件程序对应的客户端逻辑。
9.一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述权利要求1-7中任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州网易再顾科技有限公司,未经杭州网易再顾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211504405.X/1.html,转载请声明来源钻瓜专利网。