更新大文件获取方式

This commit is contained in:
2024-09-19 11:57:41 +08:00
parent 8028fa6f5f
commit fae33aa49c
3 changed files with 75 additions and 66 deletions

View File

@@ -9,61 +9,69 @@ import { useTranslations } from "next-intl";
type FormStatus = "login" | "register";
export default function Page() {
const [formStatus, setFormStatus] = useState<FormStatus>("login");
const t = useTranslations("pageFooter"); // 用于获取底部信息的翻译
const [formStatus, setFormStatus] = useState<FormStatus>("login");
const t = useTranslations("pageFooter"); // 用于获取底部信息的翻译
return (
<main className="z-0 bg-ivory relative flex flex-col items-center pt-12 pb-5 px-4 md:px-24 w-full overflow-x-hidden">
<video
autoPlay
muted
loop
playsInline
className="absolute top-0 left-0 w-full h-full object-cover z-[-1]"
>
<source
src="/video/video_2024-09-16 11_18_33.webm"
type="video/mp4"
/>
</video>
<article className="relative flex flex-col lg:flex-row gap-[80px] lg:gap-0 justify-evenly pt-[100px] lg:pt-0 mb-[120px] lg:mb-[30px] min-h-[calc(100vh_-_96px)] items-center">
<section className="flex flex-col gap-[15px] items-center">
<Link className="mb-2" href="/">
{/* 在此处添加您的 Logo如果有的话 */}
</Link>
<div className="text-info text-xl font-light my-4">
{t("welcome")} 👋
</div>
<section className={styles["login_form"]}>
{formStatus === "login" ? (
<LoginForm
toRegister={() => setFormStatus("register")}
/>
) : (
<RegisterForm back={() => setFormStatus("login")} />
)}
</section>
</section>
</article>
return (
<main className="z-0 bg-ivory relative flex flex-col items-center pt-12 pb-5 px-4 md:px-24 w-full overflow-x-hidden">
<video
autoPlay
muted
loop
playsInline
className="absolute top-0 left-0 w-full h-full object-cover z-[-1]"
>
<source
src="http://file.typeframes.com.cn/video_2024-09-16 11_18_33.webm"
type="video/mp4"
/>
</video>
<article className="relative flex flex-col lg:flex-row gap-[80px] lg:gap-0 justify-evenly pt-[100px] lg:pt-0 mb-[120px] lg:mb-[30px] min-h-[calc(100vh_-_96px)] items-center">
<section className="flex flex-col gap-[15px] items-center">
<Link className="mb-2" href="/">
{/* 在此处添加您的 Logo如果有的话 */}
</Link>
<div className="text-info text-xl font-light my-4">
{t("welcome")} 👋
</div>
<section className={styles["login_form"]}>
{formStatus === "login" ? (
<LoginForm
toRegister={() => setFormStatus("register")}
/>
) : (
<RegisterForm back={() => setFormStatus("login")} />
)}
</section>
</section>
</article>
{/* 底部版权信息 */}
<footer className="w-full text-center text-gray-300 text-sm mt-4">
<div>
&copy; {new Date().getFullYear()}{" "}
<span>{t("companyName")}</span> |{" "}
<span>{t("companyNameEn")}</span>
</div>
<div>
<a href={t("domain1")} target="_blank" rel="noopener noreferrer">
{t("domain1")}
</a>{" "}
|{" "}
<a href={t("domain2")} target="_blank" rel="noopener noreferrer">
{t("domain2")}
</a>
</div>
<div>{t("icpNumber")}</div>
</footer>
</main>
);
{/* 底部版权信息 */}
<footer className="w-full text-center text-gray-300 text-sm mt-4">
<div>
&copy; {new Date().getFullYear()}{" "}
<span>{t("companyName")}</span> |{" "}
<span>{t("companyNameEn")}</span>
</div>
<div>
<a
href={t("domain1")}
target="_blank"
rel="noopener noreferrer"
>
{t("domain1")}
</a>{" "}
|{" "}
<a
href={t("domain2")}
target="_blank"
rel="noopener noreferrer"
>
{t("domain2")}
</a>
</div>
<div>{t("icpNumber")}</div>
</footer>
</main>
);
}

View File

@@ -27,41 +27,42 @@ export default function CreateTabs() {
name: t("aiTextVideoGenerator"),
value: "text",
component: <TextVideo />,
videoTemp: "/video/img-to-video/cn/demo_video.webm",
videoTemp:
"http://file.typeframes.com.cn/img-to-video/cn/demo_video.webm",
},
{
name: t("aiImageVideoGenerator"),
value: "image",
component: <ImageVideo />,
videoTemp: "/video/img-to-video/cn/demo_image.webm",
videoTemp:
"http://file.typeframes.com.cn/img-to-video/cn/demo_image.webm",
},
{
name: t("aiTiktokVideoGenerator"),
value: "tiktok",
component: <Tiktok />,
videoTemp:
"/video/create-tiktok-video/en/demo_video.webm",
"http://file.typeframes.com.cn/create-tiktok-video/en/demo_video.webm",
ImageTemp:
"/video/create-tiktok-video/en/demo_demo.webm",
"http://file.typeframes.com.cn/create-tiktok-video/en/demo_demo.webm",
},
{
name: t("aiTalkingAvatarVideoCreator"),
value: "avatar",
component: <Avatar />,
videoTemp:
"/video/create-Avatar-video/en/demo_video.webm",
"http://file.typeframes.com.cn/create-Avatar-video/en/demo_video.webm",
ImageTemp:
"/video/create-Avatar-video/en/demo_video.webm",
"http://file.typeframes.com.cn/create-Avatar-video/en/demo_video.webm",
},
{
name: t("aiMusicVideoGenerator"),
value: "music",
component: <Music />,
videoTemp:
"/video/music-to-video/cn/demo_video.webm",
"http://file.typeframes.com.cn/music-to-video/cn/demo_video.webm",
ImageTemp:
"/video/music-to-video/cn/demo_video.webm",
"http://file.typeframes.com.cn/music-to-video/cn/demo_video.webm",
},
];

View File

@@ -31,7 +31,7 @@ export default function PageExpect() {
loop
muted
autoPlay
src="./video/create-tiktok-video/en/demo_image.webm"
src="http://file.typeframes.com.cn/create-tiktok-video/en/demo_image.webm"
preload="auto"
></video>
</div>
@@ -42,7 +42,7 @@ export default function PageExpect() {
loop
muted
autoPlay
src="./video/\music-to-video/cn/demo_image.webm"
src="http://file.typeframes.com.cn/music-to-video/cn/demo_image.webm"
preload="auto"
></video>
</div>