import { request } from '@/utils/request' // Product 类型定义 export interface Product { id?: number name?: string amount?: number growthRate?: string maturityPeriod?: string paymentPeriod?: string paymentType?: string quota?: number createTime?: string updateTime?: string createBy?: number updateBy?: number status?: number deleted?: number } // Product API export const productApi = { // 分页查询 page(params: { page: number; pageSize: number; id?: number; name?: string; status?: number }) { return request({ url: '/biz/product/page', method: 'get', params }) }, // 获取详情 detail(id: number) { return request({ url: `/biz/product/${id}`, method: 'get' }) }, // 新增 create(data: Product) { return request({ url: '/biz/product', method: 'post', data }) }, // 修改 update(data: Product) { return request({ url: '/biz/product', method: 'put', data }) }, // 删除 delete(ids: number[]) { return request({ url: `/biz/product/${ids.join(',')}`, method: 'delete' }) }, // 导出 export(params?: { ids?: number[]; id?: number; name?: string; status?: number }) { const p: Record = {} if (params?.ids?.length) p.ids = params.ids.join(',') if (params?.id !== undefined && params?.id !== null) p.id = params.id if (params?.name !== undefined && params?.name !== null) p.name = params.name if (params?.status !== undefined && params?.status !== null) p.status = params.status return request({ url: `/biz/product/export`, method: 'get', params: p, responseType: 'blob' }) }, // 导入 importData(file: File) { const formData = new FormData() formData.append('file', file) return request<{ success: number; fail: number; errors: string[] }>({ url: `/biz/product/import`, method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data' } }) }, // 下载导入模板 downloadTemplate() { return request({ url: `/biz/product/template`, method: 'get', responseType: 'blob' }) } }