@@ -1,4 +1,4 @@
|
|||||||
"""TickFlow Stock Panel backend."""
|
"""A股工作台 backend."""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ logger = logging.getLogger(__name__)
|
|||||||
@asynccontextmanager
|
@asynccontextmanager
|
||||||
async def lifespan(app: FastAPI):
|
async def lifespan(app: FastAPI):
|
||||||
logger.info(
|
logger.info(
|
||||||
"TickFlow Stock Panel v%s starting (mode=%s)",
|
"A股工作台 v%s starting (mode=%s)",
|
||||||
__version__, tf_client.current_mode(),
|
__version__, tf_client.current_mode(),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ async def lifespan(app: FastAPI):
|
|||||||
|
|
||||||
|
|
||||||
app = FastAPI(
|
app = FastAPI(
|
||||||
title="TickFlow Stock Panel",
|
title="A股工作台",
|
||||||
version=__version__,
|
version=__version__,
|
||||||
description="A 股选股 + 回测面板 — TickFlow 适配",
|
description="A 股选股 + 回测面板 — TickFlow 适配",
|
||||||
lifespan=lifespan,
|
lifespan=lifespan,
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
<meta name="theme-color" content="#8B5CF6" />
|
<meta name="theme-color" content="#8B5CF6" />
|
||||||
<title>TickFlow Stock Panel · Quant Terminal</title>
|
<title>A股工作台</title>
|
||||||
<link rel="preconnect" href="https://rsms.me/" />
|
<link rel="preconnect" href="https://rsms.me/" />
|
||||||
<link rel="stylesheet" href="https://rsms.me/inter/inter.css" />
|
<link rel="stylesheet" href="https://rsms.me/inter/inter.css" />
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ export function Logo({ className, size = 32, style }: LogoProps) {
|
|||||||
className={className}
|
className={className}
|
||||||
style={style}
|
style={style}
|
||||||
role="img"
|
role="img"
|
||||||
aria-label="TickFlow Stock Panel"
|
aria-label="A股工作台"
|
||||||
>
|
>
|
||||||
{/* 左方括号 */}
|
{/* 左方括号 */}
|
||||||
<path
|
<path
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ export function Auth() {
|
|||||||
{/* Logo */}
|
{/* Logo */}
|
||||||
<div className="mb-6 flex flex-col items-center gap-2">
|
<div className="mb-6 flex flex-col items-center gap-2">
|
||||||
<Logo className="h-10 w-10" />
|
<Logo className="h-10 w-10" />
|
||||||
<h1 className="text-lg font-semibold text-foreground">TickFlow Stock Panel</h1>
|
<h1 className="text-lg font-semibold text-foreground">A股工作台</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="rounded-card border border-border bg-surface/90 p-6 shadow-2xl backdrop-blur">
|
<div className="rounded-card border border-border bg-surface/90 p-6 shadow-2xl backdrop-blur">
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ interface Variant {
|
|||||||
glow?: string // 名字下方的发光线条 hex
|
glow?: string // 名字下方的发光线条 hex
|
||||||
}
|
}
|
||||||
|
|
||||||
// 同一个名字 "TickFlow Stock Panel" 在 4 种风格语言里的呈现
|
// 同一个名字 "A股工作台" 在 4 种风格语言里的呈现
|
||||||
// 长字符串自动用更小字号 + 更窄字距,免得撑爆卡片;但风格语言(字体/字重/配色/图标)保持不变
|
// 长字符串自动用更小字号 + 更窄字距,免得撑爆卡片;但风格语言(字体/字重/配色/图标)保持不变
|
||||||
const VARIANTS: Variant[] = [
|
const VARIANTS: Variant[] = [
|
||||||
{
|
{
|
||||||
id: 'pulsar',
|
id: 'pulsar',
|
||||||
name: 'TickFlow Stock Panel',
|
name: 'A股工作台',
|
||||||
tagline: 'A-SHARE · SIGNAL TERMINAL',
|
tagline: 'A-SHARE · SIGNAL TERMINAL',
|
||||||
hint: '脉冲星、雷达波纹 — 青绿强调色,字重黑体,中等字距',
|
hint: '脉冲星、雷达波纹 — 青绿强调色,字重黑体,中等字距',
|
||||||
icon: RadioTower,
|
icon: RadioTower,
|
||||||
@@ -40,7 +40,7 @@ const VARIANTS: Variant[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'vanta',
|
id: 'vanta',
|
||||||
name: 'TickFlow Stock Panel',
|
name: 'A股工作台',
|
||||||
tagline: 'MARKET · INTELLIGENCE',
|
tagline: 'MARKET · INTELLIGENCE',
|
||||||
hint: 'Vantablack — 纯白单色,字重最重,字距最宽,monochrome 高级感',
|
hint: 'Vantablack — 纯白单色,字重最重,字距最宽,monochrome 高级感',
|
||||||
icon: Square,
|
icon: Square,
|
||||||
@@ -50,7 +50,7 @@ const VARIANTS: Variant[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'helix',
|
id: 'helix',
|
||||||
name: 'TickFlow Stock Panel',
|
name: 'A股工作台',
|
||||||
tagline: 'QUANT · TERMINAL',
|
tagline: 'QUANT · TERMINAL',
|
||||||
hint: 'DNA 螺旋 — 紫色强调,等宽字体,赛博朋克经典意象',
|
hint: 'DNA 螺旋 — 紫色强调,等宽字体,赛博朋克经典意象',
|
||||||
icon: GitFork,
|
icon: GitFork,
|
||||||
@@ -60,7 +60,7 @@ const VARIANTS: Variant[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'aurora',
|
id: 'aurora',
|
||||||
name: 'TickFlow Stock Panel',
|
name: 'A股工作台',
|
||||||
tagline: 'A-SHARE · DASHBOARD',
|
tagline: 'A-SHARE · DASHBOARD',
|
||||||
hint: '极光 — 青色强调,细字优雅,适中字距,与涨跌语义色不冲突',
|
hint: '极光 — 青色强调,细字优雅,适中字距,与涨跌语义色不冲突',
|
||||||
icon: Sparkles,
|
icon: Sparkles,
|
||||||
@@ -85,7 +85,7 @@ export function Branding() {
|
|||||||
<>
|
<>
|
||||||
<PageHeader
|
<PageHeader
|
||||||
title="视觉风格预览"
|
title="视觉风格预览"
|
||||||
subtitle="名字保持 TickFlow Stock Panel,4 种赛博朋克 + 高级感的视觉处理 — 字重、字距、配色、图标各不同。挑你最喜欢的告诉我。"
|
subtitle="名字「A股工作台」的 4 种赛博朋克 + 高级感的视觉处理 — 字重、字距、配色、图标各不同。挑你最喜欢的告诉我。"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div className="px-8 py-6">
|
<div className="px-8 py-6">
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ export function Onboarding() {
|
|||||||
className="shrink-0"
|
className="shrink-0"
|
||||||
style={{ color: BRAND, filter: `drop-shadow(0 0 8px ${BRAND}55)` }}
|
style={{ color: BRAND, filter: `drop-shadow(0 0 8px ${BRAND}55)` }}
|
||||||
/>
|
/>
|
||||||
<span className="text-sm font-semibold tracking-tight">TickFlow Stock Panel</span>
|
<span className="text-sm font-semibold tracking-tight">A股工作台</span>
|
||||||
</div>
|
</div>
|
||||||
{/* 步骤进度条 —— 胶囊式 */}
|
{/* 步骤进度条 —— 胶囊式 */}
|
||||||
<div className="flex items-center gap-1.5">
|
<div className="flex items-center gap-1.5">
|
||||||
@@ -179,7 +179,7 @@ function WelcomeStep({ onNext, onSkip }: { onNext: () => void; onSkip: () => voi
|
|||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
||||||
<h1 className="mt-6 text-3xl font-bold text-foreground tracking-tight">
|
<h1 className="mt-6 text-3xl font-bold text-foreground tracking-tight">
|
||||||
欢迎使用 TickFlow Stock Panel
|
欢迎使用 A股工作台
|
||||||
</h1>
|
</h1>
|
||||||
<p className="mt-3 text-sm text-secondary leading-relaxed max-w-md mx-auto">
|
<p className="mt-3 text-sm text-secondary leading-relaxed max-w-md mx-auto">
|
||||||
一个本地化的 A 股量化分析面板 —— 行情、选股、回测、监控、财务一体化。
|
一个本地化的 A 股量化分析面板 —— 行情、选股、回测、监控、财务一体化。
|
||||||
|
|||||||
Reference in New Issue
Block a user