fix: cart_item_id不是itemID,修复商品链接错误导致抢购失败

- cart_service: 拦截购物车API提取真实itemID映射
- cart_service: 从Vue组件/data属性/window全局变量多路提取itemID
- tasks: 区分item_id和cart_item_id,只有真实itemID才拼URL
- snatcher: 增加商品不存在/已下架检测,增加空URL检测
This commit is contained in:
2026-04-01 13:40:42 +08:00
parent def06c6360
commit 2ebdaec965
4 changed files with 136 additions and 8 deletions

View File

@@ -42,6 +42,18 @@ async def run_snatch(task_id):
await browser.close()
return
# 检查商品是否存在
page_text = await page.locator('body').text_content()
if '商品不存在' in (page_text or '') or '已下架' in (page_text or ''):
_update_task(db, task_id, 'failed', f'商品不存在或已下架 (URL: {target_url})')
await browser.close()
return
if not target_url or target_url.strip() == '':
_update_task(db, task_id, 'failed', '商品链接为空,请检查购物车同步是否获取到了 itemID')
await browser.close()
return
# 2. 等待抢购时间
snatch_time = task['snatch_time']
if snatch_time: