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) {
从多元网络源精准捕获数据,为洞察市场、优化策略筑牢根基借前沿技术 高效抓取海量信息,解锁数据价值、赋能业务增长新征程
-
+
广泛的数据样本
-
+
实现高频次抓取
-
+
保护隐私安全
@@ -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) {
-
+
关注我们查看更多资讯
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 */}
-
-
+
+
+
安全,稳定,快速,合规的代理服务器
遍布全国的代理服务器节点为用户提供智能可靠的IP代理服务
-
+
全国200+城市节点
-
+
300+城市级精准定位
-
+
低延迟&高并发提取
@@ -77,7 +96,8 @@ export default function Home() {
99%
-
+
+
{/* 优势 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() {
-
+
-
+
@@ -142,7 +162,7 @@ export default function Home() {
-
+
-
+
我是标题
@@ -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(' ')}>
-
+
{props.title}
{props.terms.map((item, index) => {
return (
-
+
{item.text}
)
@@ -222,13 +242,13 @@ function Sec3Item(props: {
}
function Sec4Item(props: {
- icon: string
+ icon: StaticImageData
title: string
description: string
}) {
return (
-
+
{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'