diff --git a/next.config.ts b/next.config.ts index 76d4170..a623350 100644 --- a/next.config.ts +++ b/next.config.ts @@ -9,6 +9,9 @@ export default createMDX({ })({ output: 'standalone', pageExtensions: ['js', 'jsx', 'mdx', 'ts', 'tsx'], + allowedDevOrigins: [ + '192.168.3.42', + ], experimental: { mdxRs: { mdxType: 'gfm', diff --git a/public/collect/warn.svg b/public/collect/warn.svg deleted file mode 100644 index bfd4e3e..0000000 --- a/public/collect/warn.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/public/earth.webp b/public/earth.webp deleted file mode 100644 index acec4fa..0000000 Binary files a/public/earth.webp and /dev/null differ diff --git a/public/logo.svg b/public/logo.svg deleted file mode 100644 index e615444..0000000 --- a/public/logo.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/public/banner.webp b/src/app/(home)/_assets/banner.webp similarity index 100% rename from public/banner.webp rename to src/app/(home)/_assets/banner.webp diff --git a/public/map.webp b/src/app/(home)/_assets/map.webp similarity index 100% rename from public/map.webp rename to src/app/(home)/_assets/map.webp diff --git a/public/next.svg b/src/app/(home)/_assets/next.svg similarity index 100% rename from public/next.svg rename to src/app/(home)/_assets/next.svg diff --git a/public/s1-1.webp b/src/app/(home)/_assets/s1-1.webp similarity index 100% rename from public/s1-1.webp rename to src/app/(home)/_assets/s1-1.webp diff --git a/public/s1-2.webp b/src/app/(home)/_assets/s1-2.webp similarity index 100% rename from public/s1-2.webp rename to src/app/(home)/_assets/s1-2.webp diff --git a/public/s1-3.webp b/src/app/(home)/_assets/s1-3.webp similarity index 100% rename from public/s1-3.webp rename to src/app/(home)/_assets/s1-3.webp diff --git a/public/s1-4.webp b/src/app/(home)/_assets/s1-4.webp similarity index 100% rename from public/s1-4.webp rename to src/app/(home)/_assets/s1-4.webp diff --git a/public/s1-check.svg b/src/app/(home)/_assets/s1-check.svg similarity index 100% rename from public/s1-check.svg rename to src/app/(home)/_assets/s1-check.svg diff --git a/public/s3-main.webp b/src/app/(home)/_assets/s3-main.webp similarity index 100% rename from public/s3-main.webp rename to src/app/(home)/_assets/s3-main.webp diff --git a/public/s4-1-1.webp b/src/app/(home)/_assets/s4-1-1.webp similarity index 100% rename from public/s4-1-1.webp rename to src/app/(home)/_assets/s4-1-1.webp diff --git a/public/s4-1-2.webp b/src/app/(home)/_assets/s4-1-2.webp similarity index 100% rename from public/s4-1-2.webp rename to src/app/(home)/_assets/s4-1-2.webp diff --git a/public/s4-1-3.webp b/src/app/(home)/_assets/s4-1-3.webp similarity index 100% rename from public/s4-1-3.webp rename to src/app/(home)/_assets/s4-1-3.webp diff --git a/public/s4-1-main.webp b/src/app/(home)/_assets/s4-1-main.webp similarity index 100% rename from public/s4-1-main.webp rename to src/app/(home)/_assets/s4-1-main.webp diff --git a/public/s4-2-1.webp b/src/app/(home)/_assets/s4-2-1.webp similarity index 100% rename from public/s4-2-1.webp rename to src/app/(home)/_assets/s4-2-1.webp diff --git a/public/s4-2-2.webp b/src/app/(home)/_assets/s4-2-2.webp similarity index 100% rename from public/s4-2-2.webp rename to src/app/(home)/_assets/s4-2-2.webp diff --git a/public/s4-2-3.webp b/src/app/(home)/_assets/s4-2-3.webp similarity index 100% rename from public/s4-2-3.webp rename to src/app/(home)/_assets/s4-2-3.webp diff --git a/public/s4-2-main.webp b/src/app/(home)/_assets/s4-2-main.webp similarity index 100% rename from public/s4-2-main.webp rename to src/app/(home)/_assets/s4-2-main.webp diff --git a/src/app/(home)/customized/page.tsx b/src/app/(home)/customized/page.tsx index 1ef7454..90bf3ee 100644 --- a/src/app/(home)/customized/page.tsx +++ b/src/app/(home)/customized/page.tsx @@ -9,7 +9,7 @@ import {useForm} from 'react-hook-form' import {z} from 'zod' import {zodResolver} from '@hookform/resolvers/zod' import Image from 'next/image' -import check from './_assets/check.svg' +import check from '@/assets/check-accent.svg' import banner from './_assets/Mask-group.webp' import group from './_assets/Group.webp' import {merge} from '@/lib/utils' diff --git a/src/app/(home)/data-capture/page.tsx b/src/app/(home)/data-capture/page.tsx index 14190b5..7094aee 100644 --- a/src/app/(home)/data-capture/page.tsx +++ b/src/app/(home)/data-capture/page.tsx @@ -3,7 +3,6 @@ import BreadCrumb from '@/components/bread-crumb' import Wrap from '@/components/wrap' import {ReactNode} from 'react' import Image from 'next/image' -import React, {useState} from 'react' import {useRouter} from 'next/navigation' import s1 from './_assets/1.webp' import s2 from './_assets/2.webp' @@ -17,7 +16,8 @@ import s9 from './_assets/9.webp' import s10 from './_assets/10.webp' import s11 from './_assets/11.webp' import s12 from './_assets/12.webp' -import check from '../customized/_assets/check.svg' +import check_main from '@/assets/check-main.svg' +import check_accent from '@/assets/check-accent.svg' import {Button} from '@/components/ui/button' import {merge} from '@/lib/utils' export type CollectPageProps = {} @@ -40,15 +40,15 @@ export default function CollectPage(props: CollectPageProps) {

从多元网络源精准捕获数据,为洞察市场、优化策略筑牢根基借前沿技术 高效抓取海量信息,解锁数据价值、赋能业务增长新征程

- checkbox + checkbox 广泛的数据样本

- checkbox + checkbox 实现高频次抓取

- checkbox + checkbox 保护隐私安全

@@ -242,27 +242,27 @@ export default function CollectPage(props: CollectPageProps) {
- 特性 + 特性 IP时效3-30分钟(可定制)
- 特性 + 特性 IP覆盖全国各地
- 特性 + 特性 稳定长输不掉线
- 特性 + 特性 支持高并发提取
- 特性 + 特性 平均响应时长:0.03s
- 特性 + 特性 全国热门静态IP线路
diff --git a/src/app/(home)/footer.tsx b/src/app/(home)/footer.tsx index 1df854a..3a35d36 100644 --- a/src/app/(home)/footer.tsx +++ b/src/app/(home)/footer.tsx @@ -1,4 +1,5 @@ import Wrap from '@/components/wrap' +import Image from 'next/image' export type FooterProps = {} @@ -8,7 +9,7 @@ export default function Footer(props: FooterProps) {
- logo + logo 关注我们查看更多资讯
diff --git a/src/app/(home)/page.tsx b/src/app/(home)/page.tsx index f7949e5..556ef20 100644 --- a/src/app/(home)/page.tsx +++ b/src/app/(home)/page.tsx @@ -1,10 +1,28 @@ 'use client' import {ReactNode} from 'react' import Wrap from '@/components/wrap' -import Image from 'next/image' +import Image, {StaticImageData} from 'next/image' import React from 'react' import {useRouter} from 'next/navigation' import {useProfileStore} from '@/components/stores-provider' +import check_main from '@/assets/check-main.svg' +import banner from './_assets/banner.webp' +import map from './_assets/map.webp' +import next from './_assets/next.svg' +import s1_1 from './_assets/s1-1.webp' +import s1_2 from './_assets/s1-2.webp' +import s1_3 from './_assets/s1-3.webp' +import s1_4 from './_assets/s1-4.webp' +import s1_check from './_assets/s1-check.svg' +import s3_main from './_assets/s3-main.webp' +import s4_1_main from './_assets/s4-1-main.webp' +import s4_2_main from './_assets/s4-2-main.webp' +import s4_1_1 from './_assets/s4-1-1.webp' +import s4_1_2 from './_assets/s4-1-2.webp' +import s4_1_3 from './_assets/s4-1-3.webp' +import s4_2_1 from './_assets/s4-2-1.webp' +import s4_2_2 from './_assets/s4-2-2.webp' +import s4_2_3 from './_assets/s4-2-3.webp' export default function Home() { const router = useRouter() @@ -15,22 +33,23 @@ export default function Home() {
{/* banner */} -
- +
+ banner +

安全,稳定,快速,合规的代理服务器

遍布全国的代理服务器节点为用户提供智能可靠的IP代理服务

- checkbox + checkbox 全国200+城市节点

- checkbox + checkbox 300+城市级精准定位

- checkbox + checkbox 低延迟&高并发提取

@@ -77,7 +96,8 @@ export default function Home() {

99%

- map + map +
{/* 优势 1 */} @@ -87,32 +107,32 @@ export default function Home() { `grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8`, ].join(' ')}>
@@ -121,19 +141,19 @@ export default function Home() {
    - - - + + +
- s2-1-main + s2-1-main
- s2-1-main + s2-1-main
    - - - + + +
@@ -142,7 +162,7 @@ export default function Home() {
- tumb + tumb

我是标题 @@ -162,14 +182,14 @@ export default function Home() {

@@ -192,10 +212,10 @@ function Section(props: { } function Sec3Item(props: { - icon: string + icon: StaticImageData title: string terms: { - icon: string + icon: StaticImageData text: string }[] }) { @@ -205,13 +225,13 @@ function Sec3Item(props: { `p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg`, `max-md:items-center`, ].join(' ')}> - s1-1 + s1-1

{props.title}

{props.terms.map((item, index) => { return (

- check + check {item.text}

) @@ -222,13 +242,13 @@ function Sec3Item(props: { } function Sec4Item(props: { - icon: string + icon: StaticImageData title: string description: string }) { return (
  • - s2-1-1 + s2-1-1

    {props.title}

    {props.description}

    diff --git a/src/app/NotoSansSC-VariableFont_wght.ttf b/src/app/NotoSansSC-VariableFont_wght.ttf deleted file mode 100644 index 4e0c62e..0000000 Binary files a/src/app/NotoSansSC-VariableFont_wght.ttf and /dev/null differ diff --git a/src/app/admin/(dashboard)/_client/charts.tsx b/src/app/admin/(dashboard)/_client/charts.tsx index 024cbb4..858b156 100644 --- a/src/app/admin/(dashboard)/_client/charts.tsx +++ b/src/app/admin/(dashboard)/_client/charts.tsx @@ -15,7 +15,7 @@ import {useState} from 'react' import {statisticsResourceUsage} from '@/actions/dashboard' import {ExtraResp} from '@/lib/api' import {toast} from 'sonner' -import {addDays, compareAsc, format, subDays} from 'date-fns' +import {compareAsc, format, subDays} from 'date-fns' import {Label} from '@/components/ui/label' import {ChartConfig, ChartContainer} from '@/components/ui/chart' import {CartesianGrid, XAxis, YAxis, Tooltip, Area, AreaChart, Legend} from 'recharts' diff --git a/src/app/layout.tsx b/src/app/layout.tsx index ed66c46..95ba135 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,15 +2,9 @@ import {ReactNode} from 'react' import {Metadata} from 'next' import './globals.css' -import localFont from 'next/font/local' import {Toaster} from '@/components/ui/sonner' import StoresProvider from '@/components/stores-provider' import Effects from '@/app/effects' -import {getProfile} from '@/actions/auth' - -const font = localFont({ - src: './NotoSansSC-VariableFont_wght.ttf', -}) export async function generateMetadata(): Promise { return { @@ -25,7 +19,7 @@ export default async function RootLayout({ }>) { return ( - + {children} diff --git a/src/app/(home)/customized/_assets/check.svg b/src/assets/check-accent.svg similarity index 100% rename from src/app/(home)/customized/_assets/check.svg rename to src/assets/check-accent.svg diff --git a/public/check.svg b/src/assets/check-main.svg similarity index 100% rename from public/check.svg rename to src/assets/check-main.svg diff --git a/src/components/composites/purchase/long/center.tsx b/src/components/composites/purchase/long/center.tsx index 898788b..2c5caaa 100644 --- a/src/components/composites/purchase/long/center.tsx +++ b/src/components/composites/purchase/long/center.tsx @@ -6,11 +6,10 @@ import {Button} from '@/components/ui/button' import {Minus, Plus} from 'lucide-react' import FormOption from '@/components/composites/purchase/option' import Image from 'next/image' -import check from '@/components/composites/purchase/_assets/check.svg' +import check from '../_assets/check.svg' import {Schema} from '@/components/composites/purchase/long/form' import {useFormContext} from 'react-hook-form' import {Card} from '@/components/ui/card' -import {min} from 'date-fns' export default function Center() { const form = useFormContext() diff --git a/src/components/composites/purchase/long/right.tsx b/src/components/composites/purchase/long/right.tsx index 25a3f9f..16c26dc 100644 --- a/src/components/composites/purchase/long/right.tsx +++ b/src/components/composites/purchase/long/right.tsx @@ -5,9 +5,9 @@ import {RadioGroup} from '@/components/ui/radio-group' import {FormField} from '@/components/ui/form' import FormOption from '@/components/composites/purchase/option' import Image from 'next/image' -import alipay from '@/components/composites/purchase/_assets/alipay.svg' -import wechat from '@/components/composites/purchase/_assets/wechat.svg' -import balance from '@/components/composites/purchase/_assets/balance.svg' +import alipay from '../_assets/alipay.svg' +import wechat from '../_assets/wechat.svg' +import balance from '../_assets/balance.svg' import {useProfileStore} from '@/components/stores-provider' import RechargeModal from '@/components/composites/recharge' import Pay from '@/components/composites/purchase/pay' diff --git a/src/components/composites/purchase/short/center.tsx b/src/components/composites/purchase/short/center.tsx index 4b5874a..590ab72 100644 --- a/src/components/composites/purchase/short/center.tsx +++ b/src/components/composites/purchase/short/center.tsx @@ -6,7 +6,7 @@ import {Button} from '@/components/ui/button' import {Minus, Plus} from 'lucide-react' import FormOption from '@/components/composites/purchase/option' import Image from 'next/image' -import check from '@/components/composites/purchase/_assets/check.svg' +import check from '../_assets/check.svg' import {useFormContext} from 'react-hook-form' import {Schema} from '@/components/composites/purchase/short/form' import {Card} from '@/components/ui/card' diff --git a/src/components/composites/purchase/short/right.tsx b/src/components/composites/purchase/short/right.tsx index 6832482..2026a23 100644 --- a/src/components/composites/purchase/short/right.tsx +++ b/src/components/composites/purchase/short/right.tsx @@ -5,9 +5,9 @@ import {RadioGroup} from '@/components/ui/radio-group' import {FormField} from '@/components/ui/form' import FormOption from '@/components/composites/purchase/option' import Image from 'next/image' -import alipay from '@/components/composites/purchase/_assets/alipay.svg' -import wechat from '@/components/composites/purchase/_assets/wechat.svg' -import balance from '@/components/composites/purchase/_assets/balance.svg' +import alipay from '../_assets/alipay.svg' +import wechat from '../_assets/wechat.svg' +import balance from '../_assets/balance.svg' import {useProfileStore} from '@/components/stores-provider' import RechargeModal from '@/components/composites/recharge' import {buttonVariants} from '@/components/ui/button'