diff --git a/src/app/(main)/pricing/page.tsx b/src/app/(main)/pricing/page.tsx index cc8b676..ab3b192 100644 --- a/src/app/(main)/pricing/page.tsx +++ b/src/app/(main)/pricing/page.tsx @@ -12,11 +12,16 @@ export default function Page() { url: "/api/plans/", method: "GET", }); + const isMobile = useIsMobile(); useEffect(() => { GetPricing().then((res) => { console.log("pricing:", res); }); }, []); + let alipayUrl = "/api/alipay/create_order/"; + if (isMobile) { + alipayUrl = "api/alipay/create_h5_order/"; + } const { fetchData: createPayPalOrder, loading: payPalLoading, @@ -32,7 +37,7 @@ export default function Page() { loading: alipayLoading, data: alipayData, } = useFetch({ - url: "/api/alipay/create_order/", + url: alipayUrl, method: "POST", }); @@ -245,3 +250,16 @@ export default function Page() { > ); } +const useIsMobile = () => { + const [isMobile, setIsMobile] = useState(false); + + useEffect(() => { + const userAgent = + typeof window !== "undefined" ? navigator.userAgent : ""; + const mobileRegex = + /Android|iPhone|iPad|iPod|Opera Mini|IEMobile|WPDesktop/i; + setIsMobile(mobileRegex.test(userAgent)); + }, []); + + return isMobile; +}; diff --git a/src/i18n/request.ts b/src/i18n/request.ts index f5102e7..af7dc2d 100644 --- a/src/i18n/request.ts +++ b/src/i18n/request.ts @@ -1,5 +1,6 @@ import { getRequestConfig } from 'next-intl/server'; import { headers } from "next/headers"; + export default getRequestConfig(async () => { const headersList = headers(); const acceptLanguage = headersList.get("accept-language"); @@ -8,7 +9,8 @@ export default getRequestConfig(async () => { let locale = 'en'; // 默认语言 if (acceptLanguage) { // 根据首选语言选择合适的 locale - const preferredLanguages = acceptLanguage.split(',').map(lang => lang.split(';')[0].trim()); + const preferredLanguages = acceptLanguage.split(',') + .map(lang => lang.split(';')[0].trim().slice(0, 2)); // 提取语言的前两个字符,如 'zh-CN' -> 'zh' const supportedLocales = ['en', 'zh']; // 支持的语言列表 // 检查首选语言是否在支持的语言列表中 @@ -24,4 +26,4 @@ export default getRequestConfig(async () => { locale, messages: (await import(`../../public/locales/${locale}.json`)).default }; -}); \ No newline at end of file +}); diff --git a/src/ui/page/page-footer.tsx b/src/ui/page/page-footer.tsx index f1bec7a..8598837 100644 --- a/src/ui/page/page-footer.tsx +++ b/src/ui/page/page-footer.tsx @@ -12,11 +12,19 @@ export default function PageFooter() { {t("companyNameEn")}
@@ -24,7 +32,7 @@ export default function PageFooter() { {t("icpNumber")} -