Browse Source

page searchParams 类型修改

fogwind 22 giờ trước cách đây
mục cha
commit
a9ee129dc1

+ 1 - 1
README.md

@@ -356,7 +356,7 @@ useEffect 只会在客户端执行,具体是在浏览器绘制后执行,服
     对于需要token的接口:登录用户校验token; 游客只需要检查有没有token.
     ---- 47 条 请求方法已经扩展是否携带token的参数,但是不再添加对于token的有效性校验,以后端接口返回的错误为依据判断有效性
 48. 游客token的创建优化(想在服务端创建写入token)--- 已完成
-49. 结账页地址模块未登录用户输入邮箱后判断是否注册过,如果注册过让用户登录;
+49. 结账页地址模块未登录用户输入邮箱后判断是否注册过,如果注册过让用户登录;--- 已完成
 
 
 > 39,40 参考 https://chatgpt.com/share/6a4f0637-ad28-83ea-ad44-423740795054

+ 3 - 3
src/app/(checkout)/checkout/continuetopay/page.tsx

@@ -33,7 +33,7 @@ export const dynamic = "force-dynamic";
 // status: "pending"
 // success: true
 export default async function ContinueToPay({searchParams}: {
-  searchParams?: Promise<{ [key: string]: string | string[] | undefined }>;
+  searchParams: Promise<{ orderid: string }>;
 }) {
     
     const session = await auth();// 游客是null
@@ -43,11 +43,11 @@ export default async function ContinueToPay({searchParams}: {
     }
 
     const query = await searchParams;
-    const orderid = query?.orderid;
+    const orderid = query.orderid;
     const {data: orderDetailResponse, error: orderDetailError} = await serverGraphqlFetch<OrderDetailsData,{id:string}>({
         query: GET_ORDER_DETAILS,
         variables: {
-            id: orderid as string
+            id: orderid
         }
     }); 
     const orderDetailData = orderDetailResponse?.customerOrder;

+ 4 - 4
src/app/(public)/paymentresult/result/page.tsx

@@ -13,7 +13,7 @@ import { GUEST_CART_TOKEN } from "@/utils/constants";
 
 // 如果是游客:请求完订单详情后删除cookie里原来的carttoken cartid
 export default async function SuccessPage({searchParams}: {
-  searchParams?: Promise<{ [key: string]: string | string[] | undefined }>;
+  searchParams: Promise<{ orderId: string;awx_return_result:string; return_result: string;}>;
 })  {
     const session = await auth();// 游客是null
     const isGuest = session === null;
@@ -25,8 +25,8 @@ export default async function SuccessPage({searchParams}: {
     
     
     const query = await searchParams; // awx_return_result
-    const orderid = query?.orderId;
-    const paymentResult = query?.awx_return_result ?? query?.return_result; // 支付状态
+    const orderid = query.orderId;
+    const paymentResult = query.awx_return_result ?? query.return_result; // 支付状态
 
 
     if (!orderid) {
@@ -38,7 +38,7 @@ export default async function SuccessPage({searchParams}: {
     const orderDetailPromise = serverGraphqlFetch<OrderDetailsData,{id:string}>({
         query: GET_ORDER_DETAILS,
         variables: {
-            id:  orderid as string
+            id:  orderid
         }
     });
 

+ 12 - 8
src/app/(public)/search/page.tsx

@@ -31,7 +31,7 @@ export const dynamicParams = true;
 export async function generateMetadata({
   searchParams,
 }: {
-  searchParams?: Promise<{ [key: string]: string | string[] | undefined }>;
+  searchParams?: Promise<{ q: string }>;
 }) {
   const params = await searchParams;
   const searchQuery = params?.q as string | undefined;
@@ -48,7 +48,13 @@ export async function generateMetadata({
 export default async function SearchPage({
   searchParams,
 }: {
-  searchParams?: Promise<{ [key: string]: string | string[] | undefined }>;
+  searchParams?: Promise<{ 
+    q: string;
+    page: string;
+    sort: string;
+    cursor: string;
+    before: string;
+   }>;
 }) {
   const params = await searchParams;
   const {
@@ -56,9 +62,7 @@ export default async function SearchPage({
     page,
     cursor,
     before,
-  } = (params || {}) as {
-    [key: string]: string;
-  };
+  } = (params || {});
   const itemsPerPage = 8;
   const currentPage = page ? parseInt(page) - 1 : 0;
   const sortValue = params?.sort || "name-asc";
@@ -78,7 +82,7 @@ export default async function SearchPage({
       query: SEARCH_PRODUCTS,
       variables: {
         suggest: true,
-        query: searchValue,
+        query: searchValue || '',
         filter: filterInput,
         first: 8,
         ...(beforeCursor
@@ -103,7 +107,7 @@ export default async function SearchPage({
           query: SEARCH_PRODUCTS,
           variables: {
             suggest: true,
-            query: searchValue,
+            query: searchValue || '',
             first: currentPage * itemsPerPage,
             sortKey: selectedSort.sortKey,
             reverse: selectedSort.reverse,
@@ -120,7 +124,7 @@ export default async function SearchPage({
         query: SEARCH_PRODUCTS,
         variables: {
           suggest: true,
-          query: searchValue,
+          query: searchValue || '',
           ...(beforeCursor
             ? { last: itemsPerPage, before: beforeCursor }
             : { first: itemsPerPage, after: currentAfterCursor }),