diff --git a/src/app/(home)/@footer/page.tsx b/src/app/(home)/@footer/page.tsx index c65ae8d..9d4eafc 100644 --- a/src/app/(home)/@footer/page.tsx +++ b/src/app/(home)/@footer/page.tsx @@ -63,7 +63,7 @@ export default function Footer(props: FooterProps) { diff --git a/src/app/(home)/@header/menu-solution.tsx b/src/app/(home)/@header/menu-solution.tsx index fc13960..b2a83ad 100644 --- a/src/app/(home)/@header/menu-solution.tsx +++ b/src/app/(home)/@header/menu-solution.tsx @@ -9,49 +9,58 @@ import s07 from '@/assets/header/solution/07.svg' import s08 from '@/assets/header/solution/08.svg' import {StaticImageData} from 'next/image' import {FragmentTitle} from '@/app/(home)/@header/common' +import Link from 'next/link' export default function SolutionMenu() { return ( - + ) @@ -61,9 +70,11 @@ function SolutionItem(props: { icon: StaticImageData title: string desc: string + href: string }) { return ( -

{props.desc}

-
+ ) } diff --git a/src/app/(home)/customized/_assets/Group.svg b/src/app/(home)/customized/_assets/Group.svg new file mode 100644 index 0000000..6d4a154 --- /dev/null +++ b/src/app/(home)/customized/_assets/Group.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/app/(home)/customized/_assets/Mask-group.webp b/src/app/(home)/customized/_assets/Mask-group.webp new file mode 100644 index 0000000..fa3b7f0 Binary files /dev/null and b/src/app/(home)/customized/_assets/Mask-group.webp differ diff --git a/src/app/(home)/customized/_assets/check.svg b/src/app/(home)/customized/_assets/check.svg new file mode 100644 index 0000000..1adedc9 --- /dev/null +++ b/src/app/(home)/customized/_assets/check.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/app/(home)/customized/page.tsx b/src/app/(home)/customized/page.tsx new file mode 100644 index 0000000..cd955ae --- /dev/null +++ b/src/app/(home)/customized/page.tsx @@ -0,0 +1,226 @@ +'use client' +import BreadCrumb from '@/components/bread-crumb' +import Wrap from '@/components/wrap' +import {Form, FormField} from '@/components/ui/form' +import {Input} from '@/components/ui/input' +import {Button} from '@/components/ui/button' +import {Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from '@/components/ui/select' +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 banner from './_assets/Mask-group.webp' +import group from './_assets/Group.svg' + +const formSchema = z.object({ + companyName: z.string().min(2, '企业名称至少2个字符'), + contactName: z.string().min(2, '联系人姓名至少2个字符'), + phone: z.string().min(11, '请输入11位手机号码').max(11, '手机号码长度不正确'), + monthlyUsage: z.string().min(1, '请选择每月需求量'), + purpose: z.string().min(1, '输入用途'), +}) + +type FormValues = z.infer + +export default function CollectPage() { + const form = useForm({ + resolver: zodResolver(formSchema), + defaultValues: { + companyName: '', + contactName: '', + phone: '', + monthlyUsage: '', + purpose: '', + }, + }) + + return ( +
+ + + +
+
+
+

优质代理IP服务商

+

+ 以技术升级为核心,提供优质的IP代理使用体验 +

+
+ +
+
+
+ 宣传图 +
+
+
+

+ 华连科技公司专注代理IP领域,多年来凭借专业技术与不懈努力,在行业内树立起良好口碑,为众多客户解决网络访问难题。公司拥有海量优质IP资源,涵盖全球多地,能精准匹配不同客户需求,无论是数据采集、网络营销还是突破地域限制,都能提供合适方案。凭借智能分配系统与严密安全防护,确保代理IP稳定、高效、安全运行,让用户使用过程顺畅无忧,数据安全有保障。秉持以客户为中心理念,配备专业客服与技术团队,提供7×24小时服务,助力企业与个人在网络世界畅行无阻,不断开拓业务新边界。 +

+
+ +
+
+
+ 特性 + IP时效3-30分钟(可定制) +
+
+ 特性 + IP时效3-30分钟(可定制) +
+
+ 特性 + IP时效3-30分钟(可定制) +
+
+ 特性 + 支持高并发提取 +
+
+ 特性 + 支持高并发提取 +
+
+ 特性 + 支持高并发提取 +
+
+
+
+
+ +
+

企业基本信息

+
+
+
+
+ + {({id, field}) => ( +
+ + +
+ )} +
+ + {({id, field}) => ( +
+ + +
+ )} +
+ + {({id, field}) => ( +
+ + +
+ )} +
+ + {({id, field}) => ( +
+ + +
+ )} +
+ + {({id, field}) => ( +
+ + +
+ )} +
+
+ +
+
+
+
+
+
+ 免费领取背景 +
+
+
+ +
+
+
+
+
+
+ ) +} diff --git a/src/app/(home)/data-capture/_assets/1.webp b/src/app/(home)/data-capture/_assets/1.webp new file mode 100644 index 0000000..db2ef9a Binary files /dev/null and b/src/app/(home)/data-capture/_assets/1.webp differ diff --git a/src/app/(home)/data-capture/_assets/10.webp b/src/app/(home)/data-capture/_assets/10.webp new file mode 100644 index 0000000..5ece87d Binary files /dev/null and b/src/app/(home)/data-capture/_assets/10.webp differ diff --git a/src/app/(home)/data-capture/_assets/11.webp b/src/app/(home)/data-capture/_assets/11.webp new file mode 100644 index 0000000..596dbe9 Binary files /dev/null and b/src/app/(home)/data-capture/_assets/11.webp differ diff --git a/src/app/(home)/data-capture/_assets/12.webp b/src/app/(home)/data-capture/_assets/12.webp new file mode 100644 index 0000000..12038cc Binary files /dev/null and b/src/app/(home)/data-capture/_assets/12.webp differ diff --git a/src/app/(home)/data-capture/_assets/2.webp b/src/app/(home)/data-capture/_assets/2.webp new file mode 100644 index 0000000..1ff9b91 Binary files /dev/null and b/src/app/(home)/data-capture/_assets/2.webp differ diff --git a/src/app/(home)/data-capture/_assets/3.webp b/src/app/(home)/data-capture/_assets/3.webp new file mode 100644 index 0000000..6fd233b Binary files /dev/null and b/src/app/(home)/data-capture/_assets/3.webp differ diff --git a/src/app/(home)/data-capture/_assets/4.webp b/src/app/(home)/data-capture/_assets/4.webp new file mode 100644 index 0000000..2b3af5a Binary files /dev/null and b/src/app/(home)/data-capture/_assets/4.webp differ diff --git a/src/app/(home)/data-capture/_assets/5.webp b/src/app/(home)/data-capture/_assets/5.webp new file mode 100644 index 0000000..47e4547 Binary files /dev/null and b/src/app/(home)/data-capture/_assets/5.webp differ diff --git a/src/app/(home)/data-capture/_assets/6.webp b/src/app/(home)/data-capture/_assets/6.webp new file mode 100644 index 0000000..fe228bf Binary files /dev/null and b/src/app/(home)/data-capture/_assets/6.webp differ diff --git a/src/app/(home)/data-capture/_assets/7.webp b/src/app/(home)/data-capture/_assets/7.webp new file mode 100644 index 0000000..2197c58 Binary files /dev/null and b/src/app/(home)/data-capture/_assets/7.webp differ diff --git a/src/app/(home)/data-capture/_assets/8.webp b/src/app/(home)/data-capture/_assets/8.webp new file mode 100644 index 0000000..de44fcb Binary files /dev/null and b/src/app/(home)/data-capture/_assets/8.webp differ diff --git a/src/app/(home)/data-capture/_assets/9.webp b/src/app/(home)/data-capture/_assets/9.webp new file mode 100644 index 0000000..7e0e187 Binary files /dev/null and b/src/app/(home)/data-capture/_assets/9.webp differ diff --git a/src/app/(home)/data-capture/page.tsx b/src/app/(home)/data-capture/page.tsx new file mode 100644 index 0000000..a882936 --- /dev/null +++ b/src/app/(home)/data-capture/page.tsx @@ -0,0 +1,293 @@ +'use client' +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' +import s3 from './_assets/3.webp' +import s4 from './_assets/4.webp' +import s5 from './_assets/5.webp' +import s6 from './_assets/6.webp' +import s7 from './_assets/7.webp' +import s8 from './_assets/8.webp' +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 {Button} from '@/components/ui/button' +import {merge} from '@/lib/utils' +export type CollectPageProps = {} + +export default function CollectPage(props: CollectPageProps) { + const router = useRouter() + return ( +
+ + +
+ {/* banner */} +
+ + 背景图 +
+

数据抓取

+

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

+
+

+ checkbox + 广泛的数据样本 +

+

+ checkbox + 实现高频次抓取 +

+

+ checkbox + 保护隐私安全 +

+
+ + +
+
+
+ + {/* 数据展示 */} +
+
    +
  • + 全方位的数据样本 +

    全方位的数据样本

    +

    + 通过在全国范围内进行多地域验证,品牌能 够覆盖更广泛的用户场景,从而实现产品与 目标受众的精准匹配,提升广告效果 +

    +
  • +
  • + 达成提高抓取频次的目的 +

    达成提高抓取频次的目的

    +

    + 我们提供实时监控广告所处网页环境的质 量,确保广告投放的透明性和合法性,有 效提升转化率与用户互动,为品牌建立良 好的信誉 +

    +
  • +
  • + 维护隐私安全 +

    维护隐私安全

    +

    + 通过详尽的报告和数据分析,品牌可以全 面评估广告投放效果,关注点击率、转化 率等关键指标,从而优化投放策略,实现 更高的广告回报 +

    +
  • +
+
+ + {/* 优势 1 */} +
+
+ s1 +
    +
  • +

    蓝狐HTTP解决方案

    +

    + 广告效果验证是评估营销活动成功的关键。我们的代理IP技术提供准确的广告展示和点击 数据,帮助品牌优化广告策略,提升用户参与度。这项技术确保广告数据的真实性,推动 广告行业向更健康和创新的方向发展,实现广告资源的最大化利用。通过深入分析广告效 果,企业可以制定更具针对性的投放策略,显著提升广告效益。在竞争激烈的市场环境中 ,借助我们的技术支持,品牌能够更好地满足目标受众需求,提升整体营销回报 +

    +
  • +
+
+
+ + {/* 优势 2 */} +
+
    +
  • + s6 +

    稳健可靠

    +
    +

    + 国内三大运营商(电信/ 联通/移动)正规授权, 每个IP都经过技术团队 的严格筛选和验证 +

    +
    +
  • +
  • + s7 +

    资源积累

    +
    +

    + 拥有超3000万+的代理资 源储备,每日更新去重, 确保资源池的丰富性和多样性 +

    +
    +
  • +
  • + s8 +

    稳定连接

    +
    +

    + 通过定期检测和筛选, 确保代理IP的纯净度高 达99.8%,减少了无 效或低质量IP的影响 +

    +
    +
  • +
  • + s9 +

    超匿名性

    +
    +

    + 直观掌握IP使用情况,借助实时 监控,迅速识别异常,及时调整 策略并优化资源配置 +

    +
    +
  • +
+
    +
  • + s10 +

    可视化性

    +
    +

    + 直观掌握IP使用情况,借助实时 监控,迅速识别异常,及时调整 策略并优化资源配置 +

    +
    +
  • +
  • + s11 +

    灵活定价

    +
    +

    + 提供多种代理产品选择,支持灵 活的计费方式,能够适配不同规 模企业的全栈式业务场景 +

    +
    +
  • +
+
+ + {/* 全栈式代理解决方案 */} +
+
+
+ 代理解决方案示意图 +
+ +
+ +
+

全栈式代理解决方案

+

+ 专业代理团队,提供深度市场洞察,为您量身打造代理解决方案 +

+
+ +
+
+ 特性 + IP时效3-30分钟(可定制) +
+
+ 特性 + IP覆盖全国各地 +
+
+ 特性 + 稳定长输不掉线 +
+
+ 特性 + 支持高并发提取 +
+
+ 特性 + 平均响应时长:0.03s +
+
+ 特性 + 全国热门静态IP线路 +
+
+ +
+
+
+
+
+
+ ) +} + +function Section(props: { + title: string + children: ReactNode +}) { + return ( +
+
+

{props.title}

+ {props.children} +
+
+ ) +} diff --git a/src/app/(home)/help/tutorials/quick-start/page.tsx b/src/app/(home)/help/tutorials/quick-start/page.tsx new file mode 100644 index 0000000..dff653c --- /dev/null +++ b/src/app/(home)/help/tutorials/quick-start/page.tsx @@ -0,0 +1,41 @@ +import QuickStart from '@/components/docs/quickStart.mdx' +import Markdown from '@/components/markdown' + +export default function QuickStartPage() { + return ( +
+ + + +
+ ) +} + +// app/ +// ├── help/ +// │ ├── tutorials/ # 使用教程 +// │ │ ├── quick-start/ # 快速入手 +// │ │ │ └── page.tsx +// │ │ ├── code-download/ # 代码下载 +// │ │ │ └── page.tsx +// │ │ └── api-docs/ # API文档 +// │ │ └── page.tsx +// │ │ +// │ └── features/ # 产品功能 +// │ ├── faq/ # 常见问题 +// │ │ └── page.tsx +// │ ├── introduction/ # 产品介绍 +// │ │ └── page.tsx +// │ └── industry-news/ # 行业资讯 +// │ └── page.tsx +// │ +// components/ +// └── docs/ +// ├── tutorials/ +// │ ├── quickStart.mdx # MDX内容文件 +// │ ├── codeDownload.mdx +// │ └── apiDocs.mdx +// └── features/ +// ├── faq.mdx +// ├── introduction.mdx +// └── industryNews.mdx diff --git a/src/components/docs/quickStart.mdx b/src/components/docs/quickStart.mdx new file mode 100644 index 0000000..edf7e6c --- /dev/null +++ b/src/components/docs/quickStart.mdx @@ -0,0 +1,144 @@ +# +# +# +# +# +# +# +# +# +# +# +# +# +# +## +# +# +# +# +# +# +# +# +# +# + +# +# +# +# + +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# + +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# #提取代理接口文档 + +## 请求方式 + +`GET https://lanhuip.com/api/extract` + +## 请求参数 + +| 参数名 | 类型 | 必填 | 描述 | +|--------|----------|------|----------------------------------------------------------------------------------------------------------------------------| +| i | number | 是 | 用于提取的套餐 ID | +| t | number | 是 | 认证类型:1 - 白名单,2 - 密码 | +| a | string | 否 | 归属地省份。默认全局随机 | +| b | string | 否 | 归属地城市。默认全局随机 | +| s | string | 否 | 归属地运营商。默认全局随机 | +| d | string | 否 | 是否去重:1 - 是,0 - 否。默认为是 | +| rt | string | 否 | 返回类型:1 - TXT,2 - JSON。默认 TXT | +| rs | number[] | 否 | 返回时要使用的分隔符,值为该字符的 ascii 编码,可以有多个字符,多个字符用半角逗号连接。默认为 13,10,即回车 + 换行(\r\n) | +| rb | number[] | 否 | 返回时要使用的换行符,值为该字符的 ascii 编码,可以有多个字符,多个字符用半角逗号连接。默认为 124,即垂直线( \| ) | +| n | number | 否 | 提取数量。默认为 1 | + +## 响应参数 + +如果请求参数中返回类型为 TXT,则响应为纯文本格式,内容为提取的代理列表,每个代理信息占一行。 + +如果请求参数中返回类型为 JSON,则响应为 JSON 格式,内容为提取的代理列表,每个代理信息为一个对象,包含以下字段: + +| 参数名 | 类型 | 描述 | +|----------|--------|--------------------------------------------- | +| host | string | 代理服务器地址 | +| port | number | 代理服务器端口 | +| username | string | 代理服务器用户名(仅在认证类型为密码时返回) | +| password | string | 代理服务器密码(仅在认证类型为密码时返回) | + + +## 示例 + +### 请求示例 + +```http +GET https://lanhuip.com/api/extract?i=1&t=2&a=广东省&b=广州市&s=移动&d=1&rt=2&n=3 +``` + +### 响应示例 + +```json +[ + { + "host": "fwd1.lanhuip.com", + "port": 20000, + "username": "user1", + "password": "pass1" + }, + { + "host": "fwd1.lanhuip.com", + "port": 20001, + "username": "user2", + "password": "pass2" + }, + { + "host": "fwd1.lanhuip.com", + "port": 20002, + "username": "user3", + "password": "pass3" + } +] +``` + \ No newline at end of file