feat: 卡片loading

This commit is contained in:
rd
2025-07-14 17:39:06 +08:00
parent aa176fd2b4
commit 02cea41a0b
2 changed files with 13 additions and 9 deletions

View File

@ -175,10 +175,10 @@ const toggleSelect = (item) => {
emits('selectionChange', newSelected); emits('selectionChange', newSelected);
}; };
const isSyncing = (item) => { const isSyncing = (item) => {
if (!props.selectedItems.length) return false; if (!props.syncMediaAccounts.length) return false;
const target = props.selectedItems.find((v) => v.id === item.id); const target = props.syncMediaAccounts.find((v) => v.id === item.id);
return target.status === 0; return target?.status === 0;
}; };
const openEdit = (item) => { const openEdit = (item) => {
@ -223,9 +223,9 @@ const isAbnormalStatus = (status) => {
].includes(status); ].includes(status);
}; };
const getTooltipText = (status) => { // const getTooltipText = (status) => {
return STATUS_LIST.find((v) => v.value === status)?.tooltip ?? '-'; // return STATUS_LIST.find((v) => v.value === status)?.tooltip ?? '-';
}; // };
const syncData = inject('handleSyncData'); const syncData = inject('handleSyncData');

View File

@ -282,20 +282,24 @@ const startSyncDataPolling = () => {
startSyncData.value = true; startSyncData.value = true;
clearSyncDataTimer(); clearSyncDataTimer();
syncDataTimer = setInterval(async () => { // 先立即执行一次
const poll = async () => {
const { code, data } = await getMediaAccountSyncStatus(); const { code, data } = await getMediaAccountSyncStatus();
if (code === 200) { if (code === 200) {
syncMediaAccounts.value = data; syncMediaAccounts.value = data;
console.log('poll', syncMediaAccounts.value);
// 所有任务都结束了,才停止轮询,刷新页面 // 所有任务都结束了,才停止轮询,刷新页面
const isEnd = data.every((item) => item.status !== 0); const isEnd = data.every((item) => item.status !== 0);
if (isEnd) { if (isEnd) {
clearSyncDataTimer(); clearSyncDataTimer();
startSyncData.value = false; startSyncData.value = false;
getData(); getData();
} }
} }
}, 5000); };
poll();
syncDataTimer = setInterval(poll, 3000);
}; };
const handleSyncData = async (item) => { const handleSyncData = async (item) => {