改用cdn加载静态资源

This commit is contained in:
yezian 2024-06-15 00:56:04 +08:00
parent cb75cabb54
commit 2f16194b79
19 changed files with 268 additions and 62 deletions

View File

@ -94,7 +94,14 @@ export default function WechatBar({
onClick={() => setShowBuyWechat(!showBuyWechat)}
className="flex flex-row cursor-pointer bg-[#07050A] border-2 border-[#FFFFFF26] rounded-2xl h-12 items-center justify-center"
>
<img src="/cdn/images/platform_wechat.png" alt="" className="w-5 h-5" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/platform_wechat.png"
}
alt=""
className="w-5 h-5"
/>
<p className="text-white text-base font-medium ml-2">我的微信</p>
</div>
<div
@ -106,7 +113,14 @@ export default function WechatBar({
className="flex flex-row cursor-pointer items-center justify-center py-4"
onClick={() => document.getElementById("comfirm_modal").showModal()}
>
<img src="/cdn/icon/direct_purchase.png" alt="" className="w-5 h-5" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/icon/direct_purchase.png"
}
alt=""
className="w-5 h-5"
/>
<p className="text-white text-base font-medium ml-2">
直接解锁(¥{price})
</p>
@ -119,7 +133,13 @@ export default function WechatBar({
router.push("/");
}}
>
<img src="/cdn/icon/app_purchase.png" alt="" className="w-5 h-5" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/icon/app_purchase.png"
}
alt=""
className="w-5 h-5"
/>
<p className="text-white text-base font-medium ml-2">
APP内解锁(-10%)
</p>

View File

@ -83,7 +83,14 @@ export default function StreamerDetail({ params }) {
</div>
<div className="flex flex-row items-center mt-3">
<p className="text-white text-2xl font-medium mr-1">{data?.name}</p>
<img src="/cdn/icon/verification.png" alt="" className="w-6 h-6" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/icon/verification.png"
}
alt=""
className="w-6 h-6"
/>
</div>
<p className="text-secondary text-sm text-center font-medium mt-3 px-4">
{data?.bio}
@ -94,7 +101,11 @@ export default function StreamerDetail({ params }) {
href={`/zone/${data?.user_id}`}
className="flex flex-row cursor-pointer bg-[#07050A] border-2 border-[#FFFFFF26] rounded-2xl h-12 items-center justify-center mt-4"
>
<img src="/cdn/images/zone.png" alt="" className="w-5 h-5" />
<img
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/zone.png"}
alt=""
className="w-5 h-5"
/>
<p className="text-white text-base font-medium ml-2">
我的秘密空间
</p>
@ -125,7 +136,13 @@ export default function StreamerDetail({ params }) {
))}
</div>
<div className="flex flex-row items-center bg-[#13121F] fixed bottom-0 left-0 w-full rounded-t-2xl z-20 p-4">
<img src="/cdn/images/icon_border.png" alt="" className="w-12 h-12" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/icon_border.png"
}
alt=""
className="w-12 h-12"
/>
<div className="flex flex-col flex-1 ml-4">
<p className="text-white text-base font-medium">铁粉空间</p>
<p className="text-secondary text-sm font-medium">下载APP探索更多</p>

View File

@ -7,7 +7,11 @@ export default function LoginLayout({ children }) {
const pathname = usePathname();
return (
<section className="flex flex-1 flex-col items-center">
<img src="/cdn/images/slogan.png" alt="" className="mt-24 w-96" />
<img
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/slogan.png"}
alt=""
className="mt-24 w-96"
/>
<div className="flex mt-4 h-10 justify-center">
<div className="tabs tab-boxed w-72">
<Link

View File

@ -18,37 +18,49 @@ export default function IosHowToInstall() {
<p className="text-white text-base mt-2">1打开设置</p>
<img
className="w-80 self-center"
src="/cdn/images/iosinstall_1.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/iosinstall_1.png"
}
alt=""
/>
<p className="text-white text-base mt-2">2点击通用</p>
<img
className="w-80 self-center"
src="/cdn/images/iosinstall_2.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/iosinstall_2.png"
}
alt=""
/>
<p className="text-white text-base mt-2">3点击VPN与设备管理</p>
<img
className="w-80 self-center"
src="/cdn/images/iosinstall_3.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/iosinstall_3.png"
}
alt=""
/>
<p className="text-white text-base mt-2">4点击证书</p>
<img
className="w-80 self-center"
src="/cdn/images/iosinstall_4.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/iosinstall_4.png"
}
alt=""
/>
<p className="text-white text-base mt-2">5点击信任证书</p>
<img
className="w-80 self-center"
src="/cdn/images/iosinstall_5.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/iosinstall_5.png"
}
alt=""
/>
<p className="text-white text-base mt-2">6在弹出页点击信任</p>
<img
className="w-80 self-center"
src="/cdn/images/iosinstall_6.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/iosinstall_6.png"
}
alt=""
/>
<p className="text-white text-base mt-4">

View File

@ -72,32 +72,51 @@ export default function Download({ params }) {
<div className="absolute top-0 left-0 w-full h-full z-0">
<img
className="absolute top-0 left-0 w-36"
src="/cdn/images/download_lefttop.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_lefttop.png"
}
alt=""
/>
<img
className="absolute top-10 right-0 w-28"
src="/cdn/images/download_righttop.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_righttop.png"
}
alt=""
/>
<img
className="absolute top-64 right-0 w-24"
src="/cdn/images/download_rightmedium.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_rightmedium.png"
}
alt=""
/>
<img
className="absolute bottom-[17rem] left-0 w-32"
src="/cdn/images/download_leftbottom.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_leftbottom.png"
}
alt=""
/>
<img
className="absolute bottom-0 right-0 w-[21rem]"
src="/cdn/images/download_rightbottom.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_rightbottom.png"
}
alt=""
/>
</div>
<div className="flex flex-col flex-1 pt-16 pb-36 items-center justify-around z-10">
<img className="w-96" src="/cdn/images/slogan.png" alt="" />
<img
className="w-96"
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/slogan.png"}
alt=""
/>
{deviceType === "pc" && (
<div className="flex flex-row gap-20">
<a
@ -140,7 +159,7 @@ export default function Download({ params }) {
<div className="flex flex-col justify-center items-center">
<img
className="w-28 rounded-2xl"
src="/cdn/images/qrcode.png"
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/qrcode.png"}
alt=""
/>
{deviceType === "pc" && (

View File

@ -173,7 +173,10 @@ export default function GenerateLink({ params }) {
<div className="flex flex-row cursor-pointer bg-[#07050A] border-2 border-[#FFFFFF26] rounded-2xl h-12 items-center justify-center">
<div className="w-5 h-5">
<img
src="/cdn/images/platform_wechat.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/platform_wechat.png"
}
alt=""
className="w-full object-cover"
/>

View File

@ -4,7 +4,11 @@ export default function Help() {
return (
<section className="flex-1 container">
<div className="flex flex-col items-center justify-center p-4">
<img src="/cdn/images/logo.png" alt="" className="w-64 mt-12" />
<img
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/logo.png"}
alt=""
className="w-64 mt-12"
/>
<p className="text-white font-medium text-base text-center mt-4">
若对于产品存在任何疑问或需要技术支持请发送邮件到
</p>

View File

@ -6,7 +6,7 @@ export default function NotFound() {
<section className="flex flex-col container items-center">
<img
className="w-full max-w-2xl mt-24"
src="/cdn/svgs/illustatus.svg"
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/svgs/illustatus.svg"}
alt=""
/>
<p className="text-2xl text-white font-semibold">404 当前页面不存在</p>

View File

@ -24,32 +24,51 @@ export default function Home() {
<div className="absolute top-0 left-0 w-full h-full z-0">
<img
className="absolute top-0 left-0 w-36"
src="/cdn/images/download_lefttop.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_lefttop.png"
}
alt=""
/>
<img
className="absolute top-10 right-0 w-28"
src="/cdn/images/download_righttop.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_righttop.png"
}
alt=""
/>
<img
className="absolute top-64 right-0 w-24"
src="/cdn/images/download_rightmedium.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_rightmedium.png"
}
alt=""
/>
<img
className="absolute bottom-[17rem] left-0 w-32"
src="/cdn/images/download_leftbottom.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_leftbottom.png"
}
alt=""
/>
<img
className="absolute bottom-0 right-0 w-[21rem]"
src="/cdn/images/download_rightbottom.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/download_rightbottom.png"
}
alt=""
/>
</div>
<div className="flex flex-col flex-1 py-8 items-center justify-around z-10">
<img className="w-96" src="/cdn/images/slogan.png" alt="" />
<img
className="w-96"
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/slogan.png"}
alt=""
/>
<div className="flex px-8 max-w-xl">
<h1 className="text-white text-base leading-6">
<svg
@ -122,7 +141,7 @@ export default function Home() {
<div className="flex flex-col justify-center items-center">
<img
className="w-28 rounded-2xl"
src="/cdn/images/qrcode.png"
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/qrcode.png"}
alt=""
/>
{deviceType === "pc" && (

View File

@ -291,7 +291,10 @@ export default function Pay() {
>
<img
className="w-[22px]"
src="/cdn/images/alipay.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/alipay.png"
}
alt=""
/>
<p className="text-white text-base font-medium whitespace-nowrap">

View File

@ -65,7 +65,14 @@ export default function WechatBar({ price, streamerMid }) {
onClick={() => setShowBuyWechat(!showBuyWechat)}
className="flex flex-row cursor-pointer bg-[#07050A] border-2 border-[#FFFFFF26] rounded-2xl h-12 items-center justify-center"
>
<img src="/cdn/images/platform_wechat.png" alt="" className="w-5 h-5" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/platform_wechat.png"
}
alt=""
className="w-5 h-5"
/>
<p className="text-white text-base font-medium ml-2">我的微信</p>
</div>
<div
@ -77,7 +84,14 @@ export default function WechatBar({ price, streamerMid }) {
className="flex flex-row cursor-pointer items-center justify-center py-4"
onClick={() => document.getElementById("comfirm_modal").showModal()}
>
<img src="/cdn/icon/direct_purchase.png" alt="" className="w-5 h-5" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/icon/direct_purchase.png"
}
alt=""
className="w-5 h-5"
/>
<p className="text-white text-base font-medium ml-2">
直接解锁(¥{price})
</p>
@ -87,7 +101,13 @@ export default function WechatBar({ price, streamerMid }) {
className="flex flex-row cursor-pointer items-center justify-center py-4 mb-2"
onClick={() => router.push("/")}
>
<img src="/cdn/icon/app_purchase.png" alt="" className="w-5 h-5" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/icon/app_purchase.png"
}
alt=""
className="w-5 h-5"
/>
<p className="text-white text-base font-medium ml-2">
APP内解锁(-10%)
</p>

View File

@ -7,7 +7,6 @@ import { Toast } from "antd-mobile";
import InOtherApp from "@/components/InOtherApp";
import { generateSignature } from "@/utils/crypto";
import Image from "next/image";
import verification from "@/public/icon/verification.png";
export default function StreamerDetail({ params }) {
//
@ -82,7 +81,14 @@ export default function StreamerDetail({ params }) {
</div>
<div className="flex flex-row items-center mt-3">
<p className="text-white text-2xl font-medium mr-1">{data?.name}</p>
<img src="/cdn/icon/verification.png" alt="" className="w-6 h-6" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/icon/verification.png"
}
alt=""
className="w-6 h-6"
/>
</div>
<p className="text-secondary text-sm text-center font-medium mt-3 px-4">
{data?.bio}

View File

@ -148,7 +148,10 @@ export default function Verification() {
/>
<img
className="w-full h-full object-cover absolute top-0 left-0 bg-black/50"
src="/cdn/images/verification_water_mark.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/verification_water_mark.png"
}
alt=""
/>
</div>
@ -193,7 +196,10 @@ export default function Verification() {
/>
<img
className="w-full h-full object-cover absolute top-0 left-0 bg-black/50"
src="/cdn/images/verification_water_mark.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/verification_water_mark.png"
}
alt=""
/>
</div>
@ -247,7 +253,10 @@ export default function Verification() {
/>
<img
className="w-full h-full object-cover absolute top-0 left-0 bg-black/50"
src="/cdn/images/verification_water_mark.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/verification_water_mark.png"
}
alt=""
/>
</div>

View File

@ -152,21 +152,37 @@ export default function Vip() {
)}
<img
className="absolute top-0 left-0 z-0 w-full"
src="/cdn/images/vipbackground.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/vipbackground.png"
}
alt=""
/>
<div className="flex flex-col z-10">
<img className="pt-24" src="/cdn/images/viptitle.png" alt="" />
<img
className="pt-24"
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/viptitle.png"}
alt=""
/>
<div className="flex flex-col px-4 pb-32">
{isVip ? (
<div className="relative">
<img src="/cdn/images/isvip.png" alt="" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/isvip.png"
}
alt=""
/>
<p className="absolute bottom-5 left-5 text-[#521824B2] text-sm font-medium">
{name}
</p>
</div>
) : (
<img src="/cdn/images/notvip.png" alt="" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/notvip.png"
}
alt=""
/>
)}
<div
className="flex flex-col p-4 rounded-2xl mt-4"
@ -180,28 +196,56 @@ export default function Vip() {
<p className="text-[#F5C4CC] text-2xl font-bold">会员权益</p>
<div className="flex flex-row flex-wrap gap-y-3.5 mt-4">
<div className="flex flex-row items-center basis-1/2">
<img className="w-11" src="/cdn/images/vipright1.png" alt="" />
<img
className="w-11"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/vipright1.png"
}
alt=""
/>
<div className="flex flex-col ml-1.5">
<p className="text-[#F5C4CC] text-sm">高清图片</p>
<p className="text-[#613F46] text-xs">下载保存</p>
</div>
</div>
<div className="flex flex-row items-center basis-1/2">
<img className="w-11" src="/cdn/images/vipright2.png" alt="" />
<img
className="w-11"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/vipright2.png"
}
alt=""
/>
<div className="flex flex-col ml-1.5">
<p className="text-[#F5C4CC] text-sm">身份标签</p>
<p className="text-[#613F46] text-xs">专属标识</p>
</div>
</div>
<div className="flex flex-row items-center basis-1/2">
<img className="w-11" src="/cdn/images/vipright3.png" alt="" />
<img
className="w-11"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/vipright3.png"
}
alt=""
/>
<div className="flex flex-col ml-1.5">
<p className="text-[#F5C4CC] text-sm">专属客服</p>
<p className="text-[#613F46] text-xs">极速服务</p>
</div>
</div>
<div className="flex flex-row items-center basis-1/2">
<img className="w-11" src="/cdn/images/vipright4.png" alt="" />
<img
className="w-11"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/vipright4.png"
}
alt=""
/>
<div className="flex flex-col ml-1.5">
<p className="text-[#F5C4CC] text-sm">期待更多</p>
<p className="text-[#613F46] text-xs">惊喜福利</p>
@ -249,7 +293,10 @@ export default function Vip() {
>
<img
className="w-[22px]"
src="/cdn/images/alipay.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/alipay.png"
}
alt=""
/>
<p className="text-white text-base font-medium whitespace-nowrap">

View File

@ -68,7 +68,14 @@ export default function Weibo({ params }) {
</div>
<div className="flex flex-row items-center mt-3">
<p className="text-white text-2xl font-medium mr-1">{data?.name}</p>
<img src="/cdn/icon/verification.png" alt="" className="w-6 h-6" />
<img
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/icon/verification.png"
}
alt=""
className="w-6 h-6"
/>
</div>
<Link className="p-2" href="/" onClick={copyInviter}>
<p className="btn w-48 bg-gradient-to-r from-[#FF668B] to-[#FF66F0] rounded-full text-white font-medium">

View File

@ -78,7 +78,11 @@ export default function Zone({ params }) {
</p>
<div className="flex flex-row">
<div className="flex flex-row items-center py-0.5 px-2 mr-2 bg-[#FFFFFF1A] rounded-full">
<img src="/cdn/images/ID.png" alt="" className="w-4" />
<img
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/ID.png"}
alt=""
className="w-4"
/>
<p className="text-white text-xs font-medium ml-0.5">
{data?.streamer_ext?.user_id}
</p>
@ -107,7 +111,9 @@ export default function Zone({ params }) {
<div className="relative">
<p className="text-lg text-white font-medium">空间介绍</p>
<img
src="/cdn/images/pinkline.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/pinkline.png"
}
alt=""
className="absolute w-9 bottom-0 -right-2"
/>
@ -142,7 +148,11 @@ export default function Zone({ params }) {
document.getElementById("comfirm_modal").showModal();
}}
>
<img src="/cdn/images/tiefen.png" alt="" className="w-5" />
<img
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/tiefen.png"}
alt=""
className="w-5"
/>
<p className="text-white text-sm font-meidum">查看更多内容</p>
</div>
<div
@ -152,7 +162,11 @@ export default function Zone({ params }) {
document.getElementById("comfirm_modal").showModal();
}}
>
<img src="/cdn/images/wechat.png" alt="" className="w-5" />
<img
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/wechat.png"}
alt=""
className="w-5"
/>
<p className="text-white text-sm font-meidum">解锁Ta的微信</p>
</div>
</div>
@ -172,7 +186,9 @@ export default function Zone({ params }) {
<div className="relative">
<p className="text-lg text-white font-medium">加入须知</p>
<img
src="/cdn/images/pinkline.png"
src={
process.env.NEXT_PUBLIC_CDN_URL + "/public/images/pinkline.png"
}
alt=""
className="absolute w-9 bottom-0 -right-2"
/>

View File

@ -317,7 +317,10 @@ export default function Pay({ params }) {
>
<img
className="w-[22px]"
src="/cdn/images/alipay.png"
src={
process.env.NEXT_PUBLIC_CDN_URL +
"/public/images/alipay.png"
}
alt=""
/>
<p className="text-white text-base font-medium whitespace-nowrap">

View File

@ -1,8 +1,6 @@
"use client";
import React, { useState, useEffect } from "react";
import Image from "next/image";
import arrow from "@/public/images/arrow.png";
export default function InOtherApp() {
////qq//
@ -28,7 +26,10 @@ export default function InOtherApp() {
return (
<div className="fixed top-0 left-0 w-full h-full bg-[#000000B2] z-50">
<div className="flex justify-end pt-4 pr-4">
<img src="/cdn/images/arrow.png" alt="" />
<img
src={process.env.NEXT_PUBLIC_CDN_URL + "/public/images/arrow.png"}
alt=""
/>
</div>
<p className="text-white text-2xl font-medium text-center">
请前往浏览器打开

View File

@ -10,10 +10,6 @@ const nextConfig = {
source: "/cors/:path*",
destination: "https://file.tiefen.fun/:path*",
},
{
source: "/cdn/:path*",
destination: "https://filecdnhw01.tiefen.fun/public/:path*",
},
];
},
transpilePackages: ["crypto-js"],