小程序迁移 静态页面完成!!!

This commit is contained in:
Neo
2026-03-18 05:14:35 +08:00
parent 72bb11b34f
commit 075caf067f
124 changed files with 10407 additions and 2738 deletions

View File

@@ -0,0 +1,97 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" fill="none">
<defs>
<!-- 主背景渐变:橙色 -->
<linearGradient id="ag" x1="0" y1="0" x2="80" y2="80" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="#ffab5e"/>
<stop offset="100%" stop-color="#e05a00"/>
</linearGradient>
<!-- 头部面板渐变 -->
<linearGradient id="head" x1="20" y1="26" x2="60" y2="66" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="#fff3e0"/>
<stop offset="100%" stop-color="#ffe0b2"/>
</linearGradient>
<!-- 眼睛渐变 -->
<linearGradient id="eye" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#ff8c42"/>
<stop offset="100%" stop-color="#c94f00"/>
</linearGradient>
<!-- 口部渐变 -->
<linearGradient id="mouth" x1="0" y1="0" x2="1" y2="0">
<stop offset="0%" stop-color="#ff8c42"/>
<stop offset="100%" stop-color="#e05a00"/>
</linearGradient>
<!-- 投影 -->
<filter id="as" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="3" stdDeviation="3" flood-color="#c94f00" flood-opacity="0.32"/>
</filter>
<!-- 头部光泽 -->
<filter id="hs" x="-10%" y="-10%" width="120%" height="120%">
<feDropShadow dx="0" dy="2" stdDeviation="2" flood-color="#ffab5e" flood-opacity="0.5"/>
</filter>
<!-- 眼睛外发光 -->
<filter id="eyeglow" x="-60%" y="-60%" width="220%" height="220%">
<feGaussianBlur stdDeviation="1.5" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
<!-- 天线发光 -->
<filter id="antglow" x="-80%" y="-80%" width="360%" height="360%">
<feGaussianBlur stdDeviation="2" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
</defs>
<!-- ── 外层背景圆角面板 ── -->
<rect x="8" y="8" width="64" height="64" rx="18" fill="url(#ag)" filter="url(#as)"/>
<!-- ── 顶部高光条 ── -->
<rect x="8" y="8" width="64" height="22" rx="18" fill="white" opacity="0.10"/>
<!-- ── 天线(高对比度,纯白单杆,辨识度优先) ── -->
<line x1="40" y1="23" x2="40" y2="10" stroke="white" stroke-width="5" stroke-linecap="round"/>
<!-- 天线球:白色大球 + 橙色芯 + 高光 -->
<circle cx="40" cy="7" r="6" fill="white"/>
<circle cx="40" cy="7" r="3.2" fill="#ff8c42"/>
<circle cx="38.8" cy="5.8" r="1.1" fill="white" opacity="0.9"/>
<!-- ── 机器人头部主体 ── -->
<rect x="18" y="24" width="44" height="36" rx="10" fill="url(#head)" filter="url(#hs)"/>
<!-- 头部顶部高光线 -->
<rect x="24" y="25" width="32" height="3" rx="1.5" fill="white" opacity="0.55"/>
<!-- ── 耳朵(只保留外轮廓三面,内侧开口贴合头部无边界线) ── -->
<!-- 左耳:填充先铺,再用外轮廓 path 三面描边(左/上/下弧),右侧开口不画线 -->
<rect x="11" y="33" width="8" height="14" rx="4" fill="#ffd4a8"/>
<!-- 用头部同色覆盖右侧接缝描边区域 -->
<rect x="17" y="33" width="3" height="14" fill="#ffd4a8"/>
<path d="M19 33 Q11 33 11 37 L11 43 Q11 47 19 47" stroke="#ffab5e" stroke-width="1.8" fill="none" stroke-linecap="round"/>
<!-- 右耳:同理,左侧开口不画线 -->
<rect x="61" y="33" width="8" height="14" rx="4" fill="#ffd4a8"/>
<rect x="61" y="33" width="3" height="14" fill="#ffd4a8"/>
<path d="M61 33 Q69 33 69 37 L69 43 Q69 47 61 47" stroke="#ffab5e" stroke-width="1.8" fill="none" stroke-linecap="round"/>
<!-- ── 眼睛(渐变 + 双高光 + 发光) ── -->
<!-- 左眼 -->
<circle cx="31" cy="37" r="5.5" fill="url(#eye)" filter="url(#eyeglow)"/>
<circle cx="31" cy="37" r="4.5" fill="url(#eye)"/>
<circle cx="29.5" cy="35.5" r="1.6" fill="white" opacity="0.9"/>
<circle cx="33" cy="38.5" r="0.8" fill="white" opacity="0.5"/>
<!-- 右眼 -->
<circle cx="49" cy="37" r="5.5" fill="url(#eye)" filter="url(#eyeglow)"/>
<circle cx="49" cy="37" r="4.5" fill="url(#eye)"/>
<circle cx="47.5" cy="35.5" r="1.6" fill="white" opacity="0.9"/>
<circle cx="51" cy="38.5" r="0.8" fill="white" opacity="0.5"/>
<!-- ── 腮红(红色系,更明显) ── -->
<ellipse cx="23.5" cy="46" rx="5" ry="3.2" fill="#f4756a" opacity="0.65"/>
<ellipse cx="56.5" cy="46" rx="5" ry="3.2" fill="#f4756a" opacity="0.65"/>
<!-- ── 微笑嘴巴 ── -->
<path d="M30 49 Q40 56 50 49" stroke="url(#mouth)" stroke-width="2.2" stroke-linecap="round" fill="none"/>
<path d="M34 50.5 Q40 55 46 50.5" fill="white" opacity="0.55"/>
<!-- ── 右上角单颗星形闪光 ── -->
<path d="M65 13 L66.2 16 L69.5 16 L67 18 L68 21 L65 19.2 L62 21 L63 18 L60.5 16 L63.8 16 Z"
fill="#fff3e0" opacity="0.65"/>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1,40 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" fill="none">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="80" y2="80" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="#00c896"/>
<stop offset="100%" stop-color="#008c6a"/>
</linearGradient>
<linearGradient id="bar1" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#6fffd4"/>
<stop offset="100%" stop-color="#00c896"/>
</linearGradient>
<linearGradient id="bar2" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#fff" stop-opacity="0.9"/>
<stop offset="100%" stop-color="#a0ffe0"/>
</linearGradient>
<linearGradient id="bar3" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#6fffd4"/>
<stop offset="100%" stop-color="#00a870"/>
</linearGradient>
<filter id="bs" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="3" stdDeviation="3" flood-color="#008c6a" flood-opacity="0.35"/>
</filter>
</defs>
<!-- background panel -->
<rect x="10" y="10" width="60" height="60" rx="14" fill="url(#bg)" filter="url(#bs)"/>
<!-- grid lines -->
<line x1="18" y1="55" x2="62" y2="55" stroke="white" stroke-opacity="0.2" stroke-width="1"/>
<line x1="18" y1="45" x2="62" y2="45" stroke="white" stroke-opacity="0.15" stroke-width="1"/>
<line x1="18" y1="35" x2="62" y2="35" stroke="white" stroke-opacity="0.1" stroke-width="1"/>
<!-- bars -->
<rect x="20" y="38" width="10" height="17" rx="3" fill="url(#bar2)" opacity="0.85"/>
<rect x="34" y="28" width="10" height="27" rx="3" fill="white" opacity="0.95"/>
<rect x="48" y="33" width="10" height="22" rx="3" fill="url(#bar2)" opacity="0.85"/>
<!-- trend line -->
<polyline points="25,37 39,25 53,30" stroke="#ffffcc" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none" opacity="0.7"/>
<circle cx="25" cy="37" r="2.5" fill="#fff" opacity="0.9"/>
<circle cx="39" cy="25" r="2.5" fill="#fff" opacity="0.9"/>
<circle cx="53" cy="30" r="2.5" fill="#fff" opacity="0.9"/>
<!-- bottom axis -->
<line x1="18" y1="57" x2="62" y2="57" stroke="white" stroke-opacity="0.4" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,28 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" fill="none">
<defs>
<linearGradient id="tg" x1="0" y1="0" x2="80" y2="80" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="#4f8ef7"/>
<stop offset="100%" stop-color="#1a5fd8"/>
</linearGradient>
<linearGradient id="tg2" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#7ab4ff"/>
<stop offset="100%" stop-color="#4f8ef7"/>
</linearGradient>
<filter id="ts" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="3" stdDeviation="3" flood-color="#1a5fd8" flood-opacity="0.35"/>
</filter>
</defs>
<!-- clipboard body -->
<rect x="16" y="14" width="48" height="56" rx="8" fill="url(#tg)" filter="url(#ts)"/>
<!-- clip top tab -->
<rect x="28" y="10" width="24" height="12" rx="6" fill="#7ab4ff"/>
<!-- white card shine -->
<rect x="22" y="28" width="36" height="5" rx="2.5" fill="white" opacity="0.9"/>
<rect x="22" y="38" width="28" height="4" rx="2" fill="white" opacity="0.6"/>
<rect x="22" y="47" width="32" height="4" rx="2" fill="white" opacity="0.6"/>
<rect x="22" y="56" width="20" height="4" rx="2" fill="white" opacity="0.4"/>
<!-- check circle -->
<circle cx="60" cy="58" r="12" fill="#fff" opacity="0.15"/>
<circle cx="60" cy="58" r="9" fill="#e8f1ff" stroke="#7ab4ff" stroke-width="1.5"/>
<polyline points="55.5,58 58.5,61 64.5,55" stroke="#1a5fd8" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"><path d="M6 9a3 3 0 013-3h14a3 3 0 013 3v11a3 3 0 01-3 3h-5l-5 4v-4H9a3 3 0 01-3-3V9z" stroke="#00a870" stroke-width="2" fill="none"/><path d="M10.5 12.5h11" stroke="#00a870" stroke-width="1.6" stroke-linecap="round" opacity="0.6"/><path d="M10.5 16h7" stroke="#00a870" stroke-width="1.6" stroke-linecap="round" opacity="0.6"/><path d="M27 5l1 2.5 2.5 1-2.5 1L27 12l-1-2.5L23.5 8.5l2.5-1L27 5z" fill="#00a870"/></svg>

After

Width:  |  Height:  |  Size: 513 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"><path d="M12.5 10.5A11 11 0 1023.5 10.5" stroke="#e34d59" stroke-width="2.2" stroke-linecap="round" fill="none"/><path d="M18 7v10" stroke="#e34d59" stroke-width="2.4" stroke-linecap="round"/><circle cx="18" cy="23" r="2" fill="#e34d59" opacity="0.25"/></svg>

After

Width:  |  Height:  |  Size: 355 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"><rect x="6" y="8" width="18" height="22" rx="3" stroke="#0052d9" stroke-width="2" fill="none"/><path d="M10 14h10" stroke="#0052d9" stroke-width="1.8" stroke-linecap="round"/><path d="M10 18h10" stroke="#0052d9" stroke-width="1.8" stroke-linecap="round"/><path d="M10 22h6" stroke="#0052d9" stroke-width="1.8" stroke-linecap="round"/><path d="M22 6l4 4-9 9-5 1 1-5 9-9z" fill="#0052d9" opacity="0.9"/><path d="M22 6l4 4" stroke="white" stroke-width="1" opacity="0.4"/><rect x="24.5" y="4" width="3" height="3" rx="1" fill="#60a5fa" transform="rotate(45 26 5.5)"/></svg>

After

Width:  |  Height:  |  Size: 665 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><path d="M6 20L34 8 22 34 18 22 6 20z" fill="#bbbbbb"/></svg>

After

Width:  |  Height:  |  Size: 156 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><path d="M6 20L34 8 22 34 18 22 6 20z" fill="#ffffff"/></svg>

After

Width:  |  Height:  |  Size: 156 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><path d="M6 20L34 8 22 34 18 22 6 20z" fill="currentColor"/></svg>

After

Width:  |  Height:  |  Size: 162 B

View File

@@ -0,0 +1,122 @@
<svg xmlns="http://www.w3.org/2000/svg" width="750" height="1334" viewBox="0 0 750 1334" fill="none">
<defs>
<linearGradient id="bgGrad" x1="0" y1="0" x2="750" y2="1334" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="#dbeafe"/>
<stop offset="50%" stop-color="#eff6ff"/>
<stop offset="100%" stop-color="#dbeafe"/>
</linearGradient>
<!-- orb gradients -->
<radialGradient id="orb1" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#93c5fd" stop-opacity="0.55"/>
<stop offset="100%" stop-color="#3b82f6" stop-opacity="0"/>
</radialGradient>
<radialGradient id="orb2" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#67e8f9" stop-opacity="0.45"/>
<stop offset="100%" stop-color="#06b6d4" stop-opacity="0"/>
</radialGradient>
<radialGradient id="orb3" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#a5b4fc" stop-opacity="0.4"/>
<stop offset="100%" stop-color="#6366f1" stop-opacity="0"/>
</radialGradient>
<radialGradient id="orb4" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#bfdbfe" stop-opacity="0.5"/>
<stop offset="100%" stop-color="#2563eb" stop-opacity="0"/>
</radialGradient>
</defs>
<!-- base gradient fill -->
<rect width="750" height="1334" fill="url(#bgGrad)"/>
<!-- mesh grid (subtle) -->
<g opacity="0.06" stroke="#3b82f6" stroke-width="1">
<line x1="0" y1="133" x2="750" y2="133"/>
<line x1="0" y1="267" x2="750" y2="267"/>
<line x1="0" y1="400" x2="750" y2="400"/>
<line x1="0" y1="534" x2="750" y2="534"/>
<line x1="0" y1="667" x2="750" y2="667"/>
<line x1="0" y1="800" x2="750" y2="800"/>
<line x1="0" y1="934" x2="750" y2="934"/>
<line x1="0" y1="1067" x2="750" y2="1067"/>
<line x1="0" y1="1200" x2="750" y2="1200"/>
<line x1="75" y1="0" x2="75" y2="1334"/>
<line x1="150" y1="0" x2="150" y2="1334"/>
<line x1="225" y1="0" x2="225" y2="1334"/>
<line x1="300" y1="0" x2="300" y2="1334"/>
<line x1="375" y1="0" x2="375" y2="1334"/>
<line x1="450" y1="0" x2="450" y2="1334"/>
<line x1="525" y1="0" x2="525" y2="1334"/>
<line x1="600" y1="0" x2="600" y2="1334"/>
<line x1="675" y1="0" x2="675" y2="1334"/>
</g>
<!-- floating orb 1 (top-left) -->
<ellipse cx="120" cy="220" rx="200" ry="200" fill="url(#orb1)">
<animateTransform attributeName="transform" type="translate" values="0,0; 30,25; -15,40; 0,0" dur="8s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1;0.4 0 0.6 1"/>
<animate attributeName="opacity" values="0.7;1;0.6;0.7" dur="8s" repeatCount="indefinite"/>
</ellipse>
<!-- floating orb 2 (top-right) -->
<ellipse cx="650" cy="300" rx="180" ry="180" fill="url(#orb2)">
<animateTransform attributeName="transform" type="translate" values="0,0; -25,20; 10,-30; 0,0" dur="9s" begin="-2s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1;0.4 0 0.6 1"/>
<animate attributeName="opacity" values="0.6;0.9;0.5;0.6" dur="9s" begin="-2s" repeatCount="indefinite"/>
</ellipse>
<!-- floating orb 3 (mid) -->
<ellipse cx="375" cy="700" rx="240" ry="160" fill="url(#orb3)">
<animateTransform attributeName="transform" type="translate" values="0,0; 20,-20; -20,15; 0,0" dur="11s" begin="-4s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1;0.4 0 0.6 1"/>
<animate attributeName="opacity" values="0.5;0.8;0.4;0.5" dur="11s" begin="-4s" repeatCount="indefinite"/>
</ellipse>
<!-- floating orb 4 (bottom) -->
<ellipse cx="200" cy="1100" rx="220" ry="220" fill="url(#orb4)">
<animateTransform attributeName="transform" type="translate" values="0,0; 35,-15; -10,25; 0,0" dur="10s" begin="-6s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1;0.4 0 0.6 1"/>
<animate attributeName="opacity" values="0.6;0.9;0.5;0.6" dur="10s" begin="-6s" repeatCount="indefinite"/>
</ellipse>
<!-- floating orb 5 (bottom-right) -->
<ellipse cx="600" cy="1050" rx="170" ry="170" fill="url(#orb2)">
<animateTransform attributeName="transform" type="translate" values="0,0; -20,30; 15,-20; 0,0" dur="7s" begin="-3s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1;0.4 0 0.6 1"/>
<animate attributeName="opacity" values="0.5;0.8;0.45;0.5" dur="7s" begin="-3s" repeatCount="indefinite"/>
</ellipse>
<!-- decorative ring 1 -->
<circle cx="100" cy="450" r="60" stroke="#3b82f6" stroke-width="1.5" fill="none" opacity="0.12">
<animate attributeName="r" values="60;72;60" dur="6s" repeatCount="indefinite"/>
<animate attributeName="opacity" values="0.12;0.22;0.12" dur="6s" repeatCount="indefinite"/>
</circle>
<circle cx="100" cy="450" r="40" stroke="#3b82f6" stroke-width="1" fill="none" opacity="0.08">
<animate attributeName="r" values="40;50;40" dur="6s" repeatCount="indefinite"/>
</circle>
<!-- decorative ring 2 -->
<circle cx="660" cy="900" r="55" stroke="#06b6d4" stroke-width="1.5" fill="none" opacity="0.12">
<animate attributeName="r" values="55;67;55" dur="7s" begin="-2s" repeatCount="indefinite"/>
<animate attributeName="opacity" values="0.12;0.2;0.12" dur="7s" begin="-2s" repeatCount="indefinite"/>
</circle>
<!-- floating particles -->
<circle cx="180" cy="580" r="4" fill="#3b82f6" opacity="0.3">
<animate attributeName="cy" values="580;555;580" dur="5s" repeatCount="indefinite"/>
<animate attributeName="opacity" values="0.3;0.6;0.3" dur="5s" repeatCount="indefinite"/>
</circle>
<circle cx="560" cy="480" r="3" fill="#06b6d4" opacity="0.25">
<animate attributeName="cy" values="480;460;480" dur="6s" begin="-1s" repeatCount="indefinite"/>
<animate attributeName="opacity" values="0.25;0.5;0.25" dur="6s" begin="-1s" repeatCount="indefinite"/>
</circle>
<circle cx="330" cy="900" r="3.5" fill="#6366f1" opacity="0.25">
<animate attributeName="cy" values="900;880;900" dur="7s" begin="-3s" repeatCount="indefinite"/>
<animate attributeName="opacity" values="0.25;0.5;0.25" dur="7s" begin="-3s" repeatCount="indefinite"/>
</circle>
<circle cx="500" cy="750" r="2.5" fill="#3b82f6" opacity="0.2">
<animate attributeName="cy" values="750;732;750" dur="4.5s" begin="-2s" repeatCount="indefinite"/>
</circle>
<circle cx="80" cy="830" r="3" fill="#93c5fd" opacity="0.3">
<animate attributeName="cy" values="830;812;830" dur="8s" begin="-5s" repeatCount="indefinite"/>
</circle>
<!-- diamond sparkles -->
<g opacity="0.18">
<polygon points="420,150 425,160 420,170 415,160" fill="#3b82f6">
<animate attributeName="opacity" values="0.18;0.4;0.18" dur="3s" repeatCount="indefinite"/>
</polygon>
<polygon points="670,550 674,558 670,566 666,558"

After

Width:  |  Height:  |  Size: 6.7 KiB