Hybird-后台接口和后台管理界面

目录

  • 背景
  • 接口格式
  • 管理界面
  • 后台逻辑

背景

由于线上乐刻客户端 App 第一次打开平台 H5 需要几秒的加载时间,这个体验对用户来说并不友好,为了让用户跳转 H5 和跳转到原生一样的用户体验,就需要把 H5 相关的离线资源包下发给客户端,客户端就可以使用离线资源来代替实际网络请求,节省用户等待时间和流量消耗。这里就需要后台来负责离线资源包的管理和下发。

接口格式

offlineResourceInfo 接口参数:

{
    //"appVersion": "2.4.0", 可以去掉,因为请求头会包含
    "resourceversionList": [{
        "name": "m",
        "version": "1.0.0"
    },{
        "name": "coach",
        "version": "1.0.0"
    },{
        "name": "activity",
        "version": "1.0.0"
    }]
}

offlineResourceInfo 接口返回结构体:

{
    "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.zip

添加降级资源包

资源包需上传到七牛空间 offlineh5, 路径为 http://cdn.xxx.com/degrade/[模块名]/activity.full_1.0.0.zip

后台逻辑

App 启动

App 第一次请求时, resourceVersionList 为空,服务器需要返回所有模块最新的全量资源。

App 升级逻辑

App 后续请求都会带上本地最新的resourceVersionList,服务器遍历resourceVersionList,并和服务器上配置的所有升级模块最新版本进行比较,

  • 如果升级模块版本与 App 本地版本相隔一个版本,就下发增量包。
  • 如果升级模块版本比 App 本地版本相隔多个版本(跨版本),就下发全量包。
  • 如果某个模块不要升级资源包,后台接口就不需要返回该模块的信息。

App 降级逻辑

App 后续请求都会带上本地最新的resourceVersionList,服务器遍历version list,并和服务器上配置的所有降级模块源版本进行比较,

  • 如果降级模块源版本与 App 本地版本相同,就下发降级包。
  • 当降级逻辑和升级逻辑同时满足条件时,只启用降级逻辑。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,633评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,473评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,222评论 4 61
  • 吴强是典型理科男。他10年前离职创业,创办天润融通科技有限公司(以下简称:天润融通,公司于2016年登陆新三板挂牌...
    简单书写2017阅读 2,047评论 2 2
  • 初到杭州的那些天,一肚子的委屈。这里的天空似乎不太欢迎我这个西北土著,像被长工白吃了饭的财主的脸,阴沉沉的拉着。心...
    爱佛僧阅读 3,349评论 7 10