This commit is contained in:
aaron 2025-05-15 01:07:09 +08:00
parent 398ec0306e
commit 5fa2d869f7
6 changed files with 26 additions and 58 deletions

View File

@ -5,7 +5,7 @@ services:
build: build:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
image: tradus-web:1.12 image: tradus-web:1.13
container_name: tradus-web container_name: tradus-web
ports: ports:
- '6000:80' - '6000:80'

View File

@ -17,7 +17,7 @@ const router = createRouter({
name: 'ai-agents', name: 'ai-agents',
component: () => import('../views/AIAgentsView.vue'), component: () => import('../views/AIAgentsView.vue'),
meta: { meta: {
title: 'AI 专家团队', title: 'AI 助理团队',
}, },
}, },
{ {
@ -60,7 +60,7 @@ const router = createRouter({
component: StockAnalysisView, component: StockAnalysisView,
meta: { meta: {
requiresAuth: true, requiresAuth: true,
title: '股票分析专家', title: '股票分析助理',
}, },
}, },
{ {
@ -69,7 +69,7 @@ const router = createRouter({
component: () => import('../views/CryptoAnalysisView.vue'), component: () => import('../views/CryptoAnalysisView.vue'),
meta: { meta: {
requiresAuth: true, requiresAuth: true,
title: '加密货币分析专家', title: '加密货币分析助理',
}, },
}, },
{ {
@ -78,7 +78,7 @@ const router = createRouter({
component: () => import('../views/AStockAnalysisView.vue'), component: () => import('../views/AStockAnalysisView.vue'),
meta: { meta: {
requiresAuth: true, requiresAuth: true,
title: 'A股分析专家', title: 'A股分析助理',
}, },
}, },
], ],

View File

@ -6,7 +6,7 @@ const router = useRouter()
const agents = [ const agents = [
{ {
id: 'crypto-analysis', id: 'crypto-analysis',
name: '加密货币AI分析专家', name: '加密货币AI分析助理',
description: '通过 AI 技术,获取加密货币的深度分析报告', description: '通过 AI 技术,获取加密货币的深度分析报告',
icon: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> icon: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M7 12l5-5 5 5M7 17l5-5 5 5"/> <path d="M7 12l5-5 5 5M7 17l5-5 5 5"/>
@ -15,7 +15,7 @@ const agents = [
}, },
{ {
id: 'astock-analysis', id: 'astock-analysis',
name: 'A股AI分析专家', name: 'A股AI分析助理',
description: '通过 AI 技术,获取 A 股上市公司的深度分析报告', description: '通过 AI 技术,获取 A 股上市公司的深度分析报告',
icon: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> icon: `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path> <path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path>
@ -35,7 +35,7 @@ const navigateToAgent = (route: string) => {
<div class="ai-agents-view"> <div class="ai-agents-view">
<div class="content-container"> <div class="content-container">
<div class="header-section"> <div class="header-section">
<h1 class="title">AI 专家团队</h1> <h1 class="title">AI 助理团队</h1>
<p class="description">选择专业的 AI 助手获取精准的分析和建议</p> <p class="description">选择专业的 AI 助手获取精准的分析和建议</p>
</div> </div>
@ -51,18 +51,6 @@ const navigateToAgent = (route: string) => {
<h3 class="agent-name">{{ agent.name }}</h3> <h3 class="agent-name">{{ agent.name }}</h3>
<p class="agent-description">{{ agent.description }}</p> <p class="agent-description">{{ agent.description }}</p>
</div> </div>
<div class="card-arrow">
<svg
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 12h14M12 5l7 7-7 7" />
</svg>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -80,6 +68,7 @@ const navigateToAgent = (route: string) => {
max-width: 800px; max-width: 800px;
margin: 0 auto; margin: 0 auto;
width: 100%; width: 100%;
margin-top: 6rem;
} }
.header-section { .header-section {
@ -95,7 +84,7 @@ const navigateToAgent = (route: string) => {
} }
.description { .description {
font-size: 1rem; font-size: 0.95rem;
color: var(--color-text-secondary); color: var(--color-text-secondary);
} }
@ -115,7 +104,6 @@ const navigateToAgent = (route: string) => {
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
gap: 1rem; gap: 1rem;
position: relative;
} }
.agent-card:hover { .agent-card:hover {
@ -137,7 +125,7 @@ const navigateToAgent = (route: string) => {
} }
.agent-name { .agent-name {
font-size: 1.1rem; font-size: 1rem;
font-weight: 600; font-weight: 600;
color: var(--color-text-primary); color: var(--color-text-primary);
margin-bottom: 0.25rem; margin-bottom: 0.25rem;
@ -151,34 +139,16 @@ const navigateToAgent = (route: string) => {
} }
.card-arrow { .card-arrow {
position: absolute; display: none;
right: 1.25rem;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 20px;
color: var(--color-text-secondary);
opacity: 0.5;
transition: all 0.3s ease;
}
.agent-card:hover .card-arrow {
color: var(--color-accent);
opacity: 1;
transform: translate(4px, -50%);
} }
@media (max-width: 768px) { @media (max-width: 768px) {
.ai-agents-view {
padding: 1rem 0.75rem;
}
.title { .title {
font-size: 1.75rem; font-size: 1.75rem;
} }
.description { .description {
font-size: 0.95rem; font-size: 0.9rem;
} }
.agents-grid { .agents-grid {
@ -195,7 +165,7 @@ const navigateToAgent = (route: string) => {
} }
.agent-name { .agent-name {
font-size: 1rem; font-size: 0.95rem;
} }
.agent-description { .agent-description {
@ -204,16 +174,12 @@ const navigateToAgent = (route: string) => {
} }
@media (max-width: 480px) { @media (max-width: 480px) {
.ai-agents-view {
padding: 0.75rem 0.5rem;
}
.title { .title {
font-size: 1.5rem; font-size: 1.5rem;
} }
.description { .description {
font-size: 0.9rem; font-size: 0.85rem;
} }
.agent-card { .agent-card {
@ -225,10 +191,12 @@ const navigateToAgent = (route: string) => {
height: 24px; height: 24px;
} }
.card-arrow { .agent-name {
width: 16px; font-size: 0.9rem;
height: 16px; }
right: 1rem;
.agent-description {
font-size: 0.8rem;
} }
} }

View File

@ -165,7 +165,7 @@ const copyAnalysis = async () => {
<!-- 初始视图 --> <!-- 初始视图 -->
<div v-if="showInitialView" class="initial-content"> <div v-if="showInitialView" class="initial-content">
<div class="header-section"> <div class="header-section">
<h1 class="title">A股AI分析专家</h1> <h1 class="title">A股AI分析助理</h1>
<p class="description">通过 AI 技术获取 A 股上市公司的深度分析报告</p> <p class="description">通过 AI 技术获取 A 股上市公司的深度分析报告</p>
</div> </div>

View File

@ -175,7 +175,7 @@ const copyAnalysis = async () => {
<!-- 初始视图 --> <!-- 初始视图 -->
<div v-if="showInitialView" class="initial-content"> <div v-if="showInitialView" class="initial-content">
<div class="header-section"> <div class="header-section">
<h1 class="title">加密货币AI分析专家</h1> <h1 class="title">加密货币AI分析助理</h1>
<p class="description">通过 AI 技术获取加密货币的深度分析报告</p> <p class="description">通过 AI 技术获取加密货币的深度分析报告</p>
</div> </div>
@ -188,7 +188,7 @@ const copyAnalysis = async () => {
v-model="cryptoCode" v-model="cryptoCode"
type="text" type="text"
class="search-input" class="search-input"
placeholder="请输入加密货币代码,如 BTC" placeholder="请输入加密货币代码,如 BTC、ETH、SOL"
@keydown="handleKeydown" @keydown="handleKeydown"
:disabled="isAnalyzing" :disabled="isAnalyzing"
/> />
@ -1022,7 +1022,7 @@ const copyAnalysis = async () => {
display: inline-block; display: inline-block;
padding: 0.25rem 0.75rem; padding: 0.25rem 0.75rem;
border-radius: var(--border-radius); border-radius: var(--border-radius);
font-size: 0.9rem; /* font-size: 0.9rem; */
color: var(--color-text-secondary); color: var(--color-text-secondary);
background-color: var(--color-bg-secondary); background-color: var(--color-bg-secondary);
transition: all 0.2s ease; transition: all 0.2s ease;

View File

@ -117,7 +117,7 @@ const formatListDate = (dateString: string) => {
<div class="stock-analysis-view" @click="handleClickOutside"> <div class="stock-analysis-view" @click="handleClickOutside">
<div class="content-container"> <div class="content-container">
<div class="header-section"> <div class="header-section">
<h1 class="title">股票分析专家</h1> <h1 class="title">股票分析助理</h1>
<p class="description">输入股票代码或名称至少2个字符获取AI驱动的专业分析报告</p> <p class="description">输入股票代码或名称至少2个字符获取AI驱动的专业分析报告</p>
</div> </div>