import React, { useState, useEffect } from 'react' import { View, Text, ScrollView } from '@tarojs/components' import Taro from '@tarojs/taro' import { useUser } from '@/hooks/useUser' import { useScrollHeight } from '@/hooks/useScrollHeight' import { listShopUserReferee } from '@/api/shop/shopUserReferee' import type { ShopUserReferee } from '@/api/shop/shopUserReferee/model' import EmptyState from '@/components/common/EmptyState' definePageConfig({ navigationBarTitleText: '邀请记录', }) const InviteRecordPage: React.FC = () => { const { isLoggedIn } = useUser() const [records, setRecords] = useState([]) const [loading, setLoading] = useState(true) const scrollHeight = useScrollHeight(44) useEffect(() => { if (!isLoggedIn) { Taro.navigateTo({ url: '/passport/login' }) return } fetchRecords() }, [isLoggedIn]) const fetchRecords = async () => { try { const data = await listShopUserReferee({}) setRecords(data || []) } catch (e) { console.error('获取邀请记录失败:', e) } finally { setLoading(false) } } if (!isLoggedIn) { return null } return ( {loading ? ( 加载中... ) : records.length === 0 ? ( ) : ( {records.map((item) => ( {item.nickname || '用户'} {item.status === 1 ? '已注册' : '待注册'} 邀请时间:{item.createTime} {item.isMember && ( 会员 )} ))} )} ) } export default InviteRecordPage