import '~/styles/personal.scss' import { Button, Divider, List, Overlay, Swiper, SwiperInstance, Toast } from "react-vant" import BackBar from "~/components/BackBar" import { useEffect, useRef, useState } from 'react' import { getTime, splitAddress } from '~/utils' import { observer } from 'mobx-react' import store from '~/store' import { my_invite, team_info } from '~/api' import useCopyLink from '~/hooks/useCopy' import { InviteRecordData } from '~/types/store' import { useRouter } from '~/hooks/useRouter' import { copy } from '~/utils/copy' import QRCode from 'qrcode' const Team = () => { const { push } = useRouter() const { token } = store.state const { copyVal } = useCopyLink() const [address, setAddress] = useState('') const [inviteList, setInviteList] = useState([] as InviteRecordData[]) const [finished, setFinished] = useState(true); const [visible, setVisible] = useState(false); const [cardState, setCardState] = useState([ [ { title: '我的推薦人', value: '000000000', id: 1 }, { title: '級別獎勵', value: '10% 5%', id: 2 }, ], [ { title: '獎勵金額', value: '0U', id: 4 }, { title: '直推人數', value: '0人', id: 6 }, { title: '閒推人數', value: '0人', id: 5 }, ], ]) const query = useRef({ page: 1, page_size: 20 }) const getInviteData = async () => { let res: any = await my_invite(query.current); if (res && res.code === 0 && res.data) { if (res.data.length < 20) { if (inviteList.length <= 0) { setInviteList(res.data) } else { setInviteList([...inviteList, ...res.data]) } setFinished(true) return } query.current.page = query.current.page + 1 if (inviteList.length <= 0) { setInviteList(res.data) } else { setInviteList([...inviteList, ...res.data]) }; setFinished(false) } } useEffect(() => { const getData = async () => { const res: any = await team_info() if (res && res.code === 0) { cardState[0][0].value = res.data.inviti_address || '000000000000000' cardState[1][0].value = res.data.award ? res.data.award + "U" : "0U" cardState[1][1].value = res.data.direct_count ? res.data.direct_count + '人' : '0人' cardState[1][2].value = res.data.indirect_count ? res.data.indirect_count + '人' : '0人' setCardState([...cardState]) setAddress(res.data.address) } } token && getData() token && getInviteData(); !token && push('/', null, true) }, [token]) return (