@heybox/hb-sdk API Reference - v0.9.5
    正在准备搜索索引...
    • 同步获取小程序启动时携带的分享扩展数据;没有有效数据时返回 undefined。

      返回 MiniProgramShareExtraValue | undefined

      启动 URL 中有效的 extra 解码值。null、false、0 和空字符串都是有效 返回值;只有 URL 或参数缺失、编码/MessagePack 非法、超出限制或值类型不受支持时才返回 undefined。所有非法输入都会静默降级,不会抛出异常。

      该方法无参数且同步返回。SDK 实例创建时会捕获一次启动 URL,后续调用始终解析这份快照; history.pushState、history.replaceState、hash 变化或页面内路由跳转不会改变结果。需要处理 新分享链接时,应让宿主以该链接重新启动小程序。

      解码器只接受启动 URL 查询参数中的无填充 Base64URL extra,解码后的 MessagePack 最多 128 字节;值必须符合 MiniProgramShareExtraValue,最多嵌套 8 层,单个数组或对象 最多 64 项。含 +、/ 或填充 = 的标准 Base64、JSON 文本的 Base64、损坏的 MessagePack、非有限数字和其他非 JSON-compatible 值均返回 undefined。

      getExtra() 完全在当前页面本地解析,不等待握手、不发起 bridge/Host 请求、不要求权限 声明或可信用户手势,即使 SDK 握手失败也可以调用。它不会读取此前调用 share.copyLink、 share.showShareMenu 或 share.screenshot 的内存状态:只有本次启动 URL 中的 extra 是数据源。其中 copyLink 和 showShareMenu 可生成携带 extra 的通用分享 链接,screenshot 不会为 getExtra() 写入扩展数据。

      import hbSDK from '@heybox/hb-sdk'

      const extra = hbSDK.share.getExtra()

      if (extra && typeof extra === 'object' && !Array.isArray(extra)) {
      const page = extra.page
      if (page === 'ranking') window.location.hash = '#/ranking'
      }

      0.7.4

      android

      ios

      ohos

      windows

      macos

      android none

      ios none

      ohos none

      windows none

      macos none