feat: 用户商品状态筛选与统计对接
Build and Deploy Vue3 / build (push) Successful in 1m46s
Build and Deploy Vue3 / deploy (push) Successful in 39s

- 新增 getUserGoodsCount 接口对接,列表页/虚拟机列表页增加状态筛选与统计卡片

- 已删除/已到期商品适配及相关页面更新

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shiran
2026-06-24 22:12:50 +08:00
parent a8954bd85d
commit 6f82e5e79d
17 changed files with 1637 additions and 371 deletions
+33
View File
@@ -816,3 +816,36 @@ export const removeUserNetworkingNetwork = (data) => {
headers: { 'Content-Type': 'multipart/form-data' }
})
}
/**
* ================================
* 回收站管理 API
* ================================
*/
/** 获取回收站列表 */
export const getRecycleBinList = (params) => {
return http2.get('/api/v1/admin/server/host_service/point/recycle_bin/list', { params })
}
/** 获取回收站记录详情 */
export const getRecycleBinDetail = (params) => {
return http2.get('/api/v1/admin/server/host_service/point/recycle_bin/detail', { params })
}
/** 从回收站恢复虚拟机 */
export const restoreRecycleBin = (data) => {
return http2.post('/api/v1/admin/server/host_service/point/recycle_bin/restore', data, {
headers: { 'Content-Type': 'multipart/form-data' }
})
}
/** 永久删除回收站记录 */
export const deleteRecycleBin = (params) => {
return http2.delete('/api/v1/admin/server/host_service/point/recycle_bin/delete', { params })
}
/** 清空回收站(all=true 全部清空,all=false 仅清理到期) */
export const cleanRecycleBin = (params) => {
return http2.delete('/api/v1/admin/server/host_service/point/recycle_bin/clean', { params })
}
+4
View File
@@ -57,6 +57,10 @@ export const deleteProductGroup = (data) => {
export const getProductList = (params) => {
return http2.get('/api/v1/admin/good/goods/list', {params: params})
}
/**获取商品详情(含商品参数列表) */
export const getProductDetail = (params) => {
return http2.get('/api/v1/admin/good/goods/detail', {params: params})
}
/**获取商品标签列表 */
export const getProductTagList = () => {
return http2.get('/api/v1/admin/good/goods/tag_list')
+2
View File
@@ -103,6 +103,8 @@ export const deleteUserVmNetworking = (params) => http2.delete(`${BASE}/networki
// ========== 用户商品 ==========
export const getUserGoodsList = (params) => http2.get(`${GOODS_BASE}/list`, { params })
// 用户商品数量统计(正常 / 已删除 / 已到期),参数与列表接口一致但不分页
export const getUserGoodsCount = (params) => http2.get(`${GOODS_BASE}/count`, { params })
export const getUserGoodsDetail = (params) => http2.get(`${GOODS_BASE}/detail`, { params })
export const createUserGoods = (data) => http2.post(`${GOODS_BASE}/create`, fd(data), { headers: { 'Content-Type': 'multipart/form-data' } })
export const updateUserGoods = (data) => http2.post(`${GOODS_BASE}/update`, fd(data), { headers: { 'Content-Type': 'multipart/form-data' } })