import { useState } from 'react'; import { Alert, Button, Card, Col, Form, Input, InputNumber, Row, Space, Tabs, Typography, message, } from 'antd'; import { request } from '../lib/api'; type ApiResult = Record; function ResultBox({ data }: { data: ApiResult | null }) { if (!data) return 调用后在此显示结果; return (
      {JSON.stringify(data, null, 2)}
    
); } export default function RedeemDebugPage() { const [createForm] = Form.useForm(); const [previewForm] = Form.useForm(); const [confirmForm] = Form.useForm(); const [loading, setLoading] = useState(false); const [createResult, setCreateResult] = useState(null); const [previewResult, setPreviewResult] = useState(null); const [confirmResult, setConfirmResult] = useState(null); async function invoke( path: string, body: unknown, setResult: (v: ApiResult | null) => void, successMsg: string, ) { setLoading(true); setResult(null); try { const res = await request(path, { method: 'POST', body: JSON.stringify(body), }); setResult(res); message.success(successMsg); if (path.includes('create-token') && res.token) { previewForm.setFieldsValue({ token: res.token }); confirmForm.setFieldsValue({ token: res.token }); } } catch (e) { message.error(e instanceof Error ? e.message : '调用失败'); } finally { setLoading(false); } } return (
核销调试
), }, { key: 'preview', label: '2. 预览核销', children: (
), }, { key: 'confirm', label: '3. 确认核销', children: (
), }, ]} />
); }