优化用户数据初始化时机

This commit is contained in:
2025-11-18 19:16:24 +08:00
parent 5b1dae6e6c
commit fa6a4e5121
19 changed files with 52 additions and 52 deletions

View File

@@ -32,8 +32,8 @@ export default function CollectPage(props: CollectPageProps) {
]}/>
<main className="flex flex-col gap-16 lg:gap-32 mb-16 lg:mb-32">
{/* banner */}
<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]">
<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>
@@ -129,7 +129,7 @@ export default function CollectPage(props: CollectPageProps) {
</Section>
{/* 优势 2 */}
<Section title="产品核心优势 ">
<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

View File

@@ -18,8 +18,8 @@ export default function Footer(props: FooterProps) {
<p className={`text-sm text-gray-500 `}>/微信:18751847847</p>
<p className={`text-sm text-gray-500 `}>QQ号:800180559</p>
<h3 className="hidden sm:block"></h3>
<p className="text-sm text-gray-500 hidden sm:block"></p>
<p className="text-sm text-gray-500 hidden sm:block"></p>
<p className="text-sm text-gray-500 hidden sm:block"></p>
<p className="text-sm text-gray-500 hidden sm:block"></p>
</div>
<SiteNavList

View File

@@ -2,10 +2,11 @@
import {useCallback, useEffect, useMemo, useState, PointerEvent, ComponentProps} from 'react'
import Link from 'next/link'
import Image from 'next/image'
import SolutionMenu from './menu-solution'
import ProductMenu from './menu-product'
import HelpMenu from './menu-help'
import MobileMenu from './menu-mobile'
import {HeaderContext} from './_components/header/common'
import SolutionMenu from './_components/header/menu-solution'
import ProductMenu from './_components/header/menu-product'
import HelpMenu from './_components/header/menu-help'
import MobileMenu from './_components/header/menu-mobile'
import Wrap from '@/components/wrap'
import logo from '@/assets/logo.webp'
import {Button} from '@/components/ui/button'
@@ -14,11 +15,11 @@ import UserCenter from '@/components/composites/user-center'
import {MenuIcon} from 'lucide-react'
import down from '@/assets/header/down.svg'
import {merge} from '@/lib/utils'
import {HeaderContext} from './common'
import {User} from '@/lib/models'
export type ProviderProps = {}
export type HeaderProps = {}
export default function Page(props: ProviderProps) {
export default function Header(props: HeaderProps) {
// ======================
// 滚动条状态
// ======================
@@ -163,7 +164,7 @@ export default function Page(props: ProviderProps) {
{/* 登录 */}
<div className="flex items-center">
{profile == undefined
{profile == null
? (
<>
<Link
@@ -175,7 +176,7 @@ export default function Page(props: ProviderProps) {
<Link
href="/login?type=sms"
className={[
`w-20 lg:w-24 h-10 lg:h-12 bg-gradient-to-r rounded-sm flex items-center justify-center lg:text-lg text-white`,
`w-20 lg:w-24 h-10 lg:h-12 bg-linear-to-r rounded-sm flex items-center justify-center lg:text-lg text-white`,
`transition-colors duration-200 ease-in-out`,
`from-blue-500 to-cyan-400 hover:from-blue-500 hover:to-cyan-300`,
].join(' ')}

View File

@@ -1,6 +1,6 @@
import Header from '@/app/(home)/@header/page'
import Footer from '@/app/(home)/@footer/page'
import {ReactNode} from 'react'
import Header from './header'
import Footer from './footer'
export type HomeLayoutProps = {
children: ReactNode

View File

@@ -2,7 +2,7 @@
import {ReactNode} from 'react'
import Wrap from '@/components/wrap'
import Image from 'next/image'
import React, {useState} from 'react'
import React from 'react'
import {useRouter} from 'next/navigation'
import {useProfileStore} from '@/components/stores-provider'
@@ -15,7 +15,7 @@ export default function Home() {
<main className="flex flex-col gap-16 lg:gap-32 mb-16 lg:mb-32">
{/* banner */}
<section className={`w-full bg-[url('/banner.webp')] bg-cover bg-[center_right_40%]`}>
<section className={`w-full bg-[url('/banner.webp')] bg-cover bg-position-[center_right_40%]`}>
<Wrap className="pt-64 pb-48 max-md:pt-32 max-md:pb-24">
<h1 className="text-4xl"></h1>
<p className="mt-10 text-gray-500">IP代理服务</p>
@@ -38,7 +38,7 @@ export default function Home() {
<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`,
`bg-linear-to-r from-blue-500 to-cyan-400 text-white text-xl lg:text-4xl`,
].join(' ')}
onClick={() => {
if (profile) {
@@ -59,22 +59,22 @@ export default function Home() {
<ul className="shadow-[0_0_20px_4px] shadow-blue-50 p-8 flex max-lg:flex-col">
<li className="flex-1 flex flex-col items-center justify-center lg:border-r max-lg:mb-4 border-gray-200">
<p className="text-xl">线</p>
<p className="mt-9 max-lg:mt-2 text-5xl bg-gradient-to-t from-blue-500 to-cyan-400 bg-clip-text text-transparent font-bold pb-2 -mb-2">350+</p>
<p className="mt-9 max-lg:mt-2 text-5xl bg-linear-to-t from-blue-500 to-cyan-400 bg-clip-text text-transparent font-bold pb-2 -mb-2">350+</p>
<div className="lg:hidden w-24 border-b mt-4 border-gray-200"></div>
</li>
<li className="flex-1 flex flex-col items-center justify-center lg:border-r max-lg:mb-4 border-gray-200">
<p className="text-xl">IP数量</p>
<p className="mt-9 max-lg:mt-2 text-5xl bg-gradient-to-t from-blue-500 to-cyan-400 bg-clip-text text-transparent font-bold pb-2 -mb-2">1,350,129</p>
<p className="mt-9 max-lg:mt-2 text-5xl bg-linear-to-t from-blue-500 to-cyan-400 bg-clip-text text-transparent font-bold pb-2 -mb-2">1,350,129</p>
<div className="lg:hidden w-24 border-b mt-4 border-gray-200"></div>
</li>
<li className="flex-1 flex flex-col items-center justify-center lg:border-r max-lg:mb-4 border-gray-200">
<p className="text-xl"></p>
<p className="mt-9 max-lg:mt-2 text-5xl bg-gradient-to-t from-blue-500 to-cyan-400 bg-clip-text text-transparent font-bold pb-2 -mb-2">26,578</p>
<p className="mt-9 max-lg:mt-2 text-5xl bg-linear-to-t from-blue-500 to-cyan-400 bg-clip-text text-transparent font-bold pb-2 -mb-2">26,578</p>
<div className="lg:hidden w-24 border-b mt-4 border-gray-200"></div>
</li>
<li className="flex-1 flex flex-col items-center justify-center">
<p className="text-xl">IP可用率</p>
<p className="mt-9 max-lg:mt-2 text-5xl bg-gradient-to-t from-blue-500 to-cyan-400 bg-clip-text text-transparent font-bold pb-2 -mb-2">99%</p>
<p className="mt-9 max-lg:mt-2 text-5xl bg-linear-to-t from-blue-500 to-cyan-400 bg-clip-text text-transparent font-bold pb-2 -mb-2">99%</p>
</li>
</ul>
<img src="/map.webp" alt="map" className="w-[1200px]"/>