[发明专利]原生方法的调用方法、装置、设备及计算机可读存储介质有效
| 申请号: | 201810264438.9 | 申请日: | 2018-03-28 |
| 公开(公告)号: | CN110321228B | 公开(公告)日: | 2023-09-22 |
| 发明(设计)人: | 朱青蓥;李仁生;蔡元锋;许有甜;殷洁 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 刘映东 |
| 地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 原生 方法 调用 装置 设备 计算机 可读 存储 介质 | ||
1.一种原生方法的调用方法,其特征在于,所述方法包括:
使用JavaScriptCore的JSC_JSObjectSetProperty接口注册JS层调用原生方法的中转方法,所述中转方法为onJSCallMethod方法;
获取JS层对原生方法的调用请求,所述调用请求携带所述原生方法的信息;
通过所述中转方法将所述调用请求转发至网关后,获取当前正在运行的JS上下文环境信息,根据所述JS上下文环境信息获取所述JS层可调用的原生方法的信息,所述JS层可调用的原生方法的信息包括原生方法名、标识和参数,所述JS层可调用的原生方法的信息按照不同的JS层的上下文运行环境存储于列表中;
当所述调用请求中携带的原生方法的信息与所述JS层可调用的原生方法的信息一致时,对所述调用请求的权限验证通过;
当所述调用请求中携带的原生方法的信息与所述JS层可调用的原生方法的信息不一致时,根据所述JS上下文环境信息获取所述JS层禁止调用的原生方法的信息,所述JS层禁止调用的原生方法的信息包括原生方法名、标识和参数,所述JS层禁止调用的原生方法的信息按照不同的JS层的上下文运行环境存储于列表中;
当所述调用请求中携带的原生方法的信息与所述JS层禁止调用的原生方法的信息一致时,对所述调用请求的权限验证未通过;
当所述调用请求中携带的原生方法的信息与所述JS层禁止调用的原生方法的信息不一致时,设为对所述调用请求的权限验证未通过;
当对所述调用请求的权限验证通过时,通过所述中转方法将所述调用请求转发至原生层,所述原生层根据所述调用请求中携带的原生方法的信息调用所述原生方法下载数据,通过JS层回调函数将下载的数据传递至所述JS层,调用所述JS层对所述下载的数据进行处理,生成待渲染的数据,调用所述原生层对所述待渲染的数据进行渲染,其中,所述JS层回调函数由所述JS层调用所述原生层的数据加载模块并通过所述原生层的网络或者本地能力加载初始化数据后向所述原生层提供,所述初始化数据由所述原生层向所述JS层传递。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取权限配置文件,所述权限配置文件中存储有所述JS层可调用的原生方法的信息和所述JS层禁止调用的原生方法的信息;
所述根据所述JS上下文环境信息获取所述JS层可调用的原生方法的信息,包括:根据所述JS上下文环境信息从所述权限配置文件中获取所述JS层可调用的原生方法的信息;
所述根据所述JS上下文环境信息获取所述JS层禁止调用的原生方法的信息,包括:根据所述JS上下文环境信息从所述权限配置文件中获取所述JS层禁止调用的原生方法的信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述权限配置文件被加密时,对所述权限配置文件进行解密;
所述根据所述JS上下文环境信息从所述权限配置文件中获取所述JS层可调用的原生方法的信息,包括:所述根据所述JS上下文环境信息从解密后的权限配置文件中获取所述JS层可调用的原生方法的信息;
所述根据所述JS上下文环境信息从所述权限配置文件中获取所述JS层禁止调用的原生方法的信息,包括:根据所述JS上下文环境信息从所述解密后的权限配置文件中获取所述JS层禁止调用的原生方法的信息。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当获取权限配置文件失败时,获取预设的默认配置文件,所述预设的默认配置文件中存储有所述JS层可调用的原生方法的信息和所述JS层禁止调用的原生方法的信息;
根据所述预设的默认配置文件对所述调用请求进行权限验证。
5.根据权利要求1-4中任一所述的方法,其特征在于,所述方法还包括:
当所述调用请求未通过权限验证时,发出告警。
6.根据权利要求2-4中任一所述的方法,其特征在于,所述获取权限配置文件,包括:
当从服务器下载待渲染的JS文件时,从所述服务器下载所述权限配置文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810264438.9/1.html,转载请声明来源钻瓜专利网。





