Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions frontend/admin/src/api/attribute.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import request from './request';

export function getAttributeList(params: any) {
return request({
url: '/admin/attributes',
method: 'get',
params,
});
}

export function addAttribute(data: any) {
return request({
url: '/admin/attributes',
method: 'post',
data,
});
}

export function updateAttribute(id: string, data: any) {
return request({
url: `/admin/attributes/${id}`,
method: 'put',
data,
});
}

export function deleteAttribute(id: string) {
return request({
url: `/admin/attributes/${id}`,
method: 'delete',
});
}

export function getAttributeDetail(id: string) {
return request({
url: `/admin/attributes/${id}`,
method: 'get',
});
}

export function getAttributesByCategoryId(categoryId: string) {
return request({
url: `/admin/attributes/category/${categoryId}`,
method: 'get',
});
}
30 changes: 15 additions & 15 deletions frontend/admin/src/api/community.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import request from './request'
// 获取帖子列表
export function getPostList(params: any) {
return request({
url: '/admin/community/posts',
url: '/admin/posts', // Updated URL
method: 'get',
params
})
Expand All @@ -12,50 +12,50 @@ export function getPostList(params: any) {
// 获取帖子详情
export function getPostDetail(id: string) {
return request({
url: `/admin/community/posts/${id}`,
url: `/admin/posts/${id}`, // Updated URL
method: 'get'
})
}

// 审核帖子
export function reviewPost(id: string, status: string, reason?: string) {
// 更新帖子状态
export function updatePostStatus(id: string, status: string) { // Renamed, status in path
return request({
url: `/admin/community/posts/${id}/review`,
method: 'put',
data: { status, reason }
url: `/admin/posts/${id}/status/${status}`, // Updated URL
method: 'put',
// No request body needed as status is in the path
})
}

// 删除帖子
export function deletePost(id: string) {
return request({
url: `/admin/community/posts/${id}`,
url: `/admin/posts/${id}`, // Updated URL
method: 'delete'
})
}

// 获取评论列表
export function getCommentList(params: any) {
return request({
url: '/admin/community/comments',
url: '/admin/comments', // Updated URL
method: 'get',
params
params // Params like userId, productId, status, pageNum, pageSize
})
}

// 审核评论
export function reviewComment(id: string, status: string, reason?: string) {
// 更新评论状态
export function updateCommentStatus(id: string, status: string) { // Renamed, status in path
return request({
url: `/admin/community/comments/${id}/review`,
url: `/admin/comments/${id}/status/${status}`, // Updated URL
method: 'put',
data: { status, reason }
// No request body needed as status is in the path
})
}

// 删除评论
export function deleteComment(id: string) {
return request({
url: `/admin/community/comments/${id}`,
url: `/admin/comments/${id}`, // Updated URL
method: 'delete'
})
}
23 changes: 20 additions & 3 deletions frontend/admin/src/api/order.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,29 @@ export function getOrderDetail(id: string) {
}

// 更新订单状态
export function updateOrderStatus(id: string, status: string) {
export function updateOrderStatus(id: string, data: { status: string; note?: string }) {
return request({
url: `/admin/orders/${id}/status`,
method: 'put',
data: { status }
})
data // Pass the data object directly
});
}

// 发货
export function shipOrder(id: string, data: { deliveryCompany: string, deliverySn: string }) {
return request({
url: `/admin/orders/${id}/ship`,
method: 'post',
data
});
}

// 删除订单
export function deleteOrder(id: string) {
return request({
url: `/admin/orders/${id}`,
method: 'delete'
});
}

// 获取订单统计数据
Expand Down
46 changes: 46 additions & 0 deletions frontend/admin/src/api/permission.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import request from './request';

export function getPermissionTree() {
return request({
url: '/admin/permissions/tree',
method: 'get',
});
}

export function getPermissionList(params: any) {
return request({
url: '/admin/permissions',
method: 'get',
params,
});
}

export function addPermission(data: any) {
return request({
url: '/admin/permissions',
method: 'post',
data,
});
}

export function updatePermission(id: string, data: any) {
return request({
url: `/admin/permissions/${id}`,
method: 'put',
data,
});
}

export function deletePermission(id: string) {
return request({
url: `/admin/permissions/${id}`,
method: 'delete',
});
}

export function getPermissionDetail(id: string) {
return request({
url: `/admin/permissions/${id}`,
method: 'get',
});
}
114 changes: 92 additions & 22 deletions frontend/admin/src/api/product.ts
Original file line number Diff line number Diff line change
@@ -1,78 +1,148 @@
import request from './request'

// 获取商品列表
// 获取SPU列表
export function getProductList(params: any) {
return request({
url: '/admin/products',
url: '/admin/spus',
method: 'get',
params
})
}

// 获取商品详情
// 获取SPU详情
export function getProductDetail(id: string) {
return request({
url: `/admin/products/${id}`,
url: `/admin/spus/${id}`,
method: 'get'
})
}

// 添加商品
// 添加SPU
export function addProduct(data: any) {
return request({
url: '/admin/products',
url: '/admin/spus',
method: 'post',
data
})
}

// 更新商品
// 更新SPU
export function updateProduct(id: string, data: any) {
return request({
url: `/admin/products/${id}`,
url: `/admin/spus/${id}`,
method: 'put',
data
})
}

// 删除商品
// 删除SPU
export function deleteProduct(id: string) {
return request({
url: `/admin/products/${id}`,
url: `/admin/spus/${id}`,
method: 'delete'
})
}

// 获取商品SKU列表
export function getProductSkuList(productId: string) {
// 获取SKU列表 (按SPU ID)
export function getProductSkuList(spuId: string) {
return request({
url: `/admin/products/${productId}/skus`,
url: `/admin/skus/spu/${spuId}`,
method: 'get'
})
}

// 添加商品SKU
export function addProductSku(productId: string, data: any) {
// 添加SKU (spuId is expected in data)
export function addProductSku(data: any) {
return request({
url: `/admin/products/${productId}/skus`,
url: `/admin/skus`,
method: 'post',
data
})
}

// 更新商品SKU
export function updateProductSku(productId: string, skuId: string, data: any) {
// 更新SKU
export function updateProductSku(id: string, data: any) {
return request({
url: `/admin/products/${productId}/skus/${skuId}`,
url: `/admin/skus/${id}`,
method: 'put',
data
})
}

// 删除商品SKU
export function deleteProductSku(productId: string, skuId: string) {
// 删除SKU
export function deleteProductSku(id: string) {
return request({
url: `/admin/products/${productId}/skus/${skuId}`,
url: `/admin/skus/${id}`,
method: 'delete'
})
}

// 获取SKU详情
export function getSkuDetail(id: string) {
return request({
url: `/admin/skus/${id}`,
method: 'get'
})
}

// --- Product Image Management Functions ---

// 上传单个商品图片
export function uploadProductImage(file: File) {
const formData = new FormData();
formData.append('file', file);
return request({
url: '/admin/product-images/upload',
method: 'post',
data: formData,
// Assuming 'request' utility or underlying Axios instance handles 'Content-Type: multipart/form-data'
});
}

// 批量上传商品图片
export function uploadBatchProductImages(files: File[]) {
const formData = new FormData();
files.forEach(file => {
formData.append('files', file); // Backend expects a list of files under the key "files"
});
return request({
url: '/admin/product-images/upload/batch',
method: 'post',
data: formData,
// Assuming 'request' utility or underlying Axios instance handles 'Content-Type: multipart/form-data'
});
}

// 删除商品图片
export function deleteProductImage(imageUrl: string) {
return request({
url: '/admin/product-images/', // Note: API doc implies path might be just /admin/product-images/ for delete with body
method: 'delete',
data: { imageUrl }, // Send imageUrl in the request body
});
}

// 获取SPU的图片列表
export function getSpuImageList(spuId: string) {
return request({
url: `/admin/product-images/spu/${spuId}`,
method: 'get',
});
}

// 关联SPU图片
export function associateSpuImages(spuId: string, data: { imageUrls: string[] }) {
return request({
url: `/admin/product-images/spu/${spuId}/associate`,
method: 'post',
data, // e.g. { "imageUrls": ["url1.jpg", "url2.jpg"] }
});
}

// 设置SPU主图
export function setSpuMainImage(productImageId: string) {
return request({
url: `/admin/product-images/${productImageId}/set-main`,
method: 'put',
});
}
2 changes: 1 addition & 1 deletion frontend/admin/src/api/request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ service.interceptors.response.use(
const res = response.data

// 如果返回的状态码不是200,则判断为错误
if (res.code !== 200) {
if (res.code !== 0) { // Align with adminApi.md where success code is 0
ElMessage({
message: res.message || '请求错误',
type: 'error',
Expand Down
Loading