feat: update api

This commit is contained in:
eleanor.mao 2025-05-20 00:56:05 +08:00
parent 347c7d7cc9
commit 2585f88774
3 changed files with 25 additions and 15 deletions

View File

@ -8,9 +8,8 @@ import { PageUrl } from '@/constants/app';
import { PartnerProfitsState } from '@/types/partner'; import { PartnerProfitsState } from '@/types/partner';
import { formatMoney, getPartnerProfitStat } from '@/utils/partner'; import { formatMoney, getPartnerProfitStat } from '@/utils/partner';
import { navigateTo } from '@/utils/route'; import { navigateTo } from '@/utils/route';
import './index.less';
import Toast from '@/utils/toast'; import Toast from '@/utils/toast';
import './index.less';
const PREFIX = 'partner-kanban'; const PREFIX = 'partner-kanban';
@ -62,11 +61,19 @@ export default function PartnerKanban({ simple }: PartnerKanbanProps) {
const [tipOpen, setTipOpen] = useState(false); const [tipOpen, setTipOpen] = useState(false);
const [withdrawOpen, setWithdrawOpen] = useState(false); const [withdrawOpen, setWithdrawOpen] = useState(false);
const [stats, setStats] = useState<PartnerProfitsState>({ const [stats, setStats] = useState<PartnerProfitsState>({
withdraw: 0, availableBalance: 0,
available: 0, withdrawingBalance: 0,
withdrawing: 0, withdrawnBalance: 0,
availableProfit: 0,
withdrawnProfit: 0,
failedProfit: 0,
}); });
const total = stats.withdrawing + stats.available + stats.withdraw; const total =
stats.availableBalance +
stats.withdrawingBalance +
stats.withdrawnBalance +
stats.availableProfit +
stats.withdrawnProfit;
const handleNavigate = useCallback(() => { const handleNavigate = useCallback(() => {
navigateTo(PageUrl.Partner); navigateTo(PageUrl.Partner);
}, []); }, []);
@ -80,7 +87,7 @@ export default function PartnerKanban({ simple }: PartnerKanbanProps) {
setTipOpen(false); setTipOpen(false);
}, []); }, []);
const handleViewWithdraw = useCallback(() => { const handleViewWithdraw = useCallback(() => {
if (stats.available < 10 * 1000) { if (stats.availableBalance < 10 * 1000) {
Toast.info('提现金额需大于等于10元'); Toast.info('提现金额需大于等于10元');
return; return;
} }
@ -121,18 +128,18 @@ export default function PartnerKanban({ simple }: PartnerKanbanProps) {
<div className={`${PREFIX}__details`}> <div className={`${PREFIX}__details`}>
<div className={`${PREFIX}__details-part`}> <div className={`${PREFIX}__details-part`}>
<div className={`${PREFIX}__title`}></div> <div className={`${PREFIX}__title`}></div>
<div className={`${PREFIX}__money`}>{formatMoney(stats.available)}</div> <div className={`${PREFIX}__money`}>{formatMoney(stats.availableBalance)}</div>
</div> </div>
<div className={`${PREFIX}__details-part`}> <div className={`${PREFIX}__details-part`}>
<div className={`${PREFIX}__title`}></div> <div className={`${PREFIX}__title`}></div>
<div className={`${PREFIX}__money`}>{formatMoney(stats.withdrawing)}</div> <div className={`${PREFIX}__money`}>{formatMoney(stats.withdrawingBalance)}</div>
</div> </div>
<div className={`${PREFIX}__details-part`}> <div className={`${PREFIX}__details-part`}>
<div className={`${PREFIX}__title`}> <div className={`${PREFIX}__title`}>
{!simple && <Question onClick={handleViewTip} />} {!simple && <Question onClick={handleViewTip} />}
</div> </div>
<div className={`${PREFIX}__money`}>{formatMoney(stats.withdraw)}</div> <div className={`${PREFIX}__money`}>{formatMoney(stats.availableProfit)}</div>
</div> </div>
</div> </div>
{!simple && ( {!simple && (

View File

@ -81,5 +81,5 @@ export enum API {
GET_INVITE_LIST = '/user/inviteUsers', GET_INVITE_LIST = '/user/inviteUsers',
BECOME_PARTNER = '/user/becomePartner', BECOME_PARTNER = '/user/becomePartner',
GET_PROFIT_LIST = '/profit/profits', GET_PROFIT_LIST = '/profit/profits',
GET_PROFIT_STAT = '/profit/partnerProfitsStat', GET_PROFIT_STAT = '/user/profits',
} }

View File

@ -1,7 +1,10 @@
export interface PartnerProfitsState { export interface PartnerProfitsState {
withdraw: number; availableBalance: number;
available: number; withdrawingBalance: number;
withdrawing: number; withdrawnBalance: number;
availableProfit: number;
withdrawnProfit: number;
failedProfit: number;
} }
export interface PartnerInviteCode { export interface PartnerInviteCode {
inviteCode: string; inviteCode: string;