"use client"; import React, { useEffect, useState } from "react"; import Image from "next/image"; import AnimatedText from "@/components/common/AnimatedText"; import Link from "next/link"; import axios from "axios"; export default function Hero() { const [data, setData] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { async function fetchData() { try { setLoading(true); const res = await axios.get("/api/get-component-data", { params: { component_name: "Hero" }, }); setData(res.data.data); } catch (err) { setError("获取Features数据失败"); } finally { setLoading(false); } } fetchData(); }, []); if (loading) return
加载中...
; if (error) return null; if (!data) return null; // 主图 const bgImage = data.bg_image || "/assets/img/photos/blurry.png"; // 标题/副标题/描述 const title = data.title || ""; const subtitle = data.subtitle || ""; const description = data.description || ""; const icon = data.icon || "/files/icon.svg"; const htmlCode = data.html_code || ""; const buttonText = data.button_text || "MORE"; const buttonLink = data.button_link || "#"; const buttonText2 = data.button_2_text || "MORE"; const buttonLink2 = data.button_2_link || "#"; // items 子表 // const items = data.items || []; return (
image

{title}

{subtitle}

{buttonText} {buttonText2}
); }