Compare commits

...

2 Commits

Author SHA1 Message Date
seaislee1209
9809c31143 Merge branch 'main' of https://gitea.airlabs.art/zyc/video-shuoshan
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 13m31s
2026-03-18 18:06:59 +08:00
seaislee1209
16916810c9 fix: 内容资产页加载失败时显示具体错误信息
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 18:04:30 +08:00

View File

@ -72,12 +72,18 @@ export function AdminAssetsPage() {
const [expandedMember, setExpandedMember] = useState<number | null>(null); const [expandedMember, setExpandedMember] = useState<number | null>(null);
const [memberVideos, setMemberVideos] = useState<Record<number, { videos: AssetVideo[]; total: number; page: number }>>({}); const [memberVideos, setMemberVideos] = useState<Record<number, { videos: AssetVideo[]; total: number; page: number }>>({});
const [detailTask, setDetailTask] = useState<GenerationTask | null>(null); const [detailTask, setDetailTask] = useState<GenerationTask | null>(null);
const [error, setError] = useState<string | null>(null);
useEffect(() => { useEffect(() => {
adminApi.getAssetsOverview().then(({ data }) => { adminApi.getAssetsOverview().then(({ data }) => {
setOverview(data); setOverview(data);
setLoading(false); setLoading(false);
}).catch(() => setLoading(false)); }).catch((err) => {
const msg = err?.response?.data?.detail || err?.response?.data?.error || err?.message || '未知错误';
const status = err?.response?.status || '';
setError(`${status ? `[${status}] ` : ''}${msg}`);
setLoading(false);
});
}, []); }, []);
const toggleTeam = useCallback(async (teamId: number) => { const toggleTeam = useCallback(async (teamId: number) => {
@ -118,7 +124,7 @@ export function AdminAssetsPage() {
}, [memberVideos]); }, [memberVideos]);
if (loading) return <div className={styles.loading}>...</div>; if (loading) return <div className={styles.loading}>...</div>;
if (!overview) return <div className={styles.empty}></div>; if (!overview) return <div className={styles.empty}>{error ? `${error}` : ''}</div>;
return ( return (
<div className={styles.page}> <div className={styles.page}>