import { useEffect, useState } from "react"; import { get } from "../../request"; import type { IUserStatisticResponse } from "../../api/Exp"; import { Skeleton } from "antd"; interface IWidget { userName?: string; } const ExpTime = ({ userName }: IWidget) => { const [expSum, setExpSum] = useState(); const [loading, setLoading] = useState(false); useEffect(() => { if (typeof userName === "undefined") { return; } const url = `/v2/user-statistic/${userName}?view=exp-sum`; console.info("api request", url); setLoading(true); get(url) .then((json) => { console.debug("api response", json); if (json.ok) { setExpSum(Math.ceil(json.data.exp.sum / 1000 / 60 / 60)); } }) .finally(() => { setLoading(false); }) .catch((e) => console.error(e)); }, [userName]); return loading ? ( ) : ( <> {expSum} {"小时"} ); }; export default ExpTime;