@heybox/hb-sdk API Reference - v0.9.5
    正在准备搜索索引...
    • 请求 Host 调度一次触觉震动反馈。

      参数

      • 可选options: VibratePayload

        可选的语义强度与 Host 调度延迟;省略、JavaScript null 或传空对象时使用 intensity: 'light'、delay: 0。

      返回 Promise<void>

      Host 接受并完成本次调用后 resolve undefined;不会等待 delay 倒计时或 物理反馈结束,也不会返回实际强度、时长或是否被系统抑制。

      HbMiniProgramSDKError INVALID_PARAMS:除兼容 null 外的 options 不是对象、包含未知字段、 intensity 不是 light / medium / heavy,或 delay 不是 0 至 5000 的整数。

      HbMiniProgramSDKError METHOD_FORBIDDEN:当前 Host 未开放震动能力;新 PC Host 的 Windows / macOS 桌面环境属于此分支。Host 无法支持请求形状时可返回 REQUEST_UNSUPPORTED。其他握手、bridge 超时与 Host 调用失败会保留对应错误码。

      该 API 无需在 package.json#heybox.permissions 中声明权限,也不要求平台批准、用户 授权或可信用户手势。Runtime 不对连续调用增加频率限制或合并策略;每次合法调用都会 交给 Host,但 Host 或操作系统仍可能节流、合并或忽略反馈。

      移动 Host 会将 light、medium、heavy 映射到平台可用的反馈等级,并将 delay 交给平台调度。等级不是精确马达参数,delay 也不是计时器;不要用 Promise 完成时点、 震动强度或触感推进业务状态、安全确认或无障碍信息。

      震动只提供触觉反馈,不会显示文案、Toast、Loading 或错误提示。需要可见反馈时应独立 调用 ui.showToast; 桌面环境可在震动返回 METHOD_FORBIDDEN 时降级为 Toast,但两次调用拥有独立的 Promise 与失败结果。

      import hbSDK, { HbMiniProgramSDKError } from '@heybox/hb-sdk'

      try {
      await hbSDK.device.vibrate({ intensity: 'medium', delay: 120 })
      } catch (error) {
      // 桌面 Host 没有触觉反馈时,改用可见反馈。
      if (error instanceof HbMiniProgramSDKError && error.code === 'METHOD_FORBIDDEN') {
      await hbSDK.ui.showToast({ message: '操作完成', status: 'success' })
      } else {
      throw error
      }
      }

      0.4.4

      android

      ios

      ohos

      windows

      macos

      android none

      ios none

      ohos none

      windows none

      macos none