展示h5有兩種方式:在線,本地。
在線的話,直接用URL展示就好了。
本地的話,就稍微有點(diǎn)繞。個(gè)人經(jīng)驗(yàn)來(lái)說(shuō),總共有4步:對(duì)比,下載,解壓,展示。
開始
發(fā)送網(wǎng)絡(luò)請(qǐng)求,查看當(dāng)前最新h5包的版本號(hào)等數(shù)據(jù),保存到包模型中。
其中,包模型數(shù)據(jù)要滿足基本要求,需要屬性:在線h5 url,下載最新h5 zip的url,最新h5 zip包的版本號(hào),是否展示在線h5, 本地是否有h5文件(這條網(wǎng)絡(luò)json不需要,用于本地?cái)?shù)據(jù)保存)。
如果網(wǎng)絡(luò)包模型中要求直接展示在線h5,直接用在線h5 url 展示。反之,進(jìn)入下一步,對(duì)比。
對(duì)比
獲取本地包模型,如果包模型不存在的話,說(shuō)明根本就沒下載解壓成功過(guò),可以直接進(jìn)入下一步下載了。
如果本地包模型存在,則對(duì)比本地包模型數(shù)據(jù)和網(wǎng)絡(luò)包模型數(shù)據(jù)的版本號(hào),本地包模型的版本號(hào)小于網(wǎng)絡(luò)包模型的版本號(hào),說(shuō)明本地的h5文件已經(jīng)不是最新的了,進(jìn)入下一步下載;反之,則說(shuō)明本地包模型是最新的數(shù)據(jù),那么就檢查一下本地是否真的存在h5文件可以展示,如果是的話,就進(jìn)入展示步驟,反之,說(shuō)明本地存儲(chǔ)的包模型和實(shí)際文件情況不匹配,更新本地包模型數(shù)據(jù)為未下載,或者刪除本地對(duì)應(yīng)的包模型數(shù)據(jù),并保存,進(jìn)入下載步驟。
下載
根據(jù)網(wǎng)絡(luò)包模型數(shù)據(jù)下載最新的zip包,下載成功后,進(jìn)入解壓步驟
解壓
解壓網(wǎng)絡(luò)下載的zip包,解壓成功后,更新網(wǎng)絡(luò)包模型數(shù)據(jù)的下載情況為YES,保存本地可(以保存數(shù)據(jù)庫(kù),或者UserDefault)。解壓失敗的話,就直接展示在線的h5頁(yè)面。
展示
展示
這是大概的思路,在項(xiàng)目里頭已經(jīng)實(shí)現(xiàn)過(guò)了。
最后用一幅流程圖完成總結(jié)

具體實(shí)現(xiàn)里頭,有很多小細(xì)節(jié),在這里不多加贅述了。