"use client"; import React, { useEffect, useState } from "react"; import axios from "axios"; export default function Process() { 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: "Process" }, }); setData(res.data.data); } catch (err) { setError("获取Process数据失败"); } finally { setLoading(false); } } fetchData(); }, []); if (loading) return
Loading...
; if (error) return null; if (!data) return null; const items = data.items || []; const title = data.title || ""; const subtitle = data.subtitle || ""; const buttonText = data.button_text || ""; const buttonLink = data.button_link || "#"; const paragraphs = [data.p1, data.p2, data.p3].filter(Boolean); const icon = data.icon || "/files/icon.svg"; const htmlCode = data.html_code || ""; return ( <>
{htmlCode ? (
) : ( icon )}

{title}

{/* /column */}
{/* /.row */}
{/* 左侧:文本区 */}

{subtitle}

{paragraphs.map((txt, idx) => (

{txt}

))} {buttonText && ( {buttonText} )}
{/* 右侧:卡片区 */}
{items.map((item, idx) => { let cardClass = "card"; if (idx === 1) cardClass += " !mt-6 xl:!ml-16 lg:!ml-16"; else if (idx === 2) cardClass += " !mt-6 xl:mx-6 lg:mx-6"; else if (idx > 0) cardClass += " !mt-6"; return (
{(item.no || idx + 1).toString().padStart(2, "0")}

{item.item_title}

{item.item_description}

{/*/.card-body */}
); })}
{/*/column */}
); }