text: /**
   * SDK 初始化选项
   * @typedef InitOptions
   * @memberof BaaS
   * @property {boolean} [autoLogin] - 是否自动登录
   * @property {string} [logLevel] - 日志输出等级
   * @property {string} [host] - 接口域名
   * @property {string} [ws_host] - WebSocket 域名
   * @property {string} [env] - 开发环境 ID
   */
  
  /**
   * 检测版本选项
   * @typedef CheckVersionOptions
   * @memberof BaaS
   * @property {string} platform - 需要检测的平台
   * @property {function} onSuccess - 接口请求成功时回调
   * @property {function} onError - 接口请求失败时的回调
   */
  
  /**
   * 模块
   *
   * @typedef {Function} Module
   * @param {any} BaaS - BaaS 对象
   * @memberof BaaS
   */
  
  /**
   * 登录/注册参数（用户名 + 密码）
   * @typedef AuthWithUsernameOptions
   * @memberof BaaS
   * @property username {string} 用户名
   * @property password {string} 密码
   */
  
  /**
   * 登录/注册参数（邮箱 + 密码）
   * @typedef AuthWithEmailOptions
   * @memberof BaaS
   * @property email {string} 邮箱
   * @property password {string} 密码
   */
  
  /**
   * 登录/注册参数（手机号码 + 密码）
   * @typedef AuthWithPhoneOptions
   * @memberof BaaS
   * @property phone {string} 手机号码
   * @property password {string} 密码
   */
  
  /**
   * 登录可选参数
   * @typedef {Object} LoginOptions
   * @memberof BaaS
   * @property {boolean} [createUser] 是否创建用户
   * @property {'overwrite'|'setnx'|'false'} [syncUserProfile]
   *   是否同步第一层级用户信息，默认为 'setnx'。值说明：
   *     'overwrite' - 强制更新
   *     'setnx' - 仅当字段从未被赋值时才更新
   *     'false' - 不更新
   */
  
  /**
   * 登录可选参数
   * @typedef {Object} handleUserInfoOptions
   * @memberof BaaS
   * @property {BaaS.UserInfoDetail} options.detail 用户信息
   * @property {boolean} [createUser] 是否创建用户
   * @property {'overwrite'|'setnx'|'false'} [syncUserProfile]
   *   是否同步第一层级用户信息，默认为 'setnx'。值说明：
   *     'overwrite' - 强制更新
   *     'setnx' - 仅当字段从未被赋值时才更新
   *     'false' - 不更新
   */
  
  /**
   * 关联账号可选参数
   * @typedef {Object} LinkOptions
   * @memberof BaaS
   * @property {'overwrite'|'setnx'|'false'} [syncUserProfile]
   *   是否同步第一层级用户信息，默认为 'setnx'。值说明：
   *     'overwrite' - 强制更新
   *     'setnx' - 仅当字段从未被赋值时才更新
   *     'false' - 不更新
   */
  
  /**
   * 关联微信账号可选参数
   * @typedef {Object} LinkWechatOptions
   * @memberof BaaS
   * @property {boolean} [withUnionID] 是否使用 unionid 进行关联
   * @property {'overwrite'|'setnx'|'false'} [syncUserProfile]
   *   是否同步第一层级用户信息，默认为 'setnx'。值说明：
   *     'overwrite' - 强制更新
   *     'setnx' - 仅当字段从未被赋值时才更新
   *     'false' - 不更新
   */
  
  /**
   * 用户信息
   * @typedef {Object} UserInfoDetail
   * @memberof BaaS
   * @property {Object} userInfo 用户信息对象，不包含 openid 等敏感信息
   * @property {string} rawData 不包括敏感信息的原始数据字符串，用于计算签名
   * @property {string} signature 使用 sha1( rawData + sessionkey ) 得到字符串，用于校验用户信息
   * @property {string} encryptedData 包括敏感数据在内的完整用户信息的加密数据
   * @property {string} iv 加密算法的初始向量
   */
  
  /**
   * 强制登录的授权参数
   * @typedef {Object} AuthData
   * @memberof BaaS
   * @property {BaaS.UserInfoDetail} detail 用户信息
   */
  
  /**
   * 文件操作返回结果
   * @typedef {Object} FileOperationResult
   * @memberof BaaS
   * @property {number} created_at 创建时间 （格式为 unix 时间戳)
   * @property {string} path 路径
   * @property {number} created_by 创建者 ID
   * @property {string} mime_type mime_type 类型
   * @property {string} media_type 媒体类型
   * @property {number} size 文件大小
   * @property {string} name 文件名
   * @property {string} status 文件状态
   * @property {string} reference 引用
   * @property {string} cdn_path cdn 中保存的路径
   * @property {number} updated_at Integer	更新时间 （格式为 unix 时间戳)
   * @property {string[]} categories 文件所属类别
   * @property {string} _id 本条记录 ID
   */
  
  /**
   * 文件参数（文件上传）
   * @typedef FileParams
   * @memberof BaaS
   * @property {string} [filePath] 本地资源路径（非 Web）
   * @property {object} [fileObj] 本地资源路径（Web）
   * @property {'image'|'video'|'audio'} [fileType] 本地资源路径（Alipay）
   * @property {string} [fileName] 指定文件名
   */
  
  /**
   * 文件元信息（文件上传）
   * @typedef FileMeta
   * @memberof BaaS
   * @property {string} [categoryID] 文件分类 ID
   * @property {string} [categoryName] 要上传的文件分类名
   * @property {boolean} [randomFileLink] 是否使用随机字符串作为文件的下载地址，不随机可能会覆盖之前的文件，默认为 true
   */
  
  /**
   * 视频截图参数
   * @typedef VideoSnapshotParams
   * @memberof BaaS
   * @property {string} source 视频文件的 id
   * @property {string} save_as	截图保存的文件名
   * @property {string} point	截图时间格式，格式：HH:MM:SS
   * @property {string} [category_id]	文件所属类别 ID
   * @property {boolean} [random_file_link]	是否使用随机字符串作为文件的下载地址，不随机可能会覆盖之前的文件，默认为 true
   * @property {string} [size] 截图尺寸，格式为 宽 x 高，默认是视频尺寸
   * @property {string} [format] 截sf格式，可选值为 jpg，png, webp, 默认根据 save_as 的后缀生成
   */
  
  /**
   * 视频拼接参数
   * @typedef VideoConcatParams
   * @memberof BaaS
   * @property {string[]} m3u8s 视频件的 id 列表，按提交的顺序进行拼接
   * @property {string} save_as	视频保存的文件名
   * @property {string} [category_id]	文件所属类别 ID
   * @property {boolean} [random_file_link]	是否使用随机字符串作为文件的下载地址，不随机可能会覆盖之前的文件，默认为 true
   */
  
  /**
   * 视频剪辑参数
   * @typedef VideoClipParams
   * @memberof BaaS
   * @property {string} m3u8s 视频文件的 id 列表，按提交的顺序进行拼接
   * @property {string} save_as	保存的文件名
   * @property {string} [category_id]	文件所属类别 ID
   * @property {boolean} [random_file_link]	是否使用随机字符串作为文件的下载地址，不随机可能会覆盖之前的文件，默认为 true
   * @property {string[]} [include]	包含某段内容的开始结束时间，单位是秒。当 index 为 false 时，为开始结束分片序号
   * @property {string[]} [exclude]	不包含某段内容的开始结束时间，单位是秒。当 index 为 false 时，为开始结束分片序号
   * @property {boolean} [index] include 或者 exclude 中的值是否为 ts 分片序号，默认为 false
   */
  
  /**
   * M3U8 时长和分片信息参数
   * @typedef VideoMetaParams
   * @memberof BaaS
   * @property {string} m3u8s 视频文件的 id 列表，按提交的顺序进行拼接
   */
  
  /**
   * 视频元信息
   * @typedef VideoMeta
   * @memberof BaaS
   * @property {number} duartion m3u8 时长
   * @property {number[]} points 时间点
   */
  
  /**
   * M3U8 时长和分片信息请求结果
   * @typedef VideoMetaResult
   * @memberof BaaS
   * @property {number} status_code 状态码
   * @property {string} message 返回信息
   * @property {BaaS.VideoMeta} meta 元信息
   */
  
  /**
   * 音视频的元信息请求参数
   * @typedef VideoAudioMetaParams
   * @memberof BaaS
   * @property {string} source 文件的 ID
   */
  
  /**
   * 音视频格式信息
   * @typedef VideoAudioMetaFormat
   * @memberof BaaS
   * @property {number} bitrate 比特率
   * @property {number} duration 时长
   * @property {string} format 容器格式
   * @property {string} fullname 容器格式全称
   */
  
  /**
   * 音视频流
   * @typedef VideoAudioMetaStreams
   * @memberof BaaS
   * @property {number} index 表示第几路流
   * @property {string} type 一般情况下, video 或 audio
   * @property {number} bitrate 流码率
   * @property {string} codec 流编码
   * @property {string} codec_desc 流编码说明
   * @property {number} duration 流时长
   * @property {number} video_fps (视频流)视频帧数
   * @property {number} video_height (视频流)视频高度
   * @property {number} video_width (视频流)视频宽度
   * @property {number} audio_channels (音频流)音频通道数
   * @property {number} audio_samplerate (音频流)音频采样率
   */
  
  /**
   * 音视频的元信息请求结果
   * @typedef VideoAudioMetaResult
   * @memberof BaaS
   * @property {BaaS.VideoAudioMetaFormat} format 音视频格式信息
   * @property {BaaS.VideoAudioMetaStreams[]} streams stream 列表
   */
  
  /**
   * GeoJson
   * @typedef GeoJson
   * @memberof BaaS
   * @property {string} type 类型
   * @property {number[]} coordinates 坐标
   */
  
  /**
   * 获取支付订单参数
   * @typedef GetOrderListParams
   * @memberof BaaS
   * @property {string} [merchandise_record_id] 商品记录 ID，可用于定位用户购买的物品
   * @property {string} [merchandise_schema_id] 商品表 ID，可用于定位用户购买的物品
   * @property {'complete'|'pending'|'success'|'partial'} [status] 订单支付状态
   * @property {string} [trade_no] 真正的交易 ID, 业务方在服务方后台对账时可看到此字段
   * @property {string} [transactionID] 知晓云平台所记录的流水号
   * @property {string} [gateway_type] 支付方法，可选值有：weixin_tenpay（微信支付）、alipay（支付宝支付）等
   */
  
  /**
   * 批量创建参数
   * @typedef CreateManyParams
   * @memberof BaaS
   * @property {boolean} [enableTrigger] 是否触发触发器
   */
  
  /**
   * 查询参数
   * @typedef FindOptions
   * @memberof BaaS
   * @property {boolean} [withCount] 是否返回 total_count
   */
  
  /**
   * 批量更新参数
   * @typedef BatchUpdateParams
   * @memberof BaaS
   * @property {boolean} [enableTrigger] 是否触发触发器
   * @property {boolean} [withCount] 是否返回 total_count
   */
  
  /**
   * 设置账号参数
   * @typedef SetAccountParmas
   * @memberof BaaS
   * @property {string|null} [username] 用户名
   * @property {string|null} [email] 邮箱
   * @property {string|null} [password] 密码
   */
  
  /**
   * 更新密码
   * @typedef UpdatePasswordParams
   * @memberof BaaS
   * @property {string} password 旧密码
   * @property {string} newPassword 新密码
   */
  
  /**
   * @typedef CensorAsyncResult
   * @memberof BaaS
   * @property {string} id 文件 ID
   * @property {string} [error_code] 错误码，=0 时不返回此字段
   * @property {string} [error_message] 错误信息，error_code=0 时不返回此字段
   * @property {number} status_code 默认为：0，4294966288(-1008)为链接无法下载
   * @property {boolean} risky 是否为违规内容，true 为风险，false 为未检测到风险，null 为微信尚未推送检查结果
   */
  
  /**
   * 请求参数
   * @typedef RequestParams
   * @memberof BaaS
   * @property {string} url 请求的 URL
   * @property {string} [method] HTTP 请求方法，默认为 'GET'
   * @property {object} [data] 请求的参数
   * @property {object} [header] 请求的 header
   * @property {string} [dataType] 返回的数据格式
   */
  
  /**
   * 关联支付宝账号参数
   * @typedef LinkAlipayParams
   * @memberof BaaS
   * @property {boolean} [forceLogin] 是否强制登录
   * @property {'overwrite'|'setnx'|'false'} [syncUserProfile]
   *   是否同步第一层级用户信息，默认为 'setnx'。值说明：
   *     'overwrite' - 强制更新
   *     'setnx' - 仅当字段从未被赋值时才更新
   *     'false' - 不更新
   */
  
  /**
   * 关联字节跳动账号参数
   * @typedef LinkBytedanceParams
   * @memberof BaaS
   * @property {boolean} [forceLogin] 是否强制登录
   * @property {'overwrite'|'setnx'|'false'} [syncUserProfile]
   *   是否同步第一层级用户信息，默认为 'setnx'。值说明：
   *     'overwrite' - 强制更新
   *     'setnx' - 仅当字段从未被赋值时才更新
   *     'false' - 不更新
   */
  
  /**
   * @typedef LinkThirdPartyParams
   * @memberof BaaS
   * @property {'overwrite'|'setnx'|'false'} [syncUserProfile]
   *   是否同步第一层级用户信息，默认为 'setnx'。值说明：
   *     'overwrite' - 强制更新
   *     'setnx' - 仅当字段从未被赋值时才更新
   *     'false' - 不更新
   * @property {boolean} [debug] 是否开启 debug 模式
   * @property {'popup-window'|'popup-iframe'|'redirect'} [mode] 授权窗口打开模式
   * @property {Object} [authModalStyle] popup-iframe 模式下，授权模态框的样式
   * @property {Object} [wechatIframeContentStyle] 微信 web 授权，在 popup-iframe 模式下，微信授权页面的样式
   * @property {string} [windowFeatures] popup-window 模式下，授权窗口的特性，详见 {@link https://developer.mozilla.org/zh-CN/docs/Web/API/Window/open}
   */
  
  /**
   * @typedef LinkAuthDataAuthData
   * @memberof BaaS
   * @property {string} token oauth 登录后返回的 token
   * @property {string} [username] 用户名（Apple 登录时必填）
   */
  
  /**
   * @typedef LinkAuthDataOptions
   * @memberof BaaS
   * @property {'overwrite'|'setnx'|'false'} [syncUserProfile]
   *   是否同步第一层级用户信息，默认为 'setnx'。值说明：
   *     'overwrite' - 强制更新
   *     'setnx' - 仅当字段从未被赋值时才更新
   *     'false' - 不更新
   * @property {string} provider 第三方平台
   */
  
  /**
   * @typedef SetEmailOptions
   * @memberof BaaS
   * @property {boolean} sendVerificationEmail 是否发送验证邮件
   */
  
  /**
   * @typedef PasswordResetParam
   * @memberof BaaS
   * @property {string} email email 地址
   */
  