离线包

更新时间:2023-09-20 07:59:29下载pdf

小程序离线包是指在本地构建一个离线代码包,代码包内提供小程序运行中所需的所有代码和资源。将离线包集成到 Native 应用中,小程序运行时会优先加载本地的离线包,如果本地没有离线包,则从云端下载最新的资源包。

功能介绍

小程序离线包能力旨在为您提供更好的小程序体验,包括:

  • 提升小程序启动速度。

    当打开小程序时,如果本地已经有离线包,小程序会优先加载本地离线包,避免了网络请求的时间消耗,提升了小程序的启动速度。

  • 兼容私有化部署方案。

    由于小程序在运行时涉及到服务端请求,如果您的 App 是私有化部署的,但是并未将小程序服务同步私有化,那么小程序将无法正常运行。但是,通过离线包能力,您可以将小程序的代码和资源打包到本地,从而实现小程序的运行。

  • 小程序自动更新策略限制。

    如果您需要控制小程序的更新策略,使小程序永远保持在某个版本,那么您可以通过构建离线包时指定某个小程序仅加载离线包。

构建离线包

离线包在未来会支持小程序开发者工具自动构建,目前还需要联系涂鸦辅助构建。需要构建离线包时,请提供如下信息:

  • thingsmart-bizbundle-miniapp 组件版本号。
  • 项目中集成的 thingsmart-bizbundle-XXXkit 相关业务能力组件版本号。
  • 需要构建离线包的小程序 miniprogam 信息。

_miniprograms_info

[
    {
        "id": "xxxxx",// 小程序 id, 必传
        "version": "1.2.3",// 小程序版本号, 需要限定版本时传入, 可选,指定了此参数,构建离线包时会以此版本号为准构建
        "path": "pages/index/index",// 小程序入口页面, 可选
        "pid": "xxxxx",// 面板小程序对应的 productId, 面板小程序时传入
        "onlyloadoffline": "true"// 小程序是否仅加载离线包, 可选
    },
    ...
]

_container_version

项目中依赖的 thingsmart-bizbundle-miniapp 组件对应的版本号。

_dependencies_kits

  • 项目中依赖的 thingsmart-bizbundle-XXXkit 相关组件对应的版本号
  • 需要统计到项目中依赖的所有 thingsmart-bizbundle-XXXkit 相关组件,包括 thingsmart-bizbundle-basekitthingsmart-bizbundle-bizkit 等。

集成离线包

离线包构建的产物为一个压缩包(.zip)文件,名称为:miniapp_offline.zip

  1. 将此压缩包文件去除后缀名,重命名为 miniapp_offline
  2. 复制 miniapp_offline 到项目工程 assets 下,并编译构建。

运行验证

离线包集成完成后,可以通过如下方式验证:

  1. 打开小程序前,将手机断网。
  2. 打开小程序,如果小程序能正常运行,说明离线包集成成功。