import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 键盘皮肤信息 */
export interface Themes {
          id: number; // 主键 Id
          themeName: string; // 键盘皮肤名称
          themePrice: number; // 键盘价格
          themeTag: object; // 主题标签
          themeDownload: string; // 主题下载次数
          themeStyle: number; // 主题风格
          themeStatus: boolean; // 主题上架状态
          themePurchasesNumber: number; // 主题购买次数
          createdAt: string | Dayjs; // 创建时间
          updatedAt: string | Dayjs; // 更新时间
          themePreviewImageUrl: string; // 预览图
          isFree: boolean; // 是否免费
          themeDownloadUrl: string; // 下载地址
          sort: number; // 排序
          realDownloadCount: number; // 真实下载数量
  }

// 键盘皮肤 API
export const ThemesApi = {
  // 查询键盘皮肤分页
  getThemesPage: async (params: any) => {
    return await request.get({ url: `/keyboard/themes/page`, params })
  },

  // 查询键盘皮肤详情
  getThemes: async (id: number) => {
    return await request.get({ url: `/keyboard/themes/get?id=` + id })
  },

  // 新增键盘皮肤
  createThemes: async (data: Themes) => {
    return await request.post({ url: `/keyboard/themes/create`, data })
  },

  // 修改键盘皮肤
  updateThemes: async (data: Themes) => {
    return await request.put({ url: `/keyboard/themes/update`, data })
  },

  // 删除键盘皮肤
  deleteThemes: async (id: number) => {
    return await request.delete({ url: `/keyboard/themes/delete?id=` + id })
  },

  /** 批量删除键盘皮肤 */
  deleteThemesList: async (ids: number[]) => {
    return await request.delete({ url: `/keyboard/themes/delete-list?ids=${ids.join(',')}` })
  },

  // 导出键盘皮肤 Excel
  exportThemes: async (params) => {
    return await request.download({ url: `/keyboard/themes/export-excel`, params })
  }
}