| 123456789101112131415161718192021222324252627282930313233 |
- import {Suspense} from "react";
- import { cookies } from 'next/headers';
- import { redirect, RedirectType } from 'next/navigation'
- import {authorizationGraphqlQuery} from "@/lib/graphql-fetch";
- import {GET_ORDER_DETAILS} from "@/graphql";
- import { OrderDetailsData } from "@/types/customer/type";
- import SuccessPageSkeleton from "./_components/SuccessPageSkeleton";
- import OrderDetailWrapper from "./_components/OrderDetailWrapper";
- import { GUEST_CART_TOKEN,GUEST_CART_ID } from "@/utils/constants";
- // 如果是游客:请求完订单详情后删除cookie里原来的carttoken cartid
- export default async function SuccessPage({searchParams}: {
- searchParams?: Promise<{ [key: string]: string | string[] | undefined }>;
- }) {
- const cookieStore = await cookies();
- // 登录用户cookie里没有GUEST_CART_ID
- if(!cookieStore.get(GUEST_CART_TOKEN)) {
- redirect('/', RedirectType.replace);
- }
- const query = await searchParams;
- const orderid = query?.orderid;
- const orderDetailPromise = authorizationGraphqlQuery<OrderDetailsData>(GET_ORDER_DETAILS,{
- id: orderid,// `/api/shop/customer-orders/${orderid}`
- });
- return (
-
- <div className="w-full">
- <Suspense fallback={<SuccessPageSkeleton />}>
- <OrderDetailWrapper orderDetailPromise={orderDetailPromise} />
- </Suspense>
- </div>
- );
- }
|