Files
yxe-admin/src/api/yxe/yxeGoods/index.ts
T
2026-09-29 15:15:49 +08:00

130 lines
2.9 KiB
TypeScript

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<ApiResult<PageResult<YxeGoods>>>(
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<ApiResult<YxeGoods[]>>(
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<ApiResult<unknown>>(
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<ApiResult<YxeGoodsCoverZipResult>>(
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<ApiResult<unknown>>(
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<ApiResult<unknown>>(
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<ApiResult<unknown>>(
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<ApiResult<YxeGoods>>(
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));
}