fix(user): 修复「我的」页订单数量统计显示为 0 的问题
- 修正 UserOrderStats 接口字段与后端 DTO 完全对齐 - getUserOrderStats() 读取后端真实字段,数值使用 Number(x) 兜底 - 「我的订单」快捷入口 count 和 status 与 OrderListStatus 枚举对齐 - localStorage 缓存 key 升级至 v3,避免旧缓存干扰冷启动渲染 - 保证所有跳转订单列表的入口传递正确 status 参数,防止跳转错误的 tab
This commit is contained in:
@@ -33,25 +33,39 @@ export async function getUserCardStats(): Promise<UserCardStats> {
|
||||
/**
|
||||
* 获取用户订单统计
|
||||
* 后端接口:/api/user/orders/stats(60s 缓存)
|
||||
* 字段与后端 UserOrderStats DTO 对齐:waitPay/waitDeliver/waitReceive/completed 等
|
||||
*/
|
||||
export async function getUserOrderStats(): Promise<UserOrderStats> {
|
||||
try {
|
||||
const res = await request.get<ApiResult<any>>('/user/orders/stats')
|
||||
if (res.code === 0 && res.data) {
|
||||
const d = res.data
|
||||
return {
|
||||
pending: res.data.pending || 0,
|
||||
paid: res.data.paid || 0,
|
||||
shipped: res.data.shipped || 0,
|
||||
completed: res.data.completed || 0,
|
||||
total: Number(d.total) || 0,
|
||||
waitPay: Number(d.waitPay) || 0,
|
||||
waitDeliver: Number(d.waitDeliver) || 0,
|
||||
waitVerify: Number(d.waitVerify) || 0,
|
||||
waitReceive: Number(d.waitReceive) || 0,
|
||||
waitComment: Number(d.waitComment) || 0,
|
||||
completed: Number(d.completed) || 0,
|
||||
refund: Number(d.refund) || 0,
|
||||
deleted: Number(d.deleted) || 0,
|
||||
canceled: Number(d.canceled) || 0,
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('获取订单统计失败:', e)
|
||||
}
|
||||
return {
|
||||
pending: 0,
|
||||
paid: 0,
|
||||
shipped: 0,
|
||||
total: 0,
|
||||
waitPay: 0,
|
||||
waitDeliver: 0,
|
||||
waitVerify: 0,
|
||||
waitReceive: 0,
|
||||
waitComment: 0,
|
||||
completed: 0,
|
||||
refund: 0,
|
||||
deleted: 0,
|
||||
canceled: 0,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,20 @@ export interface UserCardStats {
|
||||
giftCards: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户订单状态数量统计
|
||||
* 字段与后端 com.gxwebsoft.shop.dto.UserOrderStats 对齐
|
||||
* (statusFilter:-1全部 0待支付 1待发货 2待核销 3待收货 4待评价 5已完成 6退款 7已删除 8已取消)
|
||||
*/
|
||||
export interface UserOrderStats {
|
||||
pending: number // 待付款
|
||||
paid: number // 待发货
|
||||
shipped: number // 待收货
|
||||
completed: number // 已完成
|
||||
total: number // 全部(不含已取消)
|
||||
waitPay: number // 待付款(statusFilter=0)
|
||||
waitDeliver: number // 待发货(statusFilter=1)
|
||||
waitVerify: number // 待核销(statusFilter=2)
|
||||
waitReceive: number // 待收货(statusFilter=3)
|
||||
waitComment: number // 待评价(statusFilter=4)
|
||||
completed: number // 已完成(statusFilter=5)
|
||||
refund: number // 退款/售后(statusFilter=6)
|
||||
deleted: number // 已删除(statusFilter=7)
|
||||
canceled: number // 已取消(statusFilter=8)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user