import request from '@/utils/request'; import type { ApiResult, PageResult } from '@/api'; import type { YxeGoods, YxeGoodsCoverZipResult, YxeGoodsParam } from './model'; import { MODULES_API_URL } from '@/config/setting'; /** * 分页查询 */ export async function pageYxeGoods(params: YxeGoodsParam) { const res = await request.get>>( MODULES_API_URL + '/yxe/yxe-goods/page', { params } ); if (res.data.code === 0) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 查询列表 */ export async function listYxeGoods(params?: YxeGoodsParam) { const res = await request.get>( MODULES_API_URL + '/yxe/yxe-goods', { params } ); if (res.data.code === 0 && res.data.data) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 添加 */ export async function addYxeGoods(data: YxeGoods) { const res = await request.post>( MODULES_API_URL + '/yxe/yxe-goods', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 上传商品封面 zip */ export async function uploadYxeGoodsCoverZip(file: File) { const formData = new FormData(); formData.append('file', file); const res = await request.post>( MODULES_API_URL + '/yxe/yxe-goods/cover/zip', formData ); if (res.data.code === 0) { return ( res.data.data ?? { totalFiles: 0, updatedCount: 0, skippedCount: 0, notFoundTitles: [] } ); } return Promise.reject(new Error(res.data.message)); } /** * 修改 */ export async function updateYxeGoods(data: YxeGoods) { const res = await request.put>( MODULES_API_URL + '/yxe/yxe-goods', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 删除 */ export async function removeYxeGoods(id?: number) { const res = await request.delete>( MODULES_API_URL + '/yxe/yxe-goods/' + id ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 批量删除 */ export async function removeBatchYxeGoods(data: (number | undefined)[]) { const res = await request.delete>( MODULES_API_URL + '/yxe/yxe-goods/batch', { data } ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 根据id查询 */ export async function getYxeGoods(id: number) { const res = await request.get>( MODULES_API_URL + '/yxe/yxe-goods/' + id ); if (res.data.code === 0 && res.data.data) { return res.data.data; } return Promise.reject(new Error(res.data.message)); }