@heybox/hb-sdk API Reference - v0.9.5
    正在准备搜索索引...
    • 删除当前登录用户在指定排行榜中的记录。

      参数

      返回 Promise<DeleteCurrentUserLeaderboardEntryResult>

      远端删除完成且同榜单可变读缓存失效后的结果。deleted: true 表示实际删除; deleted: false 表示调用成功但已无记录,是幂等空结果。

      HbMiniProgramSDKError INVALID_PARAMS:options 不是对象、含 key 以外 的字段,或 key 不符合 1 至 64 位 [A-Za-z0-9_-] 规则。

      HbMiniProgramSDKError PERMISSION_NOT_IN_SNAPSHOT / PERMISSION_DENIED:当前运行快照 缺少或未启用 leaderboard;UNAUTHORIZED:Host 未登录、服务端会话失效,或 请求期间登录账号发生变化。

      HbMiniProgramSDKError LEADERBOARD_DEFAULT_NOT_FOUND:省略 key 但当前 小程序未创建 default 榜单。命名榜单不存在或后端拒绝时保留服务端错误码。

      HbMiniProgramSDKError INVALID_STATE:canonical 小程序身份未就绪; METHOD_FORBIDDEN / REQUEST_UNSUPPORTED:当前 Host 缺少所需账号或受信网络能力; 其他网络失败、响应不合法和 bridge 超时分别保留对应 REQUEST_FAILED、 INVALID_RESPONSE 或 SDK 错误码。

      HbMiniProgramSDKError RATE_LIMITED:上游返回 403/429,或该 endpoint 处于 Runtime 熔断窗口;error.data.status 为上游状态码,error.data.retryAfterMs(可能缺失)给出 建议退避时长。

      HbMiniProgramSDKError RATE_LIMITED_BY_RUNTIME:Runtime 本地配额或循环检测 拒绝,请求没有到达上游;error.data.origin 为 'budget' 或 'loop'。两者都应停止立即重试。

      当前用户不来自参数。Runtime 先向 Host 读取当前登录状态,再用 Host 持有的受信会话调用 平台接口;页面不能指定、猜测或删除其他用户的记录。不要先调用用户资料 API 探测登录, 直接处理本方法的 UNAUTHORIZED 即可。该 API 需要声明 leaderboard,但不需要公开 network 权限或可信用户手势;产品仍应只在明确的用户操作和二次确认后执行删除。

      成功响应(包括 deleted: false)会使当前 Runtime 中同一小程序、同一榜单的 getList 与 getCurrentUserEntry 五分钟读 缓存失效;下一次读取会重新请求远端,不会由删除调用主动预取。该榜单的 getInfo 配置缓存和其他榜单缓存不受影响;删除前已在途的旧读取可能仍向原调用方返回,但不会 回填已失效的缓存。

      删除后,getCurrentUserEntry() 应返回 undefined,getList() 不再包含该条记录;之后 调用 submit 可以重新建立当前用户记录, 并重新参与服务端排序。

      import hbSDK from '@heybox/hb-sdk'

      async function deleteMyScore() {
      if (!window.confirm('确定删除自己的榜单成绩吗?')) return

      const { deleted } = await hbSDK.cloud.leaderboard.deleteCurrentUserEntry({
      key: 'weekly',
      })
      console.log(deleted ? '已删除成绩' : '当前没有成绩')
      }

      0.5.11

      android

      ios

      ohos

      windows

      macos

      android none

      ios none

      ohos none

      windows none

      macos none