diff --git a/Reject.js b/Reject.js index 54e1c0f..94c38b5 100644 --- a/Reject.js +++ b/Reject.js @@ -2565,9 +2565,9 @@ async function checkPreCreateSupplies() { } } -// 启动定时任务(每五分钟检查一次) -setInterval(checkPreCreateSupplies, 300000); -console.log('预创建货源检查定时任务已启动,每五分钟执行一次'); +// 启动定时任务(每两分钟检查一次) +setInterval(checkPreCreateSupplies, 120000); +console.log('预创建货源检查定时任务已启动,每两分钟执行一次'); // 启动服务器 startServer(); diff --git a/supply.html b/supply.html index fcd6575..37c05e1 100644 --- a/supply.html +++ b/supply.html @@ -2665,6 +2665,47 @@ if (supply) { // console.log('找到对应的货源:', supply.id, supply.productName); + // 检查是否是预创建货源的倒计时 + if (supply.status === 'pending' && supply.pre_create) { + // 计算到预创建时间的剩余时间 + const preCreateTime = new Date(supply.pre_create); + const now = new Date(); + const timeDiff = preCreateTime - now; + + if (timeDiff > 0) { + // 计算剩余上架时间 + const days = Math.floor(timeDiff / (1000 * 60 * 60 * 24)); + const hours = Math.floor((timeDiff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); + const minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60)); + const seconds = Math.floor((timeDiff % (1000 * 60)) / 1000); + + // 更新显示 + let countdownText = ''; + if (days > 0) { + countdownText = `${days}天${hours}时${minutes}分`; + } else if (hours > 0) { + countdownText = `${hours}时${minutes}分`; + } else { + countdownText = `${minutes}分${seconds}秒`; + } + + if (element.classList.contains('countdown-badge')) { + element.textContent = `⏰ ${countdownText}`; + element.style.background = 'linear-gradient(135deg, #4ecdc4, #45b7aa)'; + element.style.boxShadow = '0 2px 4px rgba(78, 205, 196, 0.3)'; + } + return; // 跳过后续处理 + } else { + // 预创建时间已到 + if (element.classList.contains('countdown-badge')) { + element.textContent = '⏰ 已上架'; + element.style.background = '#52c41a'; + element.style.boxShadow = '0 2px 4px rgba(82, 196, 26, 0.3)'; + } + return; // 跳过后续处理 + } + } + // 检查是否有显式设置的自动下架时间 if (supply.autoOfflineHours && supply.autoOfflineHours !== '' && supply.autoOfflineHours !== null) { // console.log('有显式设置的自动下架时间'); @@ -3276,7 +3317,7 @@ - + `; container.appendChild(pair); @@ -4725,8 +4766,14 @@ console.log(`下架状态货源数量: ${supplyData.draftSupplies.length}`); console.log(`总货源数量: ${supplyData.supplies.length}`); + // 合并已上架和预创建(pending)状态的货源到已上架列表 + const combinedPublishedSupplies = [ + ...supplyData.publishedSupplies, + ...supplyData.supplies.filter(item => item.status === 'pending') + ]; + // 渲染各个状态的货源列表 - renderSupplyList('published', supplyData.publishedSupplies); + renderSupplyList('published', combinedPublishedSupplies); renderSupplyList('pending', supplyData.pendingSupplies); renderSupplyList('rejected', supplyData.rejectedSupplies); renderSupplyList('draft', supplyData.draftSupplies); @@ -4850,7 +4897,7 @@ 'sold_out': { text: '已下架', class: 'status-draft' } }; - const status = statusMap[supply.status] || { text: '未知', class: 'status-draft' }; + const status = supply.status === 'pending' ? { text: '预', class: 'status-pending' } : statusMap[supply.status] || { text: '未知', class: 'status-draft' }; // 处理媒体文件(图片和视频) let firstMediaUrl = ''; @@ -5023,6 +5070,7 @@ ${supply.productName} ${(supply.status === 'hidden' || supply.status === 'sold_out') ? '' : `${status.text}`} ${supply.status === 'published' && supply.autoOfflineHours && supply.autoOfflineHours !== '' && supply.autoOfflineHours !== null ? `⏰ 计算中...` : ''} + ${supply.status === 'pending' && supply.pre_create ? `⏰ 计算中...` : ''} @@ -5040,7 +5088,8 @@