import { useEffect, useState } from 'react' import { View, Text } from '@tarojs/components' import { useAppDispatch, useAppSelector } from '@/store/hooks' import { clearAuth } from '@/store/authSlice' import { Navbar } from '@/components/navbar' import { ListRow, ListRowGroup } from '@/components/list-row' import { getUserInfo, type UserInfo } from '@/api/user' import { useToast } from '@/hooks/useToast' import { reLaunch, navigateTo } from '@/utils/navigation' import { ROUTES } from '@/constants/routes' import styles from './index.module.scss' export default function Mine() { const dispatch = useAppDispatch() const toast = useToast() const auth = useAppSelector((s) => s.auth) const [user, setUser] = useState(null) useEffect(() => { getUserInfo().then(setUser).catch(() => toast.error('加载用户失败')) // eslint-disable-next-line react-hooks/exhaustive-deps }, []) const logout = () => { dispatch(clearAuth()) reLaunch(ROUTES.LOGIN) } return ( {user?.name?.[0] ?? '?'} {user?.name ?? '加载中...'} {auth.userId ? `ID: ${auth.userId}` : ''} navigateTo(ROUTES.DEVICE_ADD)} /> ) }