'use client' import { useState } from 'react' import { Button, useDocumentInfo } from '@payloadcms/ui' import { useRouter } from 'next/navigation' /** * 编辑页面内的订单计数刷新组件 * 只针对当前编辑的预购商品刷新订单数据 */ export function RefreshOrderCountField() { const { id } = useDocumentInfo() const [loading, setLoading] = useState(false) const [message, setMessage] = useState('') const router = useRouter() const handleRefresh = async () => { if (!id) { setMessage('⚠️ 无法获取商品 ID') return } setLoading(true) setMessage('') try { const response = await fetch('/api/preorders/refresh-order-counts', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ productIds: [id], }), }) const data = await response.json() if (data.success) { setMessage(`✅ ${data.message || '订单计数刷新成功!'}`) // 刷新页面数据 setTimeout(() => { router.refresh() // 重新加载页面以更新显示 window.location.reload() }, 1000) } else { setMessage(`❌ 刷新失败: ${data.error || '未知错误'}`) } } catch (error) { setMessage('❌ 刷新出错: ' + (error instanceof Error ? error.message : '未知错误')) } finally { setLoading(false) } } return (
从 Medusa 订单系统同步真实订单计数数据
💡 说明:
• 真实订单计数:从 Medusa 自动同步,只读
• Fake计数:上方可手动编辑
• 显示进度 = 真实订单 + Fake计数