react native 增量升级 热更新 思路
request
{
"version": "1",
"miniId": "miniid"
}
version 本地版本号
miniId 小程序ID
response
{
"message": "success",
"code": "200",
"data": {
"description": "新版本",
"fullupdate": false,
"patch": {
"path": "http://192.168.29.81:8000/files/ReactNative/react_native/patch_ios/ios_patch_rn_b_gold_4_5.zip",
"empty": false
},
"version": 5,
"path": "http://192.168.29.81:8000/files/ReactNative/react_native/ios/ios_20180411110709.zip",
"forceupdate": true
}
}
path: 远端最新包的下载地址
version: 服务器最新版本号
fullUpdate: 是否整包更新,如果为 true 则 patch 则不起作用
标识是否整包升级,此字段为 true 时,全量升级,下载字段 path 下文件全量升级
- forceUpdate: 是否强制更新,标识是否使用本地缓存版本
如果为 true ,则此次如果更新失败的情况下,不采用缓存版本,直接退出
- patch 补丁对象
当 fullupdate 为 false 时,此字段生效
- patch -> empty 标识增量包是否是空包
标识增量包是否是空包,如果是空包,没有增量
patch -> path 增量包地址
增量包(.zip)说明
直接解压此 zip 覆盖式解压到本地沙盒文件夹目录下即可。此方法更新所有图片资源
解压 zip 后,文件夹下如果存在文件 patch 文件(只有更改了代码,才有 patch 文件)
将 patch 文件内容(差量)应用到本地文件 index.jsbundle 内容里面即可