Hybird-後臺接口和後臺管理界面

目錄

  • 背景服務器

  • 接口格式網絡

  • 管理界面app

  • 後臺邏輯url

背景

因爲線上樂刻客戶端 App 第一次打開平臺 H5 須要幾秒的加載時間,這個體驗對用戶來講並不友好,爲了讓用戶跳轉 H5 和跳轉到原生同樣的用戶體驗,就須要把 H5 相關的離線資源包下發給客戶端,客戶端就能夠使用離線資源來代替實際網絡請求,節省用戶等待時間和流量消耗。這裏就須要後臺來負責離線資源包的管理和下發。
<!--more-->spa

接口格式

offlineResourceInfo 接口參數:code

{
    //"appVersion": "2.4.0", 能夠去掉,由於請求頭會包含
    "resourceversionList": [{
        "name": "m",
        "version": "1.0.0"
    },{
        "name": "coach",
        "version": "1.0.0"
    },{
        "name": "activity",
        "version": "1.0.0"
    }]
}

offlineResourceInfo 接口返回結構體:cdn

{
    "data": {
        "resourceList": [{
                "name": "m",
                "version": "1.0.1",
                "url": "http://cdn.xxx.com/resource/m/m_update_1.0.0_1.0.1.zip",
                "md5": "a4d7feecbcae8e2ccba3b5ba90aa8a83",
                "isfull": false
            },{
                "name": "coach",
                "version": "1.0.1",
                "url":  "http://cdn.xxx.com/resource/coach/coach_full_1.0.1.zip",
                "md5": "a4d7feecbcae8e2ccba3b5ba90aa8a83",
                "isfull": true
            }
        ]
    }
}

參數說明:接口

"name": 模塊名
"version": 升級版本
"url": 資源包下載地址
"md5": 資源包 md5
"isfull": 是不是全量升級包

管理界面

添加升級資源包

資源包需上傳到七牛空間 offlineh5, 路徑爲 http://cdn.xxx.com/upgrade/[模塊名]/activity.full_1.0.0.zipip

添加降級資源包

資源包需上傳到七牛空間 offlineh5, 路徑爲 http://cdn.xxx.com/degrade/[模塊名]/activity.full_1.0.0.zipmd5

後臺邏輯

App 啓動

App 第一次請求時, resourceVersionList 爲空,服務器須要返回全部模塊最新的全量資源。

App 升級邏輯

App 後續請求都會帶上本地最新的resourceVersionList,服務器遍歷resourceVersionList,並和服務器上配置的全部升級模塊最新版本進行比較,

  • 若是升級模塊版本與 App 本地版本相隔一個版本,就下發增量包。

  • 若是升級模塊版本比 App 本地版本相隔多個版本(跨版本),就下發全量包。

  • 若是某個模塊不要升級資源包,後臺接口就不須要返回該模塊的信息。

App 降級邏輯

App 後續請求都會帶上本地最新的resourceVersionList,服務器遍歷version list,並和服務器上配置的全部降級模塊源版本進行比較,

  • 若是降級模塊源版本與 App 本地版本相同,就下發降級包。

  • 當降級邏輯和升級邏輯同時知足條件時,只啓用降級邏輯。

相關文章
相關標籤/搜索