|
@@ -8,13 +8,13 @@
|
|
|
<scroll-view class="scroll-view" scroll-y>
|
|
<scroll-view class="scroll-view" scroll-y>
|
|
|
<!-- #endif -->
|
|
<!-- #endif -->
|
|
|
<view class="content-wrapper">
|
|
<view class="content-wrapper">
|
|
|
- <!-- 超短精选池标题 -->
|
|
|
|
|
|
|
+ <!-- 超短期市场数据研究区标题 -->
|
|
|
<view class="pool-header-section">
|
|
<view class="pool-header-section">
|
|
|
<view class="pool-header">
|
|
<view class="pool-header">
|
|
|
<text class="pool-icon">⚡</text>
|
|
<text class="pool-icon">⚡</text>
|
|
|
- <text class="pool-title">超短精选池</text>
|
|
|
|
|
|
|
+ <text class="pool-title">超短期市场数据研究区</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <text class="pool-desc">今日更新,高频捕捉短期爆发机会</text>
|
|
|
|
|
|
|
+ <text class="pool-desc">历史数据回顾,仅供学习研究,不涉及交易机会</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<!-- 性能指标卡片(动态计算) -->
|
|
<!-- 性能指标卡片(动态计算) -->
|
|
@@ -24,42 +24,42 @@
|
|
|
:totalTrades="performanceStats.totalCount"
|
|
:totalTrades="performanceStats.totalCount"
|
|
|
/>
|
|
/>
|
|
|
|
|
|
|
|
- <!-- 超短精选池区域 -->
|
|
|
|
|
|
|
+ <!-- 超短期市场数据研究区区域 -->
|
|
|
<view class="card pool-card">
|
|
<view class="card pool-card">
|
|
|
<!-- 未购买时显示锁定状态 -->
|
|
<!-- 未购买时显示锁定状态 -->
|
|
|
<view v-if="!isPurchased" class="locked-content">
|
|
<view v-if="!isPurchased" class="locked-content">
|
|
|
<view class="lock-icon-wrapper">
|
|
<view class="lock-icon-wrapper">
|
|
|
<text class="lock-icon">🔒</text>
|
|
<text class="lock-icon">🔒</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <text class="lock-text">权限锁定: 查看 超短精选池 </text>
|
|
|
|
|
- <text class="lock-desc">超短池为每日实时更新,捕捉短期爆发机会。</text>
|
|
|
|
|
|
|
+ <text class="lock-text">数据研究区:仅对学习用户开放</text>
|
|
|
|
|
+ <text class="lock-desc">本区域展示历史超短期市场数据回测结果,仅用于量化策略学习与研究,不提供任何交易机会或投资建议。</text>
|
|
|
<view class="unlock-button" @click="showPurchaseModal">
|
|
<view class="unlock-button" @click="showPurchaseModal">
|
|
|
- <text class="unlock-button-text">立即打赏</text>
|
|
|
|
|
|
|
+ <text class="unlock-button-text">申请学习权限</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ <text class="unlock-button-tip">付费仅为学习服务,不构成投资咨询</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<!-- 已购买时显示内容 -->
|
|
<!-- 已购买时显示内容 -->
|
|
|
<view v-else class="unlocked-content">
|
|
<view v-else class="unlocked-content">
|
|
|
<view class="unlocked-header">
|
|
<view class="unlocked-header">
|
|
|
<view class="unlocked-dot"></view>
|
|
<view class="unlocked-dot"></view>
|
|
|
- <text class="unlocked-tip">已解锁内容</text>
|
|
|
|
|
|
|
+ <text class="unlocked-tip">需学习内容</text>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="stock-list">
|
|
<view class="stock-list">
|
|
|
<view class="stock-item" v-for="(stock, index) in stockList" :key="index">
|
|
<view class="stock-item" v-for="(stock, index) in stockList" :key="index">
|
|
|
<view class="stock-main">
|
|
<view class="stock-main">
|
|
|
<view class="stock-info">
|
|
<view class="stock-info">
|
|
|
<text class="stock-name">{{ stock.name }}</text>
|
|
<text class="stock-name">{{ stock.name }}</text>
|
|
|
- <text class="stock-code">{{ stock.code }}</text>
|
|
|
|
|
</view>
|
|
</view>
|
|
|
<view class="stock-quote">
|
|
<view class="stock-quote">
|
|
|
- <text class="stock-price">{{ stock.currentPrice || '-' }}</text>
|
|
|
|
|
<text :class="['stock-change', getChangeClass(stock.changePercent)]">{{ stock.changePercent || '-' }}</text>
|
|
<text :class="['stock-change', getChangeClass(stock.changePercent)]">{{ stock.changePercent || '-' }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="stock-action">
|
|
<view class="stock-action">
|
|
|
<view class="add-btn" @click="addToMyStocks(stock)">
|
|
<view class="add-btn" @click="addToMyStocks(stock)">
|
|
|
- <text class="add-btn-text">+ 自选</text>
|
|
|
|
|
|
|
+ <text class="add-btn-text">加入学习观察</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ <text class="add-btn-tip">仅为学习标记,不构成投资建议</text>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
@@ -83,10 +83,10 @@
|
|
|
<!-- 购买弹窗 -->
|
|
<!-- 购买弹窗 -->
|
|
|
<PurchaseModal
|
|
<PurchaseModal
|
|
|
:visible="showModal"
|
|
:visible="showModal"
|
|
|
- icon="💰"
|
|
|
|
|
- title="打赏解锁"
|
|
|
|
|
- description="支持作者,解锁今日超短池内容"
|
|
|
|
|
- amountLabel="打赏金额:"
|
|
|
|
|
|
|
+ icon="📚"
|
|
|
|
|
+ title="学习权限申请"
|
|
|
|
|
+ description="获取历史数据学习权限,仅供研究参考"
|
|
|
|
|
+ amountLabel="学习服务费:"
|
|
|
:amount="shortPrice"
|
|
:amount="shortPrice"
|
|
|
@close="closePurchaseModal"
|
|
@close="closePurchaseModal"
|
|
|
@confirm="handlePurchase"
|
|
@confirm="handlePurchase"
|
|
@@ -427,12 +427,12 @@ onShow(() => {
|
|
|
startSubscriptionRefresh()
|
|
startSubscriptionRefresh()
|
|
|
// #ifdef MP-WEIXIN
|
|
// #ifdef MP-WEIXIN
|
|
|
uni.setNavigationBarTitle({
|
|
uni.setNavigationBarTitle({
|
|
|
- title: app.globalData.envVersion == 'develop' ? '商品' : '量化交易大师'
|
|
|
|
|
|
|
+ title: app.globalData.envVersion == 'develop' ? '商品' : '财经数据科普与学习平台'
|
|
|
})
|
|
})
|
|
|
// #endif
|
|
// #endif
|
|
|
// #ifdef H5
|
|
// #ifdef H5
|
|
|
uni.setNavigationBarTitle({
|
|
uni.setNavigationBarTitle({
|
|
|
- title: '量化交易大师'
|
|
|
|
|
|
|
+ title: '财经数据科普与学习平台'
|
|
|
})
|
|
})
|
|
|
// #endif
|
|
// #endif
|
|
|
})
|
|
})
|
|
@@ -554,6 +554,14 @@ onUnmounted(() => {
|
|
|
color: #ffffff;
|
|
color: #ffffff;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+.unlock-button-tip {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ margin-top: 16rpx;
|
|
|
|
|
+ font-size: 22rpx;
|
|
|
|
|
+ color: #9ca2b5;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
.unlocked-content {
|
|
.unlocked-content {
|
|
|
padding: 8rpx 0;
|
|
padding: 8rpx 0;
|
|
|
}
|
|
}
|
|
@@ -627,20 +635,10 @@ onUnmounted(() => {
|
|
|
justify-content: flex-end;
|
|
justify-content: flex-end;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-.stock-price {
|
|
|
|
|
- font-size: 32rpx;
|
|
|
|
|
- font-weight: 800;
|
|
|
|
|
- color: #1a1a2e;
|
|
|
|
|
- margin-right: 16rpx;
|
|
|
|
|
- min-width: 120rpx;
|
|
|
|
|
- text-align: right;
|
|
|
|
|
- font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
.stock-change {
|
|
.stock-change {
|
|
|
- font-size: 24rpx;
|
|
|
|
|
- font-weight: 600;
|
|
|
|
|
- padding: 6rpx 12rpx;
|
|
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ font-weight: 700;
|
|
|
|
|
+ padding: 8rpx 16rpx;
|
|
|
border-radius: 8rpx;
|
|
border-radius: 8rpx;
|
|
|
min-width: 100rpx;
|
|
min-width: 100rpx;
|
|
|
text-align: center;
|
|
text-align: center;
|
|
@@ -658,13 +656,17 @@ onUnmounted(() => {
|
|
|
|
|
|
|
|
.stock-action {
|
|
.stock-action {
|
|
|
margin-left: 20rpx;
|
|
margin-left: 20rpx;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ align-items: center;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.add-btn {
|
|
.add-btn {
|
|
|
background: #5B5AEA;
|
|
background: #5B5AEA;
|
|
|
border-radius: 40rpx;
|
|
border-radius: 40rpx;
|
|
|
- padding: 16rpx 28rpx;
|
|
|
|
|
|
|
+ padding: 16rpx 24rpx;
|
|
|
box-shadow: 0 8rpx 20rpx rgba(91, 90, 234, 0.3);
|
|
box-shadow: 0 8rpx 20rpx rgba(91, 90, 234, 0.3);
|
|
|
|
|
+ margin-bottom: 8rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.add-btn-text {
|
|
.add-btn-text {
|
|
@@ -674,6 +676,14 @@ onUnmounted(() => {
|
|
|
letter-spacing: 1rpx;
|
|
letter-spacing: 1rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+.add-btn-tip {
|
|
|
|
|
+ font-size: 20rpx;
|
|
|
|
|
+ color: #9ca2b5;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ line-height: 1.4;
|
|
|
|
|
+ max-width: 140rpx;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
.bottom-safe-area {
|
|
.bottom-safe-area {
|
|
|
height: 80rpx;
|
|
height: 80rpx;
|
|
|
padding-bottom: constant(safe-area-inset-bottom);
|
|
padding-bottom: constant(safe-area-inset-bottom);
|