This commit is contained in:
aaron 2025-06-12 11:16:10 +08:00
parent ad919eb5ac
commit f1dd1f41f2
3 changed files with 85 additions and 5 deletions

View File

@ -3,7 +3,7 @@ services:
build: build:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
image: tradus-web:1.4.0 image: tradus-web:1.4.1
container_name: tradus-web container_name: tradus-web
ports: ports:
- '6000:80' - '6000:80'

View File

@ -636,7 +636,10 @@ onUnmounted(() => {
userInfo?.mail || '未设置邮箱' userInfo?.mail || '未设置邮箱'
}}</span> }}</span>
<div class="user-member-tag" v-if="userInfo?.member_name"> <div class="user-member-tag" v-if="userInfo?.member_name">
<span class="member-tag" :class="{ 'svip-tag': userInfo?.member_name === 'SVIP' }"> <span
class="member-tag"
:class="{ 'svip-tag': userInfo?.member_name.includes('VIP') }"
>
{{ userInfo.member_name }} {{ userInfo.member_name }}
</span> </span>
</div> </div>
@ -673,7 +676,10 @@ onUnmounted(() => {
userInfo?.mail || '未设置邮箱' userInfo?.mail || '未设置邮箱'
}}</span> }}</span>
<div class="user-member-tag" v-if="userInfo?.member_name"> <div class="user-member-tag" v-if="userInfo?.member_name">
<span class="member-tag" :class="{ 'svip-tag': userInfo?.member_name === 'SVIP' }"> <span
class="member-tag"
:class="{ 'svip-tag': userInfo?.member_name.includes('VIP') }"
>
{{ userInfo.member_name }} {{ userInfo.member_name }}
</span> </span>
</div> </div>
@ -1002,7 +1008,10 @@ onUnmounted(() => {
<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-member-info" v-if="userInfo?.member_name"> <div class="user-member-info" v-if="userInfo?.member_name">
<span class="member-tag" :class="{ 'svip-tag': userInfo?.member_name === 'SVIP' }"> <span
class="member-tag"
:class="{ 'svip-tag': userInfo?.member_name.includes('VIP') }"
>
{{ userInfo.member_name }} {{ userInfo.member_name }}
</span> </span>
</div> </div>

View File

@ -11,6 +11,15 @@
<!-- 订阅计划 --> <!-- 订阅计划 -->
<section class="subscription-plans"> <section class="subscription-plans">
<div class="container"> <div class="container">
<!-- VIP订阅提示 -->
<div class="subscription-tips">
<div class="tips-icon"></div>
<div class="tips-content">
<span class="tips-text"
>如果你已经是VIP现在购买将覆盖你之前的订阅时间不做叠加</span
>
</div>
</div>
<div class="plans-grid"> <div class="plans-grid">
<!-- 普通会员计划 --> <!-- 普通会员计划 -->
<div class="plan-card basic-plan"> <div class="plan-card basic-plan">
@ -65,7 +74,7 @@
<div class="plan-card premium-plan"> <div class="plan-card premium-plan">
<div class="plan-header"> <div class="plan-header">
<div class="plan-badge">推荐</div> <div class="plan-badge">推荐</div>
<h2 class="plan-title">VIP</h2> <h2 class="plan-title">VIP会员</h2>
<p class="plan-description">适合个人用户和专业投资者</p> <p class="plan-description">适合个人用户和专业投资者</p>
</div> </div>
<div class="plan-pricing"> <div class="plan-pricing">
@ -422,6 +431,38 @@ const confirmSubscription = async () => {
padding: 2rem; padding: 2rem;
} }
/* VIP订阅提示样式 */
.subscription-tips {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 1rem 1.25rem;
background: linear-gradient(135deg, #fef3c7, #fde68a);
border: 1px solid #f59e0b;
border-radius: 12px;
margin-bottom: 2rem;
box-shadow: 0 2px 8px rgba(245, 158, 11, 0.1);
max-width: 800px;
margin-left: auto;
margin-right: auto;
}
.subscription-tips .tips-icon {
font-size: 1.25rem;
flex-shrink: 0;
}
.subscription-tips .tips-content {
flex: 1;
}
.subscription-tips .tips-text {
font-size: 0.95rem;
color: #92400e;
line-height: 1.5;
font-weight: 500;
}
.container { .container {
max-width: 1200px; max-width: 1200px;
margin: 0 auto; margin: 0 auto;
@ -911,6 +952,21 @@ const confirmSubscription = async () => {
font-size: 2.5rem; font-size: 2.5rem;
} }
/* 移动端订阅提示样式 */
.subscription-tips {
padding: 0.875rem 1rem;
margin-bottom: 1.5rem;
gap: 0.5rem;
}
.subscription-tips .tips-icon {
font-size: 1.1rem;
}
.subscription-tips .tips-text {
font-size: 0.9rem;
}
.confirm-dialog { .confirm-dialog {
padding: 1.5rem; padding: 1.5rem;
margin: 1rem; margin: 1rem;
@ -937,5 +993,20 @@ const confirmSubscription = async () => {
.price { .price {
font-size: 2rem; font-size: 2rem;
} }
/* 小屏幕订阅提示样式 */
.subscription-tips {
padding: 0.75rem 0.875rem;
margin-bottom: 1.25rem;
gap: 0.5rem;
}
.subscription-tips .tips-icon {
font-size: 1rem;
}
.subscription-tips .tips-text {
font-size: 0.85rem;
}
} }
</style> </style>