refactor(api): 更新 API调用以使用 request-legacy- 将多个 API 文件中的 request 引用更新为 request-legacy
- 修改了部分 API调用的错误处理方式 - 更新了部分函数参数名称
This commit is contained in:
@@ -2,6 +2,8 @@ import { useState, useEffect, useCallback } from 'react'
|
||||
import {pageShopUserCoupon} from "@/api/shop/shopUserCoupon";
|
||||
import {pageShopGift} from "@/api/shop/shopGift";
|
||||
import {useUser} from "@/hooks/useUser";
|
||||
import Taro from '@tarojs/taro'
|
||||
import {getUserInfo} from "@/api/layout";
|
||||
|
||||
interface UserData {
|
||||
balance: number
|
||||
@@ -22,12 +24,11 @@ interface UseUserDataReturn {
|
||||
loading: boolean
|
||||
error: string | null
|
||||
refresh: () => Promise<void>
|
||||
updateBalance: (newBalance: string) => void
|
||||
updateBalance: (newBalance: number) => void
|
||||
updatePoints: (newPoints: number) => void
|
||||
}
|
||||
|
||||
export const useUserData = (): UseUserDataReturn => {
|
||||
const {user} = useUser()
|
||||
const [data, setData] = useState<UserData | null>(null)
|
||||
const [loading, setLoading] = useState(true)
|
||||
const [error, setError] = useState<string | null>(null)
|
||||
@@ -39,14 +40,15 @@ export const useUserData = (): UseUserDataReturn => {
|
||||
setError(null)
|
||||
|
||||
// 并发请求所有数据
|
||||
const [couponsRes, giftCardsRes] = await Promise.all([
|
||||
pageShopUserCoupon({ page: 1, limit: 1, userId: user?.userId}),
|
||||
pageShopGift({ page: 1, limit: 1, userId: user?.userId, status: 0})
|
||||
const [userDataRes, couponsRes, giftCardsRes] = await Promise.all([
|
||||
getUserInfo(),
|
||||
pageShopUserCoupon({ page: 1, limit: 1, userId: Taro.getStorageSync('UserId'), status: 0}),
|
||||
pageShopGift({ page: 1, limit: 1, userId: Taro.getStorageSync('UserId'), status: 0})
|
||||
])
|
||||
|
||||
const newData: UserData = {
|
||||
balance: user?.balance || 0.00,
|
||||
points: user?.points || 0,
|
||||
balance: userDataRes?.balance || 0.00,
|
||||
points: userDataRes?.points || 0,
|
||||
coupons: couponsRes?.count || 0,
|
||||
giftCards: giftCardsRes?.count || 0,
|
||||
orders: {
|
||||
@@ -71,6 +73,16 @@ export const useUserData = (): UseUserDataReturn => {
|
||||
await fetchUserData()
|
||||
}, [fetchUserData])
|
||||
|
||||
// 更新余额(本地更新,避免频繁请求)
|
||||
const updateBalance = useCallback((newBalance: number) => {
|
||||
setData(prev => prev ? { ...prev, balance: newBalance } : null)
|
||||
}, [])
|
||||
|
||||
// 更新积分
|
||||
const updatePoints = useCallback((newPoints: number) => {
|
||||
setData(prev => prev ? { ...prev, points: newPoints } : null)
|
||||
}, [])
|
||||
|
||||
// 初始化加载
|
||||
useEffect(() => {
|
||||
fetchUserData().then()
|
||||
@@ -80,7 +92,9 @@ export const useUserData = (): UseUserDataReturn => {
|
||||
data,
|
||||
loading,
|
||||
error,
|
||||
refresh: fetchUserData
|
||||
refresh,
|
||||
updateBalance,
|
||||
updatePoints
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +118,7 @@ export const useUserBasicData = () => {
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
fetchBasicData()
|
||||
fetchBasicData().then()
|
||||
}, [fetchBasicData])
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user