Browse Source

已完成在ApiTester.tsx中添加"填入示例"按钮的功能:
1. 在URL输入框旁添加了按钮组件
2. 按钮点击时会自动填入用户提供的示例Excel文件URL
3. 同时更新请求体中的input字段
4. 按钮样式与现有UI保持一致,使用FileOutlined图标
5. 示例URL为:https://ai-oss.d8d.fun/excel2json/240529040材料单(原始导出).xls

yourname 5 months ago
parent
commit
590ec335a2
2 changed files with 22 additions and 8 deletions
  1. 20 6
      src/client/member/components/ApiTester.tsx
  2. 2 2
      src/server/api/convert/post.ts

+ 20 - 6
src/client/member/components/ApiTester.tsx

@@ -159,12 +159,26 @@ export function ApiTester() {
             <div className="space-y-2">
             <div className="space-y-2">
               <ApiTesterFileUpload onBase64Generated={(base64) => handleInputChange(base64)} />
               <ApiTesterFileUpload onBase64Generated={(base64) => handleInputChange(base64)} />
               <Divider plain>或</Divider>
               <Divider plain>或</Divider>
-              <Input
-                placeholder="输入Excel文件URL"
-                value={fileUrl}
-                onChange={(e) => handleInputChange(e.target.value, true)}
-                prefix={<FileExcelOutlined />}
-              />
+              <div className="flex gap-2">
+                <Input
+                  placeholder="输入Excel文件URL"
+                  value={fileUrl}
+                  onChange={(e) => handleInputChange(e.target.value, true)}
+                  prefix={<FileExcelOutlined />}
+                  allowClear
+                  className="flex-1"
+                />
+                <Button
+                  onClick={() => {
+                    const exampleUrl = 'https://ai-oss.d8d.fun/excel2json/240529040%E6%9D%90%E6%96%99%E5%8D%95%EF%BC%88%E5%8E%9F%E5%A7%8B%E5%AF%BC%E5%87%BA%EF%BC%89.xls';
+                    setFileUrl(exampleUrl);
+                    handleInputChange(exampleUrl, true);
+                  }}
+                  icon={<FileOutlined />}
+                >
+                  填入示例
+                </Button>
+              </div>
             </div>
             </div>
           </Form.Item>
           </Form.Item>
         </div>
         </div>

+ 2 - 2
src/server/api/convert/post.ts

@@ -7,8 +7,8 @@ import type { AuthContext } from '@/server/types/context'
 
 
 // 请求Schema
 // 请求Schema
 const ConvertRequestSchema = z.object({
 const ConvertRequestSchema = z.object({
-  templateId: z.string().optional().openapi({
-    example: 'template-123',
+  templateId: z.coerce.number().openapi({
+    example: 1,
     description: '模板ID'
     description: '模板ID'
   }),
   }),
   config: z.any().optional().openapi({
   config: z.any().optional().openapi({