v2.0.1
This commit is contained in:
parent
c4de918726
commit
6bf444b164
@ -12,11 +12,16 @@ export default function Page() {
|
|||||||
url: "/api/plans/",
|
url: "/api/plans/",
|
||||||
method: "GET",
|
method: "GET",
|
||||||
});
|
});
|
||||||
|
const isMobile = useIsMobile();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
GetPricing().then((res) => {
|
GetPricing().then((res) => {
|
||||||
console.log("pricing:", res);
|
console.log("pricing:", res);
|
||||||
});
|
});
|
||||||
}, []);
|
}, []);
|
||||||
|
let alipayUrl = "/api/alipay/create_order/";
|
||||||
|
if (isMobile) {
|
||||||
|
alipayUrl = "api/alipay/create_h5_order/";
|
||||||
|
}
|
||||||
const {
|
const {
|
||||||
fetchData: createPayPalOrder,
|
fetchData: createPayPalOrder,
|
||||||
loading: payPalLoading,
|
loading: payPalLoading,
|
||||||
@ -32,7 +37,7 @@ export default function Page() {
|
|||||||
loading: alipayLoading,
|
loading: alipayLoading,
|
||||||
data: alipayData,
|
data: alipayData,
|
||||||
} = useFetch({
|
} = useFetch({
|
||||||
url: "/api/alipay/create_order/",
|
url: alipayUrl,
|
||||||
method: "POST",
|
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;
|
||||||
|
};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { getRequestConfig } from 'next-intl/server';
|
import { getRequestConfig } from 'next-intl/server';
|
||||||
import { headers } from "next/headers";
|
import { headers } from "next/headers";
|
||||||
|
|
||||||
export default getRequestConfig(async () => {
|
export default getRequestConfig(async () => {
|
||||||
const headersList = headers();
|
const headersList = headers();
|
||||||
const acceptLanguage = headersList.get("accept-language");
|
const acceptLanguage = headersList.get("accept-language");
|
||||||
@ -8,7 +9,8 @@ export default getRequestConfig(async () => {
|
|||||||
let locale = 'en'; // 默认语言
|
let locale = 'en'; // 默认语言
|
||||||
if (acceptLanguage) {
|
if (acceptLanguage) {
|
||||||
// 根据首选语言选择合适的 locale
|
// 根据首选语言选择合适的 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']; // 支持的语言列表
|
const supportedLocales = ['en', 'zh']; // 支持的语言列表
|
||||||
|
|
||||||
// 检查首选语言是否在支持的语言列表中
|
// 检查首选语言是否在支持的语言列表中
|
||||||
@ -24,4 +26,4 @@ export default getRequestConfig(async () => {
|
|||||||
locale,
|
locale,
|
||||||
messages: (await import(`../../public/locales/${locale}.json`)).default
|
messages: (await import(`../../public/locales/${locale}.json`)).default
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -12,11 +12,19 @@ export default function PageFooter() {
|
|||||||
<span>{t("companyNameEn")}</span>
|
<span>{t("companyNameEn")}</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-center text-gray-300 text-sm mt-2">
|
<div className="text-center text-gray-300 text-sm mt-2">
|
||||||
<a href={t("domain1")} target="_blank" rel="noopener noreferrer">
|
<a
|
||||||
|
href={t("domain1")}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
{t("domain1")}
|
{t("domain1")}
|
||||||
</a>{" "}
|
</a>{" "}
|
||||||
|{" "}
|
|{" "}
|
||||||
<a href={t("domain2")} target="_blank" rel="noopener noreferrer">
|
<a
|
||||||
|
href={t("domain2")}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
{t("domain2")}
|
{t("domain2")}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@ -24,7 +32,7 @@ export default function PageFooter() {
|
|||||||
{t("icpNumber")}
|
{t("icpNumber")}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col-reverse md:flex-row justify-between mt-8">
|
<div className="flex justify-center mt-8">
|
||||||
{/* 其他内容 */}
|
{/* 其他内容 */}
|
||||||
<div className="text-[#BEFFD6] underline underline-offset-2 space-x-3">
|
<div className="text-[#BEFFD6] underline underline-offset-2 space-x-3">
|
||||||
<a href="/terms">{t("termsOfService")}</a>
|
<a href="/terms">{t("termsOfService")}</a>
|
||||||
|
Loading…
Reference in New Issue
Block a user