feat(user): 添加用户卡片统计数据接口和优化性能
- 新增 UserCardStats 接口定义余额/积分/优惠券/礼品卡数据结构 - 实现 getUserCardStats 函数聚合返回用户卡片统计数据 - 替换原有多个独立请求为单一聚合接口提升性能 - 修改 useUserData Hook 使用新聚合接口并调整数据类型 - 移除废弃的 pageShopOrder 和相关 API 导入 - 优化用户登录后自动刷新卡片统计数据逻辑
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import { useState, useEffect, useCallback } from 'react';
|
||||
import { UserOrderStats } from '@/api/user';
|
||||
import { getUserOrderStats, UserOrderStats } from '@/api/user';
|
||||
import Taro from '@tarojs/taro';
|
||||
import {pageShopOrder} from "@/api/shop/shopOrder";
|
||||
|
||||
/**
|
||||
* 订单统计Hook
|
||||
@@ -31,20 +30,17 @@ export const useOrderStats = () => {
|
||||
if(!Taro.getStorageSync('UserId')){
|
||||
return false;
|
||||
}
|
||||
// TODO 读取订单数量
|
||||
const pending = await pageShopOrder({ page: 1, limit: 1, userId: Taro.getStorageSync('UserId'), statusFilter: 0})
|
||||
const paid = await pageShopOrder({ page: 1, limit: 1, userId: Taro.getStorageSync('UserId'), statusFilter: 1})
|
||||
const shipped = await pageShopOrder({ page: 1, limit: 1, userId: Taro.getStorageSync('UserId'), statusFilter: 3})
|
||||
const completed = await pageShopOrder({ page: 1, limit: 1, userId: Taro.getStorageSync('UserId'), statusFilter: 5})
|
||||
const refund = await pageShopOrder({ page: 1, limit: 1, userId: Taro.getStorageSync('UserId'), statusFilter: 6})
|
||||
const total = await pageShopOrder({ page: 1, limit: 1, userId: Taro.getStorageSync('UserId')})
|
||||
|
||||
// 聚合接口:一次请求返回各状态数量(后台按用户做了缓存)
|
||||
const stats = await getUserOrderStats();
|
||||
|
||||
setOrderStats({
|
||||
pending: pending?.count || 0,
|
||||
paid: paid?.count || 0,
|
||||
shipped: shipped?.count || 0,
|
||||
completed: completed?.count || 0,
|
||||
refund: refund?.count || 0,
|
||||
total: total?.count || 0
|
||||
pending: stats?.pending || 0,
|
||||
paid: stats?.paid || 0,
|
||||
shipped: stats?.shipped || 0,
|
||||
completed: stats?.completed || 0,
|
||||
refund: stats?.refund || 0,
|
||||
total: stats?.total || 0
|
||||
})
|
||||
|
||||
if (showToast) {
|
||||
|
||||
Reference in New Issue
Block a user