@heybox/hb-sdk API Reference - v0.9.5
    正在准备搜索索引...

    接口 SetStoragePayload

    storage.setStorage 入参。

    Runtime 只消费 key 与 data。调用方不能通过额外字段选择其他小程序、账号、版本或 Storage 区域;实际作用域由 Host 提供的 canonical 小程序身份决定。

    interface SetStoragePayload {
        data: unknown;
        key: string;
    }
    索引

    属性

    属性

    data: unknown

    要写入的结构化数据;必须先能通过 iframe structured clone,再能被 JSON.stringify 序列化。

    Runtime 对跨 bridge 后的值执行 JSON.stringify。对象属性中的 undefined 会被省略, 数组中的 undefined 会变成 null;顶层 undefined 会以 INVALID_PARAMS 拒绝。 NaN 与正负 Infinity 会序列化为 null。BigInt 和循环引用会使序列化失败,并以 INVALID_PARAMS 拒绝。

    不要依赖自定义 toJSON:函数不能通过 structured clone,自定义原型也不会作为公开 bridge 合同保留。Date 是例外,其内建 toJSON 会把值序列化为 ISO 时间字符串。 函数、Symbol 或其他不可 structured-clone 的成员可能在请求到达 Host 前触发 DataCloneError。

    Host 若配置写入配额,会在完整 JSON 字符串生成后按 UTF-8 字节数校验;引号、转义、 属性名和 JSON 结构字符均计入配额,中文等字符可能占多个字节。超限时返回 STORAGE_QUOTA_EXCEEDED,且不会调用 Host Storage。

    key: string

    Storage key。

    必须是非空字符串,默认仅支持 1 至 128 位 ASCII 字母、数字、下划线和连字符, 即匹配 /^[A-Za-z0-9_-]+$/;Host 可以配置不同的长度上限。空串、空白、路径 分隔符、点号、中文或超过上限的 key 会以 INVALID_PARAMS 拒绝,且不会覆盖已有值。