fix(delivery): 硬化自动发货可靠性,避免双发与无限 Webhook 重试

恢复 ship_failed 可重试 UI;DLC 断点续传 queue;乐玩未绑定禁止进 delivering;Webhook 原子 nonce 与业务拒绝回 200。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-09-14 20:13:29 +08:00
co-authored by Cursor
parent df1a170d44
commit c2d8228512
10 changed files with 235 additions and 29 deletions
+12 -4
View File
@@ -485,8 +485,8 @@ export default function Delivery() {
</section>
)}
{/* 状态 3:发货失败 */}
{order.status === 'ship_failed' && (
{/* 状态 3:发货失败且不可自动重试 */}
{order.status === 'ship_failed' && !order.can_ship && (
<section style={panelStyle}>
<Result
status="error"
@@ -501,10 +501,18 @@ export default function Delivery() {
</section>
)}
{/* 状态 4:待绑定扫码 */}
{order.status === 'paid' && (
{/* 状态 4:待绑定扫码(含未提交上游的 ship_failed 可重试) */}
{(order.status === 'paid' || (order.status === 'ship_failed' && order.can_ship)) && (
<section style={panelStyle}>
<Space direction="vertical" size="large" style={{ width: '100%' }}>
{order.status === 'ship_failed' && (
<Alert
type="warning"
showIcon
message="上次发货未成功,可重新绑定并提交"
description={order.ship_fail_reason || order.cannot_ship_reason || undefined}
/>
)}
<Steps
current={step}
items={[