1
0
forked from boos/BoosAPI

feat: polish website model radar

This commit is contained in:
boos
2026-06-06 16:14:05 +08:00
parent f0385c9c8c
commit d315f0ffe2
3 changed files with 97 additions and 36 deletions
+22 -16
View File
@@ -36,11 +36,11 @@ const heroStats = [
];
const routes = [
{ type: "Reason", model: "gpt-5.5", state: "xhigh", tone: "hot" },
{ type: "GPT", model: "gpt-5.5", state: "深度推理", tone: "hot", featured: true },
{ type: "Image", model: "gpt-image-2", state: "图像生成", tone: "lime", featured: true },
{ type: "Claude", model: "claude-opus-4-8", state: "Messages", tone: "white" },
{ type: "Gemini", model: "gemini-3-pro-preview", state: "多模态", tone: "cyan" },
{ type: "Image", model: "gpt-image-2", state: "生成中", tone: "lime" },
{ type: "Video", model: "doubao-seedance-2-0-260128", state: "排队中", tone: "blue" },
{ type: "Video", model: "doubao-seedance-2-0-260128", state: "视频队列", tone: "blue" },
];
const consoleMetrics = [
@@ -141,7 +141,7 @@ const controlSignals = [
function FlowGlyph() {
return (
<svg className="flow-glyph" viewBox="0 0 520 360" role="img" aria-label="BossAI 工作流动态图形">
<svg className="flow-glyph" viewBox="0 0 520 360" aria-hidden="true">
<defs>
<linearGradient id="lineGradient" x1="0" x2="1" y1="0" y2="1">
<stop offset="0%" stopColor="#D7FF4D" />
@@ -159,26 +159,26 @@ function FlowGlyph() {
<path
className="flow-line flow-line-a"
data-motion-line
d="M48 180 C130 62 232 62 314 180 S438 298 488 154"
d="M32 110 C138 42 218 86 294 152 S414 238 496 132"
/>
<path
className="flow-line flow-line-b"
data-motion-line
d="M58 236 C154 318 222 286 274 184 S358 24 462 92"
d="M78 238 C170 314 248 256 314 196 S402 92 486 84"
/>
<path
className="flow-line flow-line-c"
data-motion-line
d="M92 108 C178 164 214 180 260 180 S330 174 424 250"
d="M92 170 C180 194 226 190 292 160 S382 150 452 236"
/>
<g filter="url(#softGlow)">
<circle className="flow-dot dot-a" data-motion-dot cx="48" cy="180" r="7" />
<circle className="flow-dot dot-b" data-motion-dot cx="260" cy="180" r="9" />
<circle className="flow-dot dot-c" data-motion-dot cx="488" cy="154" r="7" />
<circle className="flow-dot dot-a" data-motion-dot cx="32" cy="110" r="6" />
<circle className="flow-dot dot-b" data-motion-dot cx="294" cy="152" r="8" />
<circle className="flow-dot dot-c" data-motion-dot cx="496" cy="132" r="6" />
</g>
<rect className="node node-a" data-motion="node" x="72" y="58" width="128" height="68" rx="18" />
<rect className="node node-b" data-motion="node" x="242" y="146" width="140" height="76" rx="20" />
<rect className="node node-c" data-motion="node" x="352" y="248" width="120" height="62" rx="17" />
<rect className="node node-a" data-motion="node" x="96" y="44" width="120" height="56" rx="16" />
<rect className="node node-b" data-motion="node" x="278" y="128" width="132" height="64" rx="18" />
<rect className="node node-c" data-motion="node" x="352" y="236" width="112" height="54" rx="16" />
</svg>
);
}
@@ -188,12 +188,18 @@ function HeroConsole() {
<div className="hero-console" data-motion="hero-console" aria-label="BossAI 路由状态预览">
<div className="console-orbit" data-motion-orbit />
<div className="console-bar">
<span>Model Radar</span>
<strong>主流模型在线</strong>
<span>Model Router</span>
<strong>GPT-5.5 + Image 2 Ready</strong>
</div>
<div className="route-list">
{routes.map((route) => (
<div className="route-row" data-motion="route-row" data-tone={route.tone} key={route.type}>
<div
className="route-row"
data-featured={route.featured ? "true" : undefined}
data-motion="route-row"
data-tone={route.tone}
key={route.type}
>
<span>{route.type}</span>
<strong>{route.model}</strong>
<em>{route.state}</em>