Compare commits

..

No commits in common. "6335c1b60ffa122bd98eda8c689583ca722e2d0c" and "98936a89ee644365eae754a0efdc0dcec3c69c89" have entirely different histories.

13 changed files with 39 additions and 829 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,33 +1,40 @@
export default function Footer(props: { dict: Record<string, string> }) {
const { dict } = props; export default function Footer(props: {dict: Record<string, string>}) {
const { dict } = props
return ( return (
<footer> <footer>
<div className="flex items-start justify-between w-full px-[304px]"> <div className="flex items-start justify-between w-full px-[304px]">
<div className=" w-[166px] flex flex-col items-center mb-[15px]"> <div className=" w-[166px] flex flex-col items-center mb-[15px]">
<img className="mb-[16px]" src="https://www-soyootech.oss-cn-hangzhou.aliyuncs.com/public/home/qrcode.png" width={151} height={151} alt="" /> <img
<div className="text-[#888888] text-[15px] text-center">{dict.addWeChat}</div> className="mb-[16px]"
src="https://www-soyootech.oss-cn-hangzhou.aliyuncs.com/public/home/qrcode.png"
width={151}
height={151}
alt=""
/>
<div className="text-[#888888] text-[15px] text-center">{ dict.addWeChat }</div>
</div>
<div >
<div className="text-[#AFB2B9] text-[17px] font-medium mb-[45px]">{ dict.emailContact }</div>
<div className="text-[#333333] text-[15px] ">info@soyootech.com</div>
</div>
<div>
<div className="text-[#AFB2B9] text-[17px] font-medium mb-[45px]">{ dict.helpSupport }</div>
<div className="text-[#333333] text-[15px] mb-[23px]">{ dict.productCenter }</div>
<div className="text-[#333333] text-[15px] ">{ dict.productPricing }</div>
</div>
<div>
<div className="text-[#AFB2B9] text-[17px] font-medium mb-[45px]">{ dict.legalAgreements }</div>
<div className="text-[#333333] text-[15px] mb-[23px]">{ dict.privacyPolicy }</div>
<div className="text-[#333333] text-[15px] ">{ dict.userAgreement }</div>
</div>
</div> </div>
<div> <div className="text-[15px] text-[#888888] text-center">
<div className="text-[#AFB2B9] text-[17px] font-medium mb-[45px]">{dict.emailContact}</div> Copyright © 2020-2024 All Rights Reserved.
<div className="text-[#333333] text-[15px] ">info@soyootech.com</div>
</div> </div>
<div> <div className="text-[15px] text-[#888888] text-center mb-[20px]">
<div className="text-[#AFB2B9] text-[17px] font-medium mb-[45px]">{dict.helpSupport}</div> ICP20028159
<div className="text-[#333333] text-[15px] mb-[23px]">{dict.productCenter}</div>
<div className="text-[#333333] text-[15px] ">
<a href="/price" target="_blank">
{dict.productPricing}
</a>
</div>
</div> </div>
<div>
<div className="text-[#AFB2B9] text-[17px] font-medium mb-[45px]">{dict.legalAgreements}</div>
<div className="text-[#333333] text-[15px] mb-[23px]">{dict.privacyPolicy}</div>
<div className="text-[#333333] text-[15px] ">{dict.userAgreement}</div>
</div>
</div>
<div className="text-[15px] text-[#888888] text-center">Copyright © 2020-2024 All Rights Reserved.</div>
<div className="text-[15px] text-[#888888] text-center mb-[20px]">ICP20028159 </div>
</footer> </footer>
); )
} }

View File

@ -1,232 +0,0 @@
"use client";
import { useState } from "react";
import "./price.css";
const Page = () => {
// https://www-soyootech.oss-cn-hangzhou.aliyuncs.com/public/
const [tip, setTip] = useState("");
const [price] = useState({
mp4: `price/视频类型.html`,
_2d_5k: `/price/2d-5k.html`,
_2d_1w: `/price/2d-1w.html`,
_2d_2w: `/price/2d-2w.html`,
_3d_1w: `/price/3d-1w.html`,
_3d_1_5w: `/price/3d-1.5w.html`,
_3d_2w: `/price/3d-2w.html`,
});
const [previewInfo, setPreviewInfo] = useState({
url: "",
preview: false,
});
return (
<>
<div className="max-w-[1400px] mx-auto mt-4 priceBox">
<img
className="w-[180px]"
src="https://www-soyootech.oss-cn-hangzhou.aliyuncs.com/public/common/logo.png"
alt="logo"
onClick={() => {
window.location.href = window.location.origin;
}}
/>
<h2 className="text-gradient"></h2>
<div className="formmenu">
<div className="formmenus">
<ul>
<li className="header">/</li>
<li className="header"></li>
<li className="header"></li>
<li className="header"></li>
</ul>
<div className="bbbbbb">
<dl className="Rowheaders">
<dd className="Rowheader down"></dd>
<dd className="Rowheader down">2D</dd>
<dd className="Rowheader">3D</dd>
</dl>
<div className=" pricechoose">
<dl>
<dd className="price-item down">
3000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("用户需要提供视频原素材");
setPreviewInfo({
url: price["mp4"],
preview: true,
});
}}
/>
</dd>
<dd className="price-item down">
5000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("用户需要提供所有美术资源");
setPreviewInfo({
url: price["_2d_5k"],
preview: true,
});
}}
/>
</dd>
<dd className="price-item">
10000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("用户需要提供所有美术资源");
setPreviewInfo({
url: price["_3d_1w"],
preview: true,
});
}}
/>
</dd>
</dl>
<dl>
<dd className="price-item down">
3000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("用户需要提供视频原素材");
setPreviewInfo({
url: price["mp4"],
preview: true,
});
}}
/>
</dd>
<dd className="price-item down">
10000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("用户只需要提供游戏特征资源即可(如人物,logo等)");
setPreviewInfo({
url: price["_2d_1w"],
preview: true,
});
}}
/>
</dd>
<dd className="price-item">
15000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("用户只需要提供游戏特征资源即可(如人物,logo等)");
setPreviewInfo({
url: price["_3d_1_5w"],
preview: true,
});
}}
/>
</dd>
</dl>
<dl>
<dd className="price-item down">
3000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("用户需要提供视频原素材");
setPreviewInfo({
url: price["mp4"],
preview: true,
});
}}
/>
</dd>
<dd className="price-item down">
20000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("适用于定制化程度高的playable项目,用户只需要提供游戏特征资源即可(如logo,人物等)");
setPreviewInfo({
url: price["_2d_2w"],
preview: true,
});
}}
/>
</dd>
<dd className="price-item">
20000{" "}
<img
src="/home/send.png"
className="Sendicon"
alt=""
onClick={() => {
setTip("适用于定制化程度高的playable项目,用户只需要提供游戏特征资源即可(如logo,人物等)");
setPreviewInfo({
url: price["_3d_2w"],
preview: true,
});
}}
/>
</dd>
</dl>
</div>
</div>
</div>
<p className="annotation"></p>
</div>
</div>
{previewInfo.preview && (
<div
className="fixed left-0 right-0 top-0 bottom-0 bg-black/60 z-[2000]"
onClick={() => {
document.body.style.overflow = "auto";
setPreviewInfo({
preview: false,
url: "",
});
}}
>
<div
className="flex flex-col justify-center w-[370px] h-[680px] items-center fixed top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%] mx-auto border rounded-lg p-4 bg-white"
onClick={(e) => {
e.stopPropagation();
}}
>
<div className="text-left w-full mb-2 text-xl flex space-x-2">
<img className="w-8 h-8" src="https://www-soyootech.oss-cn-hangzhou.aliyuncs.com/public/home/tip.png" alt="" />
{tip}
</div>
<iframe src={previewInfo.url} className="flex-1 w-full overflow-hidden" scrolling="no" />
</div>
</div>
)}
</>
);
};
export default Page;

View File

@ -1,149 +0,0 @@
.priceBox {
width: 100%;
min-width: 500px;
max-width: 1440px;
margin: 0 auto;
background: hwb(0 100% 0%);
margin-top: 50px;
}
.priceBox .pricelogo {
margin: 26px 0px 40px 42px;
}
.priceBox .pricelogo img {
width: 238px;
height: 74px;
}
.priceBox h2 {
font-weight: 700;
font-size: 36px;
line-height: 37px;
text-align: center;
margin: 0 auto;
margin-bottom: 40px;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(to right, #ecf5ff, #0838b1);
-webkit-text-fill-color: transparent;
}
.priceBox .formmenu {
width: 900px;
border-radius: 30px;
background: #f1f6ff;
margin: 0 auto;
padding-top: 48px;
padding-bottom: 13px;
/* 标价为人民币 */
}
.priceBox .formmenu .formmenus {
width: 100%;
}
.priceBox .formmenu .formmenus ul {
display: flex;
justify-content: space-around;
margin-bottom: 24px;
}
.priceBox .formmenu .formmenus ul .header {
font-size: 20px;
font-weight: bold;
line-height: 34px;
color: #526ba8;
}
.priceBox .formmenu .formmenus .bbbbbb {
display: flex;
}
.priceBox .formmenu .formmenus .bbbbbb .Rowheaders {
width: 25%;
padding-top: 22px;
}
.priceBox .formmenu .formmenus .bbbbbb .Rowheaders .Rowheader {
font-size: 20px;
font-weight: bold;
line-height: 34px;
letter-spacing: 0em;
color: #3d3d3d;
text-align: center;
box-sizing: border-box;
}
.priceBox .formmenu .formmenus .bbbbbb .Rowheaders .down {
margin-bottom: 40px;
}
.priceBox .formmenu .formmenus .bbbbbb .pricechoose {
width: 72%;
display: flex;
background: #fff;
border-radius: 16px;
box-sizing: border-box;
overflow: hidden;
text-align: center;
padding-top: 22px;
}
.priceBox .formmenu .formmenus .bbbbbb .pricechoose dl {
width: 33.3%;
box-sizing: border-box;
}
.priceBox .formmenu .formmenus .bbbbbb .pricechoose dl dd:last-child {
margin: 28px;
}
.priceBox .formmenu .formmenus .bbbbbb .pricechoose .price-item {
font-size: 24px;
font-weight: normal;
line-height: 34px;
letter-spacing: 0em;
color: #3d3d3d;
background: #fff;
padding-left: 20%;
display: flex;
justify-content: center;
align-items: center;
}
.priceBox .formmenu .formmenus .bbbbbb .pricechoose .price-item .Sendicon {
color: #839cd8;
vertical-align: revert;
box-sizing: border-box;
padding-top: 1px;
width: 20px;
height: 20px;
margin-left: 10px;
cursor: pointer;
}
.priceBox .formmenu .formmenus .bbbbbb .pricechoose .price-item .Sendicon:hover {
color: #2169ff;
}
.priceBox .formmenu .formmenus .bbbbbb .pricechoose .down {
margin-bottom: 40px;
}
.priceBox .formmenu .annotation {
text-align: right;
font-size: 18px;
font-weight: normal;
line-height: 34px;
letter-spacing: 0em;
color: #999999;
width: 97%;
}
.priceBox .gameDialog {
border-radius: 20px;
}
.priceBox .gameDialog .gameDialogImgp {
display: flex;
margin-bottom: 8px;
}
.priceBox .gameDialog img {
width: 18.33px;
height: 18.33px;
vertical-align: middle;
}
.priceBox .gameDialog p {
font-size: 18px;
font-weight: normal;
line-height: 23px;
letter-spacing: 0em;
color: #3d3d3d;
vertical-align: middle;
}
.priceBox .iframesone {
height: 658px;
}
.priceBox .el-dialog__header {
padding: 0;
}

View File

@ -1,176 +0,0 @@
.priceBox {
width: 100%;
margin: 0 auto;
min-width: 500px;
max-width: 1440px;
margin: 0 auto;
background: hwb(0 100% 0%);
margin-top: 50px;
.pricelogo {
margin: 26px 0px 40px 42px;
img {
width: 238px;
height: 74px;
}
}
h2 {
font-weight: 700;
font-size: 36px;
line-height: 37px;
text-align: center;
margin: 0 auto;
margin-bottom: 40px;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(to right, #ecf5ff, #0838b1);
-webkit-text-fill-color: transparent;
}
.formmenu {
width: 900px;
border-radius: 30px;
background: #f1f6ff;
margin: 0 auto;
padding-top: 48px;
padding-bottom: 13px;
.formmenus {
width: 100%;
ul {
display: flex;
justify-content: space-around;
margin-bottom: 24px;
.header {
font-size: 20px;
font-weight: bold;
line-height: 34px;
color: #526ba8;
}
}
.bbbbbb {
display: flex;
.Rowheaders {
width: 25%;
padding-top: 22px;
.Rowheader {
font-size: 20px;
font-weight: bold;
line-height: 34px;
letter-spacing: 0em;
color: #3d3d3d;
text-align: center;
box-sizing: border-box;
}
.down {
margin-bottom: 40px;
}
}
.pricechoose {
width: 72%;
display: flex;
background: #fff;
border-radius: 16px;
box-sizing: border-box;
overflow: hidden;
text-align: center;
padding-top: 22px;
dl {
width: 33.3%;
box-sizing: border-box;
dd:last-child {
margin: 28px;
}
}
.price-item {
font-size: 24px;
font-weight: normal;
line-height: 34px;
letter-spacing: 0em;
color: #3d3d3d;
background: #fff;
padding-left: 20%;
display: flex;
justify-content: center;
align-items: center;
.Sendicon {
color: #839cd8;
vertical-align: revert;
box-sizing: border-box;
padding-top: 1px;
width: 20px;
height: 20px;
margin-left: 10px;
cursor: pointer;
}
.Sendicon:hover {
color: #2169ff;
}
}
.down {
margin-bottom: 40px;
}
}
}
}
/* 标价为人民币 */
.annotation {
text-align: right;
font-size: 18px;
font-weight: normal;
line-height: 34px;
letter-spacing: 0em;
color: #999999;
width: 97%;
}
}
.gameDialog {
border-radius: 20px;
// height: 698px;
.gameDialogImgp {
display: flex;
margin-bottom: 8px;
}
img {
width: 18.33px;
height: 18.33px;
vertical-align: middle;
}
p {
font-size: 18px;
font-weight: normal;
line-height: 23px;
letter-spacing: 0em;
color: #3d3d3d;
vertical-align: middle;
}
}
.iframesone {
height: 658px;
}
.el-dialog__header {
padding: 0;
}
}

View File

@ -1,8 +1,6 @@
const dictionaries = { const dictionaries = {
en: () => import('./en.json').then((module) => module.default), en: () => import('./en.json').then((module) => module.default),
zh: () => import('./zh.json').then((module) => module.default), zh: () => import('./zh.json').then((module) => module.default),
} as Record<string, () => Promise<Record<string, string>>>; } as Record<string, () => Promise<Record<string, string>>>;
export const getDictionary = async (locale: string) => { export const getDictionary = async (locale: string) => dictionaries[locale]();
return dictionaries[locale]()
};