/** * Toy JS SDK 类型声明(面向创作者) * * 用法:把本文件放进你的 Toy 项目(如 `types/toy.d.ts`),TypeScript 会自动加载, * 无需 import 即可获得 `window.toy` 的类型检查与补全。 * * 前置:页面 `
` 中引入 * * 加载后 SDK 把实例挂到全局 `window.toy`,所有方法返回 Promise。 * * 通用约定: * - 所有方法抛出的 Error,message 统一带 `[ToySDK]` 前缀。 * - 数据类能力(用户 / 作者 / 视频互动)不抛错时通过 `status` 字段表达结果, * 需要先判断 `status === 'ok'` 再读 `data` / `items`。 * - 云存储与排行榜失败时 Promise reject,需要 try/catch。 */ declare namespace ToySDK { // --------------------------------------------------------------------------- // 页面跳转 // --------------------------------------------------------------------------- /** 站内跳转的目标页面类型。 */ type NavigateType = 'video' | 'space' | 'search' | 'opus' | 'tribee' | 'toy' interface NavigateReq { /** 目标页面类型。 */ type: NavigateType /** * 资源标识,随 `type` 变化: * - video: BV 号,如 `BV1Hh411S7Ys` * - space: 用户 mid * - search: 搜索关键词(SDK 内部会做 URL 编码) * - opus: 图文 / 动态 id * - tribee: 小站 id * - toy: toy id */ id: string /** 额外查询参数,拼接到目标 URL 上透传给目标页面。 */ extra?: Record