diff --git a/frontend/src/components/icons/CloudBrandIcon.tsx b/frontend/src/components/icons/CloudBrandIcon.tsx
index 4a9d408..c836ddd 100644
--- a/frontend/src/components/icons/CloudBrandIcon.tsx
+++ b/frontend/src/components/icons/CloudBrandIcon.tsx
@@ -1,12 +1,18 @@
/**
* CloudBrandIcon — 云厂商品牌 SVG 图标
- * 数据来源: simple-icons (TechIcons.dev / VectorLogo.zone 同源)
+ * 数据来源: simple-icons / Wikimedia Commons (官方品牌资源)
* 用法:
*/
+interface IconPath {
+ d: string;
+ fill?: string; // 单独指定该 path 的颜色,不指定则用 color
+}
+
interface BrandIcon {
viewBox: string;
- path: string;
+ path?: string; // 单路径图标(向后兼容)
+ paths?: IconPath[]; // 多路径多色图标(如腾讯云)
color: string;
}
@@ -32,9 +38,18 @@ const ICONS: Record = {
path: 'M3.996 4.517h5.291L8.01 6.324 4.153 7.506a1.668 1.668 0 0 0-1.165 1.601v5.786a1.668 1.668 0 0 0 1.165 1.6l3.857 1.183 1.277 1.807H3.996A3.996 3.996 0 0 1 0 15.487V8.513a3.996 3.996 0 0 1 3.996-3.996m16.008 0h-5.291l1.277 1.807 3.857 1.182c.715.227 1.17.889 1.165 1.601v5.786a1.668 1.668 0 0 1-1.165 1.6l-3.857 1.183-1.277 1.807h5.291A3.996 3.996 0 0 0 24 15.487V8.513a3.996 3.996 0 0 0-3.996-3.996m-4.007 8.345H8.002v-1.804h7.995Z',
},
tencent: {
- viewBox: '0 0 24 24',
+ // 腾讯云官方 Logo(三色云形图案)
+ // 来源: https://commons.wikimedia.org/wiki/File:Tencent_Cloud_Logo.svg
+ viewBox: '220 60 620 430',
color: '#006EFF',
- path: 'M11.984.142a11.8 11.8 0 0 0-11.79 11.842 11.78 11.78 0 0 0 3.692 8.55l2.001-1.999a8.98 8.98 0 0 1-2.74-6.551 8.99 8.99 0 0 1 8.837-9.034 8.992 8.992 0 1 1-.096 17.983l-3.866 3.86c1.21.189 2.45.285 3.702.285A11.8 11.8 0 0 0 11.984.142zm-.197 7.453a4.402 4.402 0 0 0-4.366 4.405 4.4 4.4 0 0 0 4.4 4.403 4.405 4.405 0 0 0 4.405-4.403 4.406 4.406 0 0 0-4.405-4.405h-.034z',
+ paths: [
+ // 顶部弧线 — 深蓝
+ { fill: '#006EFF', d: 'M685.3,188.5c-24.7-66.3-88-110.4-158.8-110.5c-84.8,0-152.2,62.8-165.3,140.8c6.5,0,13.1-2.1,21.8-2.1c8.7,0,19.6,2.1,28.3,2.1c10.9-54.2,58.7-93.2,115.3-93.2c47.8,0,89.2,28.2,108.7,69.3c0,0,2.2,2.2,2.2,0C652.6,192.8,670,188.5,685.3,188.5L685.3,188.5' },
+ // 左侧云体 — 青色
+ { fill: '#00C8DC', d: 'M456.9,242.6c-23.9-17.3-47.9-26-76.1-26c-33.9,0-66.2,14.2-89.2,39c-48.4,49.7-47.4,129.2,2.2,177.7c21.7,19.5,43.5,30.3,69.6,32.5l50-47.7h-28.3c-28.3-2.1-45.7-10.8-56.5-21.6c-30-29.6-30.9-77.6-2.2-108.3c15.2-15.2,32.6-21.7,54.4-21.7c13.1,0,32.6,2.1,52.2,21.6c8.7,8.7,32.6,26,41.3,34.7h2.1l32.6-32.5v-2.2C493.9,273,470,253.5,456.9,242.6' },
+ // 右侧云体 — 浅蓝
+ { fill: '#00A3FF', d: 'M724.4,396.5c-8.7,8.7-26.1,21.7-56.5,21.7h-187c56.5-54.1,104.4-99.6,108.8-104c8.3-8.4,17-16.3,26.1-23.8c21.8-19.5,39.1-21.7,54.4-21.7c21.7,0,39.1,8.7,54.4,21.6C754.9,318.5,754.9,368.4,724.4,396.5z M761.4,255.6c-23-24.8-55.3-39-89.2-39c-30.4,0-56.5,10.9-80.5,28.2c-8.8,8.7-21.8,17.3-32.7,30.3c-8.7,8.7-195.7,190.7-195.7,190.7c10.9,2.2,23.9,2.2,34.8,2.2h237.1c17.4,0,30.5,0,43.5-2.2c30-2.2,58.3-14.4,80.5-34.7C809.2,383.5,809.2,303.4,761.4,255.6L761.4,255.6' },
+ ],
},
huawei: {
viewBox: '0 0 24 24',
@@ -59,7 +74,13 @@ export function CloudBrandIcon({ provider, className = 'h-5 w-5' }: Props) {
role="img"
aria-label={provider}
>
-
+ {icon.paths ? (
+ icon.paths.map((p, i) => (
+
+ ))
+ ) : (
+
+ )}
);
}