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

/** 人设标签国际化信息 */
export interface TagI18n {
          id: number; // 主键 Id
          tagId?: number; // 标签主表ID，对应 keyboard_tag.id
          locale?: string; // 语言标识，如 zh-CN、en-US、ja-JP
          tagName?: string; // 标签名称（多语言）
          createdAt: string | Dayjs; // 创建时间
          updatedAt: string | Dayjs; // 更新时间
}

/** 人设标签信息 */
export interface Tag {
          id: number; // 主键 Id
          createdAt: string | Dayjs; // 创建时间
          updatedAt: string | Dayjs; // 更新时间
  }

// 人设标签 API
export const TagApi = {
  // 查询人设标签分页
  getTagPage: async (params: any) => {
    return await request.get({ url: `/keyboard/tag/page`, params })
  },

  // 查询人设标签详情
  getTag: async (id: number) => {
    return await request.get({ url: `/keyboard/tag/get?id=` + id })
  },

  // 新增人设标签
  createTag: async (data: Tag) => {
    return await request.post({ url: `/keyboard/tag/create`, data })
  },

  // 修改人设标签
  updateTag: async (data: Tag) => {
    return await request.put({ url: `/keyboard/tag/update`, data })
  },

  // 删除人设标签
  deleteTag: async (id: number) => {
    return await request.delete({ url: `/keyboard/tag/delete?id=` + id })
  },

  /** 批量删除人设标签 */
  deleteTagList: async (ids: number[]) => {
    return await request.delete({ url: `/keyboard/tag/delete-list?ids=${ids.join(',')}` })
  },

  // 导出人设标签 Excel
  exportTag: async (params) => {
    return await request.download({ url: `/keyboard/tag/export-excel`, params })
  },

// ==================== 子表（人设标签国际化） ====================

  // 获得人设标签国际化分页
  getTagI18nPage: async (params) => {
    return await request.get({ url: `/keyboard/tag/tag-i18n/page`, params })
  },
  // 新增人设标签国际化
  createTagI18n: async (data: TagI18n) => {
    return await request.post({ url: `/keyboard/tag/tag-i18n/create`, data })
  },

  // 修改人设标签国际化
  updateTagI18n: async (data: TagI18n) => {
    return await request.put({ url: `/keyboard/tag/tag-i18n/update`, data })
  },

  // 删除人设标签国际化
  deleteTagI18n: async (id: number) => {
    return await request.delete({ url: `/keyboard/tag/tag-i18n/delete?id=` + id })
  },

  /** 批量删除人设标签国际化 */
  deleteTagI18nList: async (ids: number[]) => {
    return await request.delete({ url: `/keyboard/tag/tag-i18n/delete-list?ids=${ids.join(',')}` })
  },

  // 获得人设标签国际化
  getTagI18n: async (id: number) => {
    return await request.get({ url: `/keyboard/tag/tag-i18n/get?id=` + id })
  }
}