[发明专利]基于ReactNative的多模块移动应用的热更新方法及系统有效
申请号: | 201910379464.0 | 申请日: | 2019-05-08 |
公开(公告)号: | CN110096295B | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 赖雪菲;李响 | 申请(专利权)人: | 吉旗(成都)科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
地址: | 610000 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 reactnative 模块 移动 应用 更新 方法 系统 | ||
1.一种基于ReactNative的多模块移动应用的热更新方法,应用于客户端,其特征在于,所述方法包括如下步骤:
进入移动应用的ReactNative模块;
加载所述移动应用的jsbundle文件和资源文件;
根据所述jsbundle文件和资源文件,向服务器请求所述ReactNative模块的热更新配置信息,所述热更新配置信息包括以下参数:模块唯一标识、应用版本号、jsbundle版本号,以及jsbundle的Md5值;
接收服务器返回的热更新配置信息;
根据所述热更新配置信息进行热更新资源的下载;
解压所述热更新资源;
将解压后的所述热更新资源缓存到所述移动应用的沙盒路径中;
加载所述移动应用的jsbundle文件和资源文件包括:
检测所述移动应用的沙盒中是否缓存有所述ReactNative模块的jsbundle文件和资源文件;如果所述移动应用的沙盒中缓存有所述ReactNative模块的jsbundle文件和资源文件,加载缓存的jsbundle文件和资源文件;
如果所述移动应用的沙盒中没有缓存所述ReactNative模块的jsbundle文件和资源文件,加载所述移动应用中内置的jsbundle文件和资源文件;
加载缓存的jsbundle文件和资源文件包括:
将所述ReactNative模块的文件拷贝到currentReadedModule文件中;
返回拷贝后的文件路径;
读取所述拷贝后的文件路径中的jsbundle文件和资源文件包括进行界面渲染;
将解压后的所述热更新资源缓存到所述移动应用的沙盒路径中之后,所述方法还包括:识别所述ReactNative模块是否需要强制更新;
如果所述ReactNative模块需要强制更新,刷新所述ReactNative模块
刷新所述ReactNative模块包括:
向服务器上传刷新页面的请求,所述刷新页面的请求中携带有请求参数,以使得服务器根据所述请求参数查询出未刷新期间产生的数据和补传数据,判断所述未刷新期间产生的数据和补传数据的数据量是否超出预设的最大数据量,在所述未刷新期间产生的数据和补传数据的数据量超出预设的最大数据量时,向客户端返回数据并在返回的数据中携带还有更多数据的标识;
接收服务器返回的数据;
根据服务器返回的数据中的标识,判断是否有更多数据未传回;
如果有更多数据未传回,根据服务器返回的数据的最早产生时间,移除本地缓存中所有比所述最早产生时间早的数据;
将其余的数据缓存于本地数据库中;
刷新显示界面;
所述方法还包括:
向服务器上传加载更多数据的请求,所述加载更多数据的请求中携带有客户端当前界面显示数据中的最早发生时间,以使得服务器查找出比所述最早发生时间更早的数据,将比所述最早发生时间更早的数据返回至客户端;
接收服务器返回的比所述最早发生时间更早的数据;
将比所述最早发生时间更早的数据缓存本地数据库中;
刷新显示界面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉旗(成都)科技有限公司,未经吉旗(成都)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910379464.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可任意断点无线升级MCU应用程序的方法
- 下一篇:一种缓存对比方法及设备