Files
web/src/app/(home)/data-capture/page.tsx

294 lines
14 KiB
TypeScript
Raw Normal View History

'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 (
<main className="mt-20 flex flex-col gap-4">
<Wrap className="flex flex-col py-8 gap-8">
<BreadCrumb items={[
{label: '业务场景/数据抓取', href: '/data-capture'},
]}/>
<main className="flex flex-col gap-16 lg:gap-32 mb-16 lg:mb-32">
{/* banner */}
2025-11-18 19:16:24 +08:00
<section className="flex-none basis-40 relative flex flex-col gap-4 justify-center">
<Wrap className="relative pt-30 pb-48 max-md:pt-32 max-md:pb-24 min-h-[500px]">
<Image src={s12} alt="背景图" className="absolute inset-0 w-full h-full object-cover"/>
<div className="relative pl-20 w-1/2 flex-1">
<h1 className="text-4xl"></h1>
<p className="mt-10 text-gray-500">沿 </p>
<div className="mt-24 max-md:mt-14 flex gap-8 max-md:flex-col">
<p className="flex gap-4 items-center">
<Image src="/check.svg" alt="checkbox" width={24} height={24}/>
<span className={`lg:text-md `}>广</span>
</p>
<p className="flex gap-4 items-center">
<Image src="/check.svg" alt="checkbox" width={24} height={24}/>
<span className={`lg:text-md `}></span>
</p>
<p className="flex gap-4 items-center">
<Image src="/check.svg" alt="checkbox" width={24} height={24}/>
<span className={`lg:text-md `}></span>
</p>
</div>
<button
className={[
`mt-32 max-md:mt-20 w-96 max-md:w-full h-16 md:h-24 rounded-lg shadow-lg`,
`bg-gradient-to-r from-blue-500 to-cyan-400 text-white text-xl lg:text-4xl`,
].join(' ')}
onClick={() => router.push('/product?type=short')}
>
</button>
</div>
</Wrap>
</section>
{/* 数据展示 */}
<Section title="全方面增进数据分析的专业">
<ul className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<li className="p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center">
<Image
src={s5}
alt="全方位的数据样本"
className="w-44 h-44 object-cover"
priority
/>
<h1 className="text-xl"></h1>
<p className="text-sm text-gray-500 flex gap-3 items-center">
广 广
</p>
</li>
<li className="p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center">
<Image
src={s3}
alt="达成提高抓取频次的目的"
className="w-44 h-44 object-cover"
priority
/>
<h1 className="text-xl"></h1>
<p className="text-sm text-gray-500 flex gap-3 items-center">
广 广
</p>
</li>
<li className="p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center">
<Image
src={s4}
alt="维护隐私安全"
className="w-44 h-44 object-cover"
priority
/>
<h1 className="text-xl"></h1>
<p className="text-sm text-gray-500 flex gap-3 items-center">
广 广
</p>
</li>
</ul>
</Section>
{/* 优势 1 */}
<Section title="">
<div className="flex gap-8">
<Image
src={s1}
alt="s1"
className="w-0 flex-1 object-cover"
priority
/>
<ul className="flex-1 flex flex-col gap-6">
<li className="p-8 flex flex-col gap-5 rounded-lg max-md:items-center">
<h1 className="text-xl">HTTP解决方案</h1>
<p className="text-sm text-gray-500 flex gap-3 items-center">
广IP技术提供准确的广告展示和点击 广广 广广广 广
</p>
</li>
</ul>
</div>
</Section>
{/* 优势 2 */}
2025-11-18 19:16:24 +08:00
<Section title="产品核心优势 ">
<ul className={merge('grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8')}>
<li className={merge('p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center')}>
<Image
src={s6}
alt="s6"
className="w-44 h-44 object-cover"
priority
/>
<h3 className="text-xl"></h3>
<div className="flex flex-col gap-3">
<p className="text-sm text-gray-500 flex gap-3 items-center">
<span>/ / IP都经过技术团队 </span>
</p>
</div>
</li>
<li className={merge('p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center')}>
<Image
src={s7}
alt="s7"
className="w-44 h-44 object-cover"
priority
/>
<h3 className="text-xl"></h3>
<div className="flex flex-col gap-3">
<p className="text-sm text-gray-500 flex gap-3 items-center">
<span>3000+ </span>
</p>
</div>
</li>
<li className={merge('p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center')}>
<Image
src={s8}
alt="s8"
className="w-44 h-44 object-cover"
priority
/>
<h3 className="text-xl"></h3>
<div className="flex flex-col gap-3">
<p className="text-sm text-gray-500 flex gap-3 items-center">
<span> IP的纯净度高 99.8% IP的影响</span>
</p>
</div>
</li>
<li className={merge('p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center')}>
<Image
src={s9}
alt="s9"
className="w-44 h-44 object-cover"
priority
/>
<h3 className="text-xl"></h3>
<div className="flex flex-col gap-3">
<p className="text-sm text-gray-500 flex gap-3 items-center">
<span>IP使用情况 </span>
</p>
</div>
</li>
</ul>
<ul className="flex mt-8 gap-8">
<li className={merge('p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center')}>
<Image
src={s10}
alt="s10"
className="w-44 h-44 object-cover"
priority
/>
<h3 className="text-xl"></h3>
<div className="flex flex-col gap-3">
<p className="text-sm text-gray-500 flex gap-3 items-center">
<span>IP使用情况 </span>
</p>
</div>
</li>
<li className={merge('p-8 flex flex-col gap-5 shadow-[4px_4px_20px_4px] shadow-blue-50 bg-white rounded-lg max-md:items-center')}>
<Image
src={s11}
alt="s11"
className="w-44 h-44 object-cover"
priority
/>
<h3 className="text-xl"></h3>
<div className="flex flex-col gap-3">
<p className="text-sm text-gray-500 flex gap-3 items-center">
<span> </span>
</p>
</div>
</li>
</ul>
</Section>
{/* 全栈式代理解决方案 */}
<Section title="">
<div className="flex gap-8 max-md:flex-col max-md:gap-4">
<div className={merge('shadow-[4px_4px_20px_4px] shadow-blue-50 flex-1 p-4 flex justify-center items-center bg-gray-50')}>
<Image
src={s2}
alt="代理解决方案示意图"
className="w-full h-auto object-contain max-h-64"
/>
</div>
<div className="flex-1 flex flex-col gap-6">
<div>
<h3 className="text-2xl font-medium"></h3>
<p className="text-gray-500 mt-2">
</p>
</div>
<div className="grid grid-cols-3 gap-4">
<div className="flex gap-2 items-center">
<Image src={check} alt="特性" width={20} height={20}/>
<span>IP时效3-30()</span>
</div>
<div className="flex gap-2 items-center">
<Image src={check} alt="特性" width={20} height={20}/>
<span>IP覆盖全国各地</span>
</div>
<div className="flex gap-2 items-center">
<Image src={check} alt="特性" width={20} height={20}/>
<span>线</span>
</div>
<div className="flex gap-2 items-center">
<Image src={check} alt="特性" width={20} height={20}/>
<span></span>
</div>
<div className="flex gap-2 items-center">
<Image src={check} alt="特性" width={20} height={20}/>
<span>0.03s</span>
</div>
<div className="flex gap-2 items-center">
<Image src={check} alt="特性" width={20} height={20}/>
<span>IP线路</span>
</div>
</div>
<Button className="bg-blue-600 hover:bg-blue-700 text-white px-6 py-2 rounded-md whitespace-nowrap">
</Button>
</div>
</div>
</Section>
</main>
</Wrap>
</main>
)
}
function Section(props: {
title: string
children: ReactNode
}) {
return (
<section>
<div className="max-w-[1232px] mx-auto px-4 flex flex-col items-stretch">
<h2 className="text-center text-3xl mb-8 lg:mb-24">{props.title}</h2>
{props.children}
</div>
</section>
)
}