update pay ui

This commit is contained in:
2025-12-14 16:20:49 +08:00
parent 024a34cdd0
commit 424c5ecb3e
2 changed files with 17 additions and 358 deletions

View File

@@ -56,7 +56,7 @@ export default function LimitAnalyse() {
const [dateStr, setDateStr] = useState('');
const [loading, setLoading] = useState(false);
const [dailyData, setDailyData] = useState(null);
const [availableDates, setAvailableDates] = useState([]);
const [availableDates, setAvailableDates] = useState(null); // null 表示未加载,[] 表示加载完成但无数据
const [wordCloudData, setWordCloudData] = useState([]);
const [searchResults, setSearchResults] = useState(null);
const [isSearchOpen, setIsSearchOpen] = useState(false);
@@ -86,7 +86,12 @@ export default function LimitAnalyse() {
// 根据可用日期加载最近一个有数据的日期
useEffect(() => {
if (availableDates && availableDates.length > 0) {
// 等待日期列表加载完成null 表示未加载)
if (availableDates === null) {
return;
}
if (availableDates.length > 0) {
// 选择日期字符串最大的那一天(格式为 YYYYMMDD
const latest = availableDates.reduce((max, cur) =>
(!max || (cur.date && cur.date > max)) ? cur.date : max
@@ -101,12 +106,9 @@ export default function LimitAnalyse() {
fetchDailyAnalysis(latest);
}
} else {
// 如果暂无可用日期,回退到今日,避免页面长时间空白
const today = new Date();
const dateString = formatDateStr(today);
setDateStr(dateString);
setSelectedDate(today);
fetchDailyAnalysis(dateString);
// 日期列表为空,显示提示但不请求数据
setLoading(false);
logger.warn('LimitAnalyse', '暂无可用数据');
}
}, [availableDates]);
@@ -115,12 +117,18 @@ export default function LimitAnalyse() {
try {
const data = await ztStaticService.fetchAvailableDates();
if (data.success) {
setAvailableDates(data.events);
setAvailableDates(data.events || []);
logger.debug('LimitAnalyse', '可用日期加载成功(静态文件)', {
count: data.events?.length || 0
});
} else {
// 请求成功但返回失败,设置空数组
setAvailableDates([]);
logger.warn('LimitAnalyse', '日期列表返回失败', data.error);
}
} catch (error) {
// 请求失败,设置空数组避免一直 loading
setAvailableDates([]);
logger.error('LimitAnalyse', 'fetchAvailableDates', error);
}
};