update
This commit is contained in:
parent
bc1b5a4e8a
commit
d990ec8d15
@ -3,7 +3,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
image: tradus-web:1.3.42
|
image: tradus-web:1.3.43
|
||||||
container_name: tradus-web
|
container_name: tradus-web
|
||||||
ports:
|
ports:
|
||||||
- '6000:80'
|
- '6000:80'
|
||||||
|
|||||||
17
src/App.vue
17
src/App.vue
@ -33,9 +33,8 @@ const fetchUserInfo = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const data = await response.json()
|
const data = await response.json()
|
||||||
userStore.$patch((state) => {
|
// 使用 updateUserInfo 方法确保正确更新用户信息和本地存储
|
||||||
state.userInfo = data
|
userStore.updateUserInfo(data)
|
||||||
})
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('获取用户数据失败:', error)
|
console.error('获取用户数据失败:', error)
|
||||||
// 处理在http工具中已经实现,这里不需要重复处理
|
// 处理在http工具中已经实现,这里不需要重复处理
|
||||||
@ -595,6 +594,10 @@ onUnmounted(() => {
|
|||||||
<span class="user-email-display" :title="userInfo?.mail">{{
|
<span class="user-email-display" :title="userInfo?.mail">{{
|
||||||
userInfo?.mail || '未设置邮箱'
|
userInfo?.mail || '未设置邮箱'
|
||||||
}}</span>
|
}}</span>
|
||||||
|
<div class="user-points">
|
||||||
|
<span class="points-icon">💰</span>
|
||||||
|
<span class="points-value">{{ userInfo?.points || 0 }} 积分</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<svg
|
<svg
|
||||||
class="info-icon"
|
class="info-icon"
|
||||||
@ -627,6 +630,10 @@ onUnmounted(() => {
|
|||||||
<span class="user-email-display" :title="userInfo?.mail">{{
|
<span class="user-email-display" :title="userInfo?.mail">{{
|
||||||
userInfo?.mail || '未设置邮箱'
|
userInfo?.mail || '未设置邮箱'
|
||||||
}}</span>
|
}}</span>
|
||||||
|
<div class="user-points">
|
||||||
|
<span class="points-icon">💰</span>
|
||||||
|
<span class="points-value">{{ userInfo?.points || 0 }} 积分</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<svg
|
<svg
|
||||||
class="info-icon"
|
class="info-icon"
|
||||||
@ -951,6 +958,10 @@ onUnmounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
<div class="user-basic-info">
|
<div class="user-basic-info">
|
||||||
<h3 class="user-display-name">{{ userInfo?.mail || '未设置邮箱' }}</h3>
|
<h3 class="user-display-name">{{ userInfo?.mail || '未设置邮箱' }}</h3>
|
||||||
|
<div class="user-points-display">
|
||||||
|
<span class="points-icon">💰</span>
|
||||||
|
<span class="points-text">积分余额:{{ userInfo?.points || 0 }}</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -667,6 +667,16 @@ const stopStreaming = async () => {
|
|||||||
</div>
|
</div>
|
||||||
<h3>AI交易智能体</h3>
|
<h3>AI交易智能体</h3>
|
||||||
<p>为您提供市场分析、交易建议和投资策略</p>
|
<p>为您提供市场分析、交易建议和投资策略</p>
|
||||||
|
|
||||||
|
<!-- 积分消耗提示 -->
|
||||||
|
<div class="points-notice">
|
||||||
|
<div class="points-notice-icon">💰</div>
|
||||||
|
<div class="points-notice-text">
|
||||||
|
<strong>积分消耗提示:</strong>每次分析消耗
|
||||||
|
<span class="points-amount">20 积分</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="example-questions">
|
<div class="example-questions">
|
||||||
<p class="example-title">快速点击分析:</p>
|
<p class="example-title">快速点击分析:</p>
|
||||||
<div class="example-grid">
|
<div class="example-grid">
|
||||||
@ -1138,10 +1148,46 @@ const stopStreaming = async () => {
|
|||||||
|
|
||||||
.welcome-content p {
|
.welcome-content p {
|
||||||
color: var(--color-text-secondary);
|
color: var(--color-text-secondary);
|
||||||
margin-bottom: 2rem;
|
margin-bottom: 1.5rem;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 移动端积分提示样式 */
|
||||||
|
.points-notice {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.75rem;
|
||||||
|
padding: 1rem 1.25rem;
|
||||||
|
background-color: rgba(255, 193, 7, 0.1);
|
||||||
|
border: 1px solid rgba(255, 193, 7, 0.3);
|
||||||
|
border-radius: 12px;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
max-width: 100%;
|
||||||
|
box-shadow: 0 2px 8px rgba(255, 193, 7, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-notice-icon {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-notice-text {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: var(--color-text-primary);
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-notice-text strong {
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--color-text-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-amount {
|
||||||
|
color: #f59e0b;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
.example-questions {
|
.example-questions {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -1577,6 +1623,23 @@ const stopStreaming = async () => {
|
|||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 移动端积分提示样式 */
|
||||||
|
.points-notice {
|
||||||
|
padding: 0.75rem 1rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
gap: 0.5rem;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
margin-right: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-notice-icon {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-notice-text {
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
|
|
||||||
.example-questions {
|
.example-questions {
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
@ -1749,6 +1812,23 @@ const stopStreaming = async () => {
|
|||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 小屏幕积分提示样式 */
|
||||||
|
.points-notice {
|
||||||
|
padding: 0.6rem 0.75rem;
|
||||||
|
margin-bottom: 1.25rem;
|
||||||
|
gap: 0.4rem;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-notice-icon {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-notice-text {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
.example-questions {
|
.example-questions {
|
||||||
gap: 0.75rem;
|
gap: 0.75rem;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user