Преглед на файлове

refactor(products): 优化产品网格组件的数据结构和接口定义

- 移除ProductItem接口定义,简化类型声明
- 更新QuoteFormValues接口,将productId类型从string | number改为string
- 添加SaveQuotePayload接口用于报价保存请求体
- 修改serverPost调用的泛型参数,使用正确的请求体类型
- 清理组件末尾的多余代码
nahida преди 4 месеца
родител
ревизия
55b51e16d7
променени са 1 файла, в които са добавени 11 реда и са изтрити 13 реда
  1. 11 13
      src/components/products/ProductGridClient.tsx

+ 11 - 13
src/components/products/ProductGridClient.tsx

@@ -2,28 +2,26 @@
 
 import React, {useState} from "react"
 import Image from "next/image"
-import {Pagination, Modal, Form, Input, Button, message} from "antd"
+import {Button, Form, Input, message, Modal, Pagination} from "antd"
 import Link from "next/link";
 import {serverPost} from "@/utils/request";
 
-// 定义产品项接口
-interface ProductItem {
-    productId: string | number;
-    productName: string;
-    productUrl?: string;
-    productIntroduction: string;
-    productModel: string;
-}
-
 // 留言表单数据接口(移除quantity字段)
 interface QuoteFormValues {
     name: string;
     phone: string;
     message: string;
-    productId: string | number;
+    productId: string;
     productName: string;
 }
 
+interface SaveQuotePayload {
+    content: string;
+    deviceName: string;
+    name: string;
+    phone: string;
+}
+
 interface ProductGridProps {
     products: ProductItem[]
 }
@@ -74,7 +72,7 @@ export default function ProductGrid({products}: ProductGridProps) {
         try {
             // 1. 设置提交中状态,禁用按钮
             setSubmitting(true)
-            const response = await serverPost<Page<QuoteFormValues>, {}>(
+            const response = await serverPost<Page<QuoteFormValues>, SaveQuotePayload>(
                 "/webSite/save",
                 {
                     content: values.message,
@@ -232,4 +230,4 @@ export default function ProductGrid({products}: ProductGridProps) {
             </Modal>
         </div>
     )
-}
+}