fix(pdd-extension): 拼多多官方接口频控(40002)容错与轻量探测,避免有效 Cookie 被拒
This commit is contained in:
@@ -46,6 +46,7 @@ export interface PddOrderQueryResult {
|
||||
|
||||
export interface PddTestCookieResult {
|
||||
valid: boolean
|
||||
rateLimited?: boolean | undefined
|
||||
message: string
|
||||
totalOrders?: number | undefined
|
||||
firstOrderSn?: string | undefined
|
||||
@@ -253,16 +254,19 @@ export class PddClient {
|
||||
})
|
||||
|
||||
try {
|
||||
const nowSec = Math.floor(Date.now() / 1000)
|
||||
const result = await client.queryRecentOrders({
|
||||
pageNumber: 1,
|
||||
pageSize: 1,
|
||||
orderType: 0,
|
||||
orderType: 2, // 2: 已发货 (比 orderType: 0 扫描全量库更轻量,不容易触发拼多多 MMS 网关频控)
|
||||
startTime: nowSec - 86400 * 7, // 探测最近 7 天
|
||||
endTime: nowSec,
|
||||
})
|
||||
|
||||
const firstItem = result.items[0]
|
||||
return {
|
||||
valid: true,
|
||||
message: `Cookie 有效,网关校验通过(店铺在售/历史订单数: ${result.total})`,
|
||||
message: `Cookie 有效,网关校验通过(近期订单数: ${result.total})`,
|
||||
totalOrders: result.total,
|
||||
firstOrderSn: firstItem?.order_sn,
|
||||
}
|
||||
@@ -279,9 +283,10 @@ export class PddClient {
|
||||
message: `Cookie 已失效或登录已过期: ${errMsg}`,
|
||||
}
|
||||
}
|
||||
if (errMsg.includes('40002') || errMsg.includes('频控')) {
|
||||
if (errMsg.includes('40002') || errMsg.includes('频控') || errMsg.includes('频繁')) {
|
||||
return {
|
||||
valid: false,
|
||||
rateLimited: true,
|
||||
message: `触发网关频控 (40002): 操作过于频繁,请稍后重试`,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user