fix(admin): 修复恢复启用订单兑换时 orderId 闭包失效及 H5 页面重试机制

- 修复任务详情页和订单详情页中 statusMutation 闭包提前捕获空 orderId 导致恢复启用请求未发出的问题,改为动态从 query.data 解析最新的 orderId
- 订单详情页统一切换为 App.useApp 提供的 modal/message 实例,保证异步弹窗与提示稳定渲染
- H5 买家领取页面在暂停或关闭等异常状态卡片中增加【重新检测状态】按钮,客服恢复启用后买家可一键重新加载最新状态
- 验证方式:前端类型检查(0 error)、单测 132 项全通及前端 Vite 重新构建成功
This commit is contained in:
yml2213
2026-10-10 18:46:49 +08:00
parent 6971002579
commit 3f2bb3f09a
3 changed files with 39 additions and 9 deletions
@@ -89,9 +89,10 @@ export default function AdminTaskDetailPage() {
const orderId = detail?.order?.orderId ? String(detail.order.orderId) : ''
const statusMutation = useMutation({
mutationFn: (data: { status: 'active' | 'paused' | 'closed'; reason?: string }) => {
if (!orderId) throw new Error('当前任务无关联订单信息')
return updateAdminOrderClaimStatus(orderId, data)
mutationFn: async (data: { status: 'active' | 'paused' | 'closed'; reason?: string }) => {
const resolvedOrderId = query.data?.data?.order?.orderId || detail?.order?.orderId
if (!resolvedOrderId) throw new Error('当前任务无关联订单信息')
return updateAdminOrderClaimStatus(resolvedOrderId, data)
},
onSuccess: () => {
message.success('订单兑换状态已更新')