native展示 h5之下载解压展示

展示h5有两种方式:在线本地

在线的话,直接用URL展示就好了。

本地的话,就稍微有点绕。个人经验来说,总共有4步:对比,下载,解压,展示。

开始

发送网络请求,查看当前最新h5包的版本号等数据,保存到包模型中。

其中,包模型数据要满足基本要求,需要属性:在线h5 url,下载最新h5 zip的url,最新h5 zip包的版本号,是否展示在线h5, 本地是否有h5文件(这条网络json不需要,用于本地数据保存)。

如果网络包模型中要求直接展示在线h5,直接用在线h5 url 展示。反之,进入下一步,对比。

对比

获取本地包模型,如果包模型不存在的话,说明根本就没下载解压成功过,可以直接进入下一步下载了。

如果本地包模型存在,则对比本地包模型数据和网络包模型数据的版本号,本地包模型的版本号小于网络包模型的版本号,说明本地的h5文件已经不是最新的了,进入下一步下载;反之,则说明本地包模型是最新的数据,那么就检查一下本地是否真的存在h5文件可以展示,如果是的话,就进入展示步骤,反之,说明本地存储的包模型和实际文件情况不匹配,更新本地包模型数据为未下载,或者删除本地对应的包模型数据,并保存,进入下载步骤。

下载

根据网络包模型数据下载最新的zip包,下载成功后,进入解压步骤

解压

解压网络下载的zip包,解压成功后,更新网络包模型数据的下载情况为YES,保存本地可(以保存数据库,或者UserDefault)。解压失败的话,就直接展示在线的h5页面。

展示

展示

这是大概的思路,在项目里头已经实现过了。

最后用一幅流程图完成总结


native展示 h5之下载解压展示_第1张图片

具体实现里头,有很多小细节,在这里不多加赘述了。

你可能感兴趣的:(native展示 h5之下载解压展示)