@@ -201,6 +201,7 @@ export default function DashboardPage() {
201201 const pieChartFullscreenContainerRef = useRef < HTMLDivElement | null > ( null ) ;
202202 const pieLegendClearTimerRef = useRef < number | null > ( null ) ;
203203 const syncingRef = useRef ( false ) ;
204+ const skipOverviewCacheRef = useRef ( false ) ;
204205 const [ pendingDelete , setPendingDelete ] = useState < string | null > ( null ) ;
205206 const [ syncingPrices , setSyncingPrices ] = useState ( false ) ;
206207 // const [pricesSyncStatus, setPricesSyncStatus] = useState<SyncStatus>({ type: 'idle' }); // 已禁用 toast 通知
@@ -532,7 +533,10 @@ export default function DashboardPage() {
532533 window . localStorage . setItem ( "lastSyncStatus" , successMsg ) ;
533534 }
534535 }
535- if ( triggerRefresh && inserted > 0 ) setRefreshTrigger ( ( prev ) => prev + 1 ) ;
536+ if ( triggerRefresh && inserted > 0 ) {
537+ skipOverviewCacheRef . current = true ;
538+ setRefreshTrigger ( ( prev ) => prev + 1 ) ;
539+ }
536540 }
537541 } catch ( err ) {
538542 // 判断是否为超时错误
@@ -634,7 +638,7 @@ export default function DashboardPage() {
634638
635639 const run = async ( ) => {
636640 try {
637- await doSync ( true , false , 5000 ) ; // 首屏加载使用 5 秒超时
641+ await doSync ( true , true , 5000 ) ; // 首屏加载使用 5 秒超时
638642 if ( typeof window !== "undefined" ) {
639643 window . sessionStorage . setItem ( autoSyncKey , "1" ) ;
640644 }
@@ -692,6 +696,11 @@ export default function DashboardPage() {
692696 params . set ( "page" , String ( page ) ) ;
693697 params . set ( "pageSize" , "500" ) ;
694698
699+ if ( skipOverviewCacheRef . current ) {
700+ params . set ( "skipCache" , "1" ) ;
701+ skipOverviewCacheRef . current = false ;
702+ }
703+
695704 const res = await fetch ( `/api/overview?${ params . toString ( ) } ` , { cache : "no-store" , signal : controller . signal } ) ;
696705
697706 if ( ! res . ok ) {
0 commit comments