manual save(2026-01-05 11:17)
This commit is contained in:
@@ -13,6 +13,7 @@ import {
|
||||
import { Header } from '../components/Header';
|
||||
import { Footer } from '../components/Footer';
|
||||
import { COMPANY_INFO } from '../lib/constants';
|
||||
import { usePageTitle } from '../hooks/usePageTitle';
|
||||
|
||||
// 发展历程数据
|
||||
const milestones = [
|
||||
@@ -127,6 +128,7 @@ const honors = [
|
||||
*/
|
||||
export const About: React.FC = () => {
|
||||
const timelineRef = useRef<HTMLDivElement>(null);
|
||||
usePageTitle('关于我们');
|
||||
|
||||
return (
|
||||
<motion.div
|
||||
|
||||
@@ -5,6 +5,7 @@ import { Categories } from '../clientsdk/sdk.gen'
|
||||
import { createClient } from '../clientsdk/client'
|
||||
import { customQuerySerializer } from '../clientsdk/querySerializer'
|
||||
import { TENANT_SLUG, TENANT_API_KEY, API_URL } from '../config'
|
||||
import { usePageTitle } from '../hooks/usePageTitle'
|
||||
|
||||
const client = createClient({
|
||||
baseUrl: API_URL,
|
||||
@@ -16,6 +17,7 @@ const client = createClient({
|
||||
})
|
||||
|
||||
export const CategoriesPage: React.FC = () => {
|
||||
usePageTitle('文章分类')
|
||||
const [categories, setCategories] = useState<any[]>([])
|
||||
const [loading, setLoading] = useState(true)
|
||||
const [error, setError] = useState<string | null>(null)
|
||||
|
||||
@@ -8,6 +8,7 @@ import { Posts, Categories } from '../clientsdk/sdk.gen'
|
||||
import { createClient } from '../clientsdk/client'
|
||||
import { customQuerySerializer } from '../clientsdk/querySerializer'
|
||||
import { TENANT_SLUG, TENANT_API_KEY, API_URL } from '../config'
|
||||
import { usePageTitle } from '../hooks/usePageTitle'
|
||||
|
||||
const client = createClient({
|
||||
baseUrl: API_URL,
|
||||
@@ -20,6 +21,7 @@ const client = createClient({
|
||||
|
||||
export const CategoryDetail: React.FC = () => {
|
||||
const { slug } = useParams<{ slug: string }>()
|
||||
usePageTitle('分类详情')
|
||||
const [posts, setPosts] = useState<any[]>([])
|
||||
const [category, setCategory] = useState<any>(null)
|
||||
const [loading, setLoading] = useState(true)
|
||||
|
||||
@@ -16,6 +16,7 @@ import {
|
||||
import { Header } from '../components/Header';
|
||||
import { Footer } from '../components/Footer';
|
||||
import { COMPANY_INFO, CONTACT_INFO } from '../lib/constants';
|
||||
import { usePageTitle } from '../hooks/usePageTitle';
|
||||
|
||||
/**
|
||||
* Contact 组件 - 联系我们页面
|
||||
@@ -76,6 +77,7 @@ interface FormErrors {
|
||||
* Contact 组件
|
||||
*/
|
||||
export const Contact: React.FC = () => {
|
||||
usePageTitle('联系我们');
|
||||
const [formData, setFormData] = useState<ContactFormData>({
|
||||
name: '',
|
||||
email: '',
|
||||
|
||||
@@ -5,11 +5,14 @@ import { Hero } from '../components/Hero';
|
||||
import { AboutSection } from '../components/Home/AboutSection';
|
||||
import { ServicesSection } from '../components/Home/ServicesSection';
|
||||
import { NewsSection } from '../components/Home/NewsSection';
|
||||
import { usePageTitle } from '../hooks/usePageTitle';
|
||||
|
||||
/**
|
||||
* Home 组件 - 企业官网首页
|
||||
*/
|
||||
export const Home: React.FC = () => {
|
||||
usePageTitle('首页');
|
||||
|
||||
return (
|
||||
<motion.div
|
||||
className="min-h-screen bg-background"
|
||||
|
||||
@@ -17,6 +17,7 @@ import { Header } from '../components/Header';
|
||||
import { Footer } from '../components/Footer';
|
||||
import { formatDate } from '../lib/utils';
|
||||
import { NEWS_CATEGORIES } from '../lib/constants';
|
||||
import { usePageTitle } from '../hooks/usePageTitle';
|
||||
|
||||
// 模拟新闻数据
|
||||
const allNews = [
|
||||
@@ -453,6 +454,7 @@ const DigitalHumanVideo: React.FC = () => {
|
||||
* News 组件 - 新闻资讯页面
|
||||
*/
|
||||
export const News: React.FC = () => {
|
||||
usePageTitle('新闻资讯');
|
||||
const [activeCategory, setActiveCategory] = useState('all');
|
||||
const [currentPage, setCurrentPage] = useState(1);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import { Posts } from '../clientsdk/sdk.gen'
|
||||
import { createClient } from '../clientsdk/client'
|
||||
import { customQuerySerializer } from '../clientsdk/querySerializer'
|
||||
import { TENANT_SLUG, TENANT_API_KEY, API_URL } from '../config'
|
||||
import { usePageTitle } from '../hooks/usePageTitle'
|
||||
|
||||
const client = createClient({
|
||||
baseUrl: API_URL,
|
||||
@@ -18,6 +19,7 @@ const client = createClient({
|
||||
|
||||
export const PostDetail: React.FC = () => {
|
||||
const { slug } = useParams<{ slug: string }>()
|
||||
usePageTitle('文章详情')
|
||||
const [post, setPost] = useState<any>(null)
|
||||
const [loading, setLoading] = useState(true)
|
||||
const [error, setError] = useState<string | null>(null)
|
||||
|
||||
@@ -20,6 +20,7 @@ import {
|
||||
import { Header } from '../components/Header';
|
||||
import { Footer } from '../components/Footer';
|
||||
import { SERVICES } from '../lib/constants';
|
||||
import { usePageTitle } from '../hooks/usePageTitle';
|
||||
|
||||
/**
|
||||
* Services 组件 - 产品服务页面
|
||||
@@ -195,6 +196,7 @@ const CaseCard: React.FC<{ case: typeof cases[0]; index: number }> = ({ case: ca
|
||||
* Services 组件
|
||||
*/
|
||||
export const Services: React.FC = () => {
|
||||
usePageTitle('产品服务');
|
||||
const [activeCategory, setActiveCategory] = useState('all');
|
||||
|
||||
const filteredCases = activeCategory === 'all'
|
||||
|
||||
Reference in New Issue
Block a user