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

/** 内购商品信息 */
export interface ProductItems {
          id: number; // 主键，自增，唯一标识每个产品项
          productId?: string; // 产品标识符，唯一标识每个产品（如 com.loveKey.nyx.2month）
          type?: string; // 产品类型，区分订阅（subscription）和内购（in-app-purchase）
          name?: string; // 产品名称（如 100, 2）
          unit: string; // 产品单位（如 金币，个月）
          durationValue: number; // 订阅时长的数值部分（如 2）
          durationUnit: string; // 订阅时长的单位部分（如 月，天）
          price?: number; // 产品价格
          currency?: string; // 产品的货币单位，如美元（$）
          description: string; // 产品的描述，提供更多细节信息
          createdAt: string | Dayjs; // 产品项的创建时间，默认当前时间
          updatedAt: string | Dayjs; // 产品项的最后更新时间，更新时自动设置为当前时间
          durationDays?: number; // 订阅时长的具体天数
  }

// 内购商品 API
export const ProductItemsApi = {
  // 查询内购商品分页
  getProductItemsPage: async (params: any) => {
    return await request.get({ url: `/keyboard/product-items/page`, params })
  },

  // 查询内购商品详情
  getProductItems: async (id: number) => {
    return await request.get({ url: `/keyboard/product-items/get?id=` + id })
  },

  // 新增内购商品
  createProductItems: async (data: ProductItems) => {
    return await request.post({ url: `/keyboard/product-items/create`, data })
  },

  // 修改内购商品
  updateProductItems: async (data: ProductItems) => {
    return await request.put({ url: `/keyboard/product-items/update`, data })
  },

  // 删除内购商品
  deleteProductItems: async (id: number) => {
    return await request.delete({ url: `/keyboard/product-items/delete?id=` + id })
  },

  /** 批量删除内购商品 */
  deleteProductItemsList: async (ids: number[]) => {
    return await request.delete({ url: `/keyboard/product-items/delete-list?ids=${ids.join(',')}` })
  },

  // 导出内购商品 Excel
  exportProductItems: async (params) => {
    return await request.download({ url: `/keyboard/product-items/export-excel`, params })
  }
}