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:
context: .
dockerfile: Dockerfile
image: tradus-web:1.12
image: tradus-web:1.13
container_name: tradus-web
ports:
- '6000:80'

View File

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

View File

@ -6,7 +6,7 @@ const router = useRouter()
const agents = [
{
id: 'crypto-analysis',
name: '加密货币AI分析专家',
name: '加密货币AI分析助理',
description: '通过 AI 技术,获取加密货币的深度分析报告',
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"/>
@ -15,7 +15,7 @@ const agents = [
},
{
id: 'astock-analysis',
name: 'A股AI分析专家',
name: 'A股AI分析助理',
description: '通过 AI 技术,获取 A 股上市公司的深度分析报告',
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>
@ -35,7 +35,7 @@ const navigateToAgent = (route: string) => {
<div class="ai-agents-view">
<div class="content-container">
<div class="header-section">
<h1 class="title">AI 专家团队</h1>
<h1 class="title">AI 助理团队</h1>
<p class="description">选择专业的 AI 助手获取精准的分析和建议</p>
</div>
@ -51,18 +51,6 @@ const navigateToAgent = (route: string) => {
<h3 class="agent-name">{{ agent.name }}</h3>
<p class="agent-description">{{ agent.description }}</p>
</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>
@ -80,6 +68,7 @@ const navigateToAgent = (route: string) => {
max-width: 800px;
margin: 0 auto;
width: 100%;
margin-top: 6rem;
}
.header-section {
@ -95,7 +84,7 @@ const navigateToAgent = (route: string) => {
}
.description {
font-size: 1rem;
font-size: 0.95rem;
color: var(--color-text-secondary);
}
@ -115,7 +104,6 @@ const navigateToAgent = (route: string) => {
display: flex;
align-items: flex-start;
gap: 1rem;
position: relative;
}
.agent-card:hover {
@ -137,7 +125,7 @@ const navigateToAgent = (route: string) => {
}
.agent-name {
font-size: 1.1rem;
font-size: 1rem;
font-weight: 600;
color: var(--color-text-primary);
margin-bottom: 0.25rem;
@ -151,34 +139,16 @@ const navigateToAgent = (route: string) => {
}
.card-arrow {
position: absolute;
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%);
display: none;
}
@media (max-width: 768px) {
.ai-agents-view {
padding: 1rem 0.75rem;
}
.title {
font-size: 1.75rem;
}
.description {
font-size: 0.95rem;
font-size: 0.9rem;
}
.agents-grid {
@ -195,7 +165,7 @@ const navigateToAgent = (route: string) => {
}
.agent-name {
font-size: 1rem;
font-size: 0.95rem;
}
.agent-description {
@ -204,16 +174,12 @@ const navigateToAgent = (route: string) => {
}
@media (max-width: 480px) {
.ai-agents-view {
padding: 0.75rem 0.5rem;
}
.title {
font-size: 1.5rem;
}
.description {
font-size: 0.9rem;
font-size: 0.85rem;
}
.agent-card {
@ -225,10 +191,12 @@ const navigateToAgent = (route: string) => {
height: 24px;
}
.card-arrow {
width: 16px;
height: 16px;
right: 1rem;
.agent-name {
font-size: 0.9rem;
}
.agent-description {
font-size: 0.8rem;
}
}

View File

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

View File

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

View File

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