@heybox/hb-sdk API Reference - v0.9.5
    正在准备搜索索引...
    • 读取当前小程序隔离 Storage 中的值。

      类型参数

      • T = unknown

        调用方期望的反序列化数据类型;SDK 不会在运行时校验该类型。

      参数

      返回 Promise<GetStorageResult<T>>

      Host 读取完成后 resolve 的结果。合法 JSON 会被反序列化;key 不存在或历史空串返回 { data: undefined },合法 JSON null 返回 { data: null },历史非 JSON 原始值返回原字符串。

      HbMiniProgramSDKError 参数非法时返回 INVALID_PARAMS;当前运行快照缺少或未启用 storage 权限时分别返回 PERMISSION_NOT_IN_SNAPSHOT 或 PERMISSION_DENIED;canonical identity 尚未就绪时返回 INVALID_STATE;Host 不支持或禁用能力时可返回 METHOD_NOT_FOUND 或 METHOD_FORBIDDEN。其他 bridge 与 Host 读取错误会保留对应错误码。

      Storage 作用域由平台确认的 canonical 小程序身份决定,并在首次使用时固定;不能通过 key 读取其他小程序或调试工具的值。未绑定身份的本地调试实例只能使用 Runtime 显式分配的临时隔离 scope,不会根据请求中的小程序 ID 或页面 URL 推导 scope。

      该 API 需要在 package.json#heybox.permissions 声明并启用 storage,不要求可信用户 手势。读取本身没有 setStorage 的 JSON 序列化与 UTF-8 写入字节配额;配额在写入时 校验,已有值仍按上述兼容规则读取。

      import hbSDK from '@heybox/hb-sdk'

      type Settings = { theme: 'light' | 'dark' }

      const { data } = await hbSDK.storage.getStorage<Settings>({
      key: 'settings',
      })

      // 泛型不会校验持久化数据;关键数据应先做 schema/type guard 校验。
      const theme = data?.theme === 'dark' ? 'dark' : 'light'

      0.3.1

      android

      ios

      ohos

      windows

      macos

      android none

      ios none

      ohos none

      windows none

      macos none