feat: implement scan terminal dashboard with dedicated API route and service layer

This commit is contained in:
2569718930@qq.com
2026-04-26 02:22:56 +08:00
parent e6dbef1ece
commit 9bbb713d45
4 changed files with 229 additions and 40 deletions
@@ -10993,6 +10993,19 @@
border-radius: 18px;
background: #111a2e;
box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
opacity: 1;
transform: translateX(0);
transition:
opacity 0.24s ease,
transform 0.24s ease,
border-color 0.18s ease,
background 0.18s ease;
}
.root :global(.scan-ai-city-card.removing) {
pointer-events: none;
opacity: 0;
transform: translateX(44px);
}
.root :global(.scan-ai-city-hero) {
@@ -11063,7 +11076,7 @@
margin-top: 4px;
}
.root :global(.scan-ai-city-pin),
.root :global(.scan-ai-city-icon-button),
.root :global(.scan-ai-city-collapse),
.root :global(.scan-ai-city-price-button) {
min-height: 36px;
@@ -11080,25 +11093,33 @@
transition: background 0.18s ease, border-color 0.18s ease;
}
.root :global(.scan-ai-city-pin) {
.root :global(.scan-ai-city-icon-button) {
width: 36px;
justify-content: center;
padding: 0;
}
.root :global(.scan-ai-city-pin.pinned) {
border-color: rgba(77, 163, 255, 0.72);
background: rgba(77, 163, 255, 0.2);
color: #6fb7ff;
box-shadow: inset 0 0 0 1px rgba(77, 163, 255, 0.12);
.root :global(.scan-ai-city-icon-button.danger) {
border-color: rgba(239, 68, 68, 0.34);
background: rgba(239, 68, 68, 0.1);
color: #fca5a5;
}
.root :global(.scan-ai-city-pin.pinned:hover) {
.root :global(.scan-ai-city-icon-button.danger:hover) {
border-color: rgba(239, 68, 68, 0.52);
background: rgba(239, 68, 68, 0.14);
color: #ff9aa4;
}
.root :global(.scan-ai-city-icon-button:disabled) {
cursor: wait;
opacity: 0.68;
}
.root :global(.scan-ai-city-icon-button .spin) {
animation: spin 1s linear infinite;
}
.root :global(.scan-ai-city-collapse) {
padding: 8px 10px;
}
@@ -11115,7 +11136,7 @@
padding: 9px 12px;
}
.root :global(.scan-ai-city-pin:hover),
.root :global(.scan-ai-city-icon-button:hover),
.root :global(.scan-ai-city-collapse:hover),
.root :global(.scan-ai-city-price-button:hover) {
background: rgba(77, 163, 255, 0.18);