mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-10-02 16:37:53 +00:00
feat(ai): 新增AI助手功能及相关组件
refactor(websocket): 重构WebSocket服务管理及字典同步功能 style(login): 优化登录页面样式及背景图 perf(menu): 改进菜单项展开状态监听逻辑 build: 更新依赖并添加prettier和lint-staged配置 docs: 更新README和注释说明 chore: 清理无用代码和文件
This commit is contained in:
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 1400 800">
|
||||
<defs>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
#bg-layer { fill: url(#bgDark); }
|
||||
#soft-glow { fill: url(#glowDark); }
|
||||
.accent-arc { stroke: rgba(118, 156, 255, 0.35); }
|
||||
.accent-dot { fill: rgba(154, 188, 255, 0.45); }
|
||||
}
|
||||
</style>
|
||||
|
||||
<linearGradient id="bgLight" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#f3f7ff" />
|
||||
<stop offset="60%" stop-color="#e3edff" />
|
||||
<stop offset="100%" stop-color="#d6e7ff" />
|
||||
</linearGradient>
|
||||
|
||||
<linearGradient id="bgDark" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#0b1324" />
|
||||
<stop offset="60%" stop-color="#162135" />
|
||||
<stop offset="100%" stop-color="#1e2c44" />
|
||||
</linearGradient>
|
||||
|
||||
<radialGradient id="glowLight" cx="20%" cy="15%" r="60%">
|
||||
<stop offset="0%" stop-color="rgba(64,128,255,0.35)" />
|
||||
<stop offset="40%" stop-color="rgba(64,128,255,0.18)" />
|
||||
<stop offset="100%" stop-color="rgba(64,128,255,0)" />
|
||||
</radialGradient>
|
||||
|
||||
<radialGradient id="glowDark" cx="20%" cy="15%" r="60%">
|
||||
<stop offset="0%" stop-color="rgba(98,142,255,0.4)" />
|
||||
<stop offset="50%" stop-color="rgba(98,142,255,0.18)" />
|
||||
<stop offset="100%" stop-color="rgba(98,142,255,0)" />
|
||||
</radialGradient>
|
||||
|
||||
<radialGradient id="glowSecondary" cx="80%" cy="70%" r="55%">
|
||||
<stop offset="0%" stop-color="rgba(22,93,255,0.3)" />
|
||||
<stop offset="50%" stop-color="rgba(22,93,255,0.12)" />
|
||||
<stop offset="100%" stop-color="rgba(22,93,255,0)" />
|
||||
</radialGradient>
|
||||
|
||||
<linearGradient id="meshLight" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="rgba(255,255,255,0.6)" />
|
||||
<stop offset="35%" stop-color="rgba(255,255,255,0.2)" />
|
||||
<stop offset="100%" stop-color="rgba(255,255,255,0)" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<rect id="bg-layer" width="100%" height="100%" fill="url(#bgLight)" />
|
||||
<rect id="soft-glow" width="100%" height="100%" fill="url(#glowLight)" />
|
||||
<rect width="100%" height="100%" fill="url(#glowSecondary)" />
|
||||
<rect width="100%" height="100%" fill="url(#meshLight)" />
|
||||
|
||||
<!-- 柔和块面光影,替代明显线条 -->
|
||||
<g opacity="0.45">
|
||||
<rect x="-40" y="520" width="520" height="220" rx="180" fill="rgba(255,255,255,0.25)" />
|
||||
<rect x="760" y="90" width="520" height="210" rx="180" fill="rgba(255,255,255,0.22)" />
|
||||
<rect x="420" y="620" width="560" height="190" rx="180" fill="rgba(255,255,255,0.18)" />
|
||||
</g>
|
||||
|
||||
<!-- 去掉点状噪声,仅保留大区域柔光 -->
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,71 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" width="100%" height="100%" viewBox="0 0 1400 800">
|
||||
<style>
|
||||
:root {
|
||||
--blue: rgba(64, 158, 255, 0.08);
|
||||
--grey: rgba(144, 147, 153, 0.05);
|
||||
--orange: rgba(230, 162, 60, 0.06);
|
||||
--green: rgba(144, 238, 144, 0.06);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--blue: rgba(64, 158, 255, 0.04);
|
||||
--grey: rgba(144, 147, 153, 0.03);
|
||||
--orange: rgba(230, 162, 60, 0.04);
|
||||
--green: rgba(144, 238, 144, 0.04);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- 左侧波浪 -->
|
||||
<path d="M-50 550 Q200 500 450 550 T950 530"
|
||||
fill="none"
|
||||
stroke="#409EFF"
|
||||
stroke-width="1.5"
|
||||
stroke-opacity="0.05"
|
||||
stroke-linecap="round">
|
||||
</path>
|
||||
|
||||
<!-- 右侧波浪 -->
|
||||
<path d="M450 650 Q800 620 1150 660 T1550 630"
|
||||
fill="none"
|
||||
stroke="#909399"
|
||||
stroke-width="1"
|
||||
stroke-opacity="0.03"
|
||||
stroke-linecap="round">
|
||||
</path>
|
||||
|
||||
<!-- 右下方圆形 -->
|
||||
<circle cx="950" cy="400" r="70"
|
||||
fill="var(--blue)"
|
||||
stroke="#409EFF"
|
||||
stroke-width="1"
|
||||
stroke-opacity="0.05">
|
||||
</circle>
|
||||
|
||||
<!-- 左上方半球形 -->
|
||||
<g transform="rotate(-10, 300, 180)">
|
||||
<path d="M 180 180 A 120 120 0 1 1 420 180 Q420 195 405 195 L 310 195 L 195 195 Q180 195 180 180"
|
||||
fill="var(--orange)"
|
||||
stroke="#E6A23C"
|
||||
stroke-width="1"
|
||||
stroke-opacity="0.05">
|
||||
</path>
|
||||
</g>
|
||||
|
||||
<!-- 左下方三角形 -->
|
||||
<path d="M300 600 L380 520 L420 650 Z"
|
||||
fill="var(--green)"
|
||||
stroke="#909399"
|
||||
stroke-width="1"
|
||||
stroke-opacity="0.04">
|
||||
</path>
|
||||
|
||||
<!-- 旋转方块 -->
|
||||
<rect x="1000" y="420" rx="10" ry="10" width="60" height="60" fill="rgba(169, 174, 184, 0.1)" stroke="rgba(169, 174, 184, 0.2)" stroke-width="1" opacity="0.5">
|
||||
<animateTransform attributeType="XML" attributeName="transform"
|
||||
begin="0s" dur="30s" type="rotate"
|
||||
from="0 1450 550" to="360 1450 550"
|
||||
repeatCount="indefinite"/>
|
||||
</rect>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
Reference in New Issue
Block a user