/**
 * 接口默认返回的参数
 * @param code - 消息状态码
 * @param data - 返回的数据
 * @param msg - 错误/消息类型
 */
export type TResponse = {
  code: number;
  data: object;
  msg: string;
};

/**
 * @description cos初始化配置的参数
 * @param TmpSecretId - 获取回来的临时密钥的 TmpSecretId
 * @param TmpSecretKey - 获取回来的临时密钥的 TmpSecretKey
 * @param SecurityToken - 获取回来的临时密钥的 sessionToken，对应 header 的 x-cos-security-token 字段
 * @param StartTime - 密钥获取的开始时间
 * @param ExpiredTime - 获取回来的临时密钥的 expiredTime
 */
export type TCosInitParams = {
  TmpSecretId: string;
  TmpSecretKey: string;
  SecurityToken: string;
  StartTime: number;
  ExpiredTime: number;
};

/**
 * @description cos上传需要的参数
 * @param Bucket - 存储桶的名称，命名格式为 BucketName-APPID，此处填写的存储桶名称必须为此格式
 * @param Region - 存储桶所在地域
 * @param Key - 对象键（Object 的名称），对象在存储桶中的唯一标识
 * @param StorageClass - 'STANDARD'
 * @param Body - 文件的File
 */
export type TCosUploadParams = {
  Bucket: string;
  Region: string;
  Key: string;
  StorageClass: string;
  Body: File;
};

/**
 * @description cos上传返回的参数
 * @param Bucket - 存储桶的名称，命名格式为 BucketName-APPID，此处填写的存储桶名称必须为此格式
 * @param ETag - cos后台用做协商缓存的参数
 * @param Key - 对象键（Object 的名称），对象在存储桶中的唯一标识
 * @param Location - cos文件地址
 * @param UploadId - 上传后返回的id
 * @param statusCode - 状态码
 */
export type TCosUploadResponse = {
  Bucket: string;
  ETag: string;
  Key: string;
  Location: string;
  UploadId: string;
  statusCode: number;
};

/**
 * @description 视频封面带播放按钮
 * @param screen - 图片地址
 */
export type TGetThumbnailLogoResponse = {
  screen: string;
};
