72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
import { useQuery } from '@tanstack/react-query';
|
|
import { usersApi } from '../api/users.api';
|
|
import type { PaginationParams } from '@/types/api';
|
|
|
|
export function useUsers(params: PaginationParams & { keyword?: string }) {
|
|
return useQuery({
|
|
queryKey: ['users', params],
|
|
queryFn: () => usersApi.getList(params),
|
|
});
|
|
}
|
|
|
|
export function useUserDetail(accountSequence: string) {
|
|
return useQuery({
|
|
queryKey: ['users', accountSequence],
|
|
queryFn: () => usersApi.getDetail(accountSequence),
|
|
enabled: !!accountSequence,
|
|
});
|
|
}
|
|
|
|
export function useContributionRecords(accountSequence: string, params: PaginationParams) {
|
|
return useQuery({
|
|
queryKey: ['users', accountSequence, 'contributions', params],
|
|
queryFn: () => usersApi.getContributionRecords(accountSequence, params),
|
|
enabled: !!accountSequence,
|
|
});
|
|
}
|
|
|
|
export function useMiningRecords(accountSequence: string, params: PaginationParams) {
|
|
return useQuery({
|
|
queryKey: ['users', accountSequence, 'mining-records', params],
|
|
queryFn: () => usersApi.getMiningRecords(accountSequence, params),
|
|
enabled: !!accountSequence,
|
|
});
|
|
}
|
|
|
|
export function useTradeOrders(accountSequence: string, params: PaginationParams) {
|
|
return useQuery({
|
|
queryKey: ['users', accountSequence, 'orders', params],
|
|
queryFn: () => usersApi.getTradeOrders(accountSequence, params),
|
|
enabled: !!accountSequence,
|
|
});
|
|
}
|
|
|
|
// 从 admin-web 复用的 hooks
|
|
export function useReferralTree(
|
|
accountSequence: string,
|
|
direction: 'up' | 'down' | 'both' = 'both',
|
|
depth: number = 1
|
|
) {
|
|
return useQuery({
|
|
queryKey: ['users', accountSequence, 'referral-tree', direction, depth],
|
|
queryFn: () => usersApi.getReferralTree(accountSequence, direction, depth),
|
|
enabled: !!accountSequence,
|
|
});
|
|
}
|
|
|
|
export function usePlantingLedger(accountSequence: string, params: PaginationParams) {
|
|
return useQuery({
|
|
queryKey: ['users', accountSequence, 'planting-ledger', params],
|
|
queryFn: () => usersApi.getPlantingLedger(accountSequence, params),
|
|
enabled: !!accountSequence,
|
|
});
|
|
}
|
|
|
|
export function useWalletLedger(accountSequence: string, params: PaginationParams) {
|
|
return useQuery({
|
|
queryKey: ['users', accountSequence, 'wallet-ledger', params],
|
|
queryFn: () => usersApi.getWalletLedger(accountSequence, params),
|
|
enabled: !!accountSequence,
|
|
});
|
|
}
|