Browse Source

前端内容修改

Zhangbw 1 month ago
parent
commit
601b59e012

+ 1 - 1
index.html

@@ -13,7 +13,7 @@
     <meta name="x5-orientation" content="portrait" />
     <meta name="x5-fullscreen" content="true" />
     <meta name="x5-page-mode" content="app" />
-    <title>量化交易大师</title>
+    <title>财经数据科普与学习平台</title>
     <!-- 微信 JS-SDK -->
     <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
   </head>

+ 1 - 1
src/App.vue

@@ -77,7 +77,7 @@ export default {
     console.log('App Show')
     // 确保导航栏标题正确显示
     uni.setNavigationBarTitle({
-      title: '量化交易大师'
+      title: '财经数据科普与学习平台'
     })
     // 应用回到前台时,如果已登录则启动状态检查
     if (isLoggedIn()) {

+ 1 - 1
src/components/CustomNavBar.vue

@@ -16,7 +16,7 @@ export default {
   props: {
     title: {
       type: String,
-      default: '量化交易大师'
+      default: '财经数据科普与学习平台'
     },
     showBack: {
       type: Boolean,

+ 8 - 8
src/components/HistorySearchCard.vue

@@ -1,30 +1,30 @@
 <template>
   <view class="card history-card">
     <view class="history-header">
-      <text class="history-title">📊 历史标的池回顾</text>
+      <text class="history-title">📊 历史数据回测样本回顾</text>
     </view>
-    
+
     <!-- 日期区间选择 -->
     <view class="date-range-row">
       <view class="date-input" @click="openStartDatePicker">
         <text class="date-text">{{ formatDateDisplay(startDate) }}</text>
         <text class="date-icon">📅</text>
       </view>
-      
+
       <text class="date-separator">至</text>
-      
+
       <view class="date-input" @click="openEndDatePicker">
         <text class="date-text">{{ formatDateDisplay(endDate) }}</text>
         <text class="date-icon">📅</text>
       </view>
     </view>
-    
+
     <!-- 查询按钮 -->
     <view class="history-search-button-full" @click="onSearch">
-      <text class="search-button-text">🔍 查询历史数据</text>
+      <text class="search-button-text">🔍 查询历史回测数据</text>
     </view>
-    
-    <text class="history-tip">选择时间区间,查询该期间的入池样本及表现。</text>
+
+    <text class="history-tip">选择时间区间,查询该期间的历史回测样本及表现,数据仅供学习,不指导未来交易。</text>
     
     <!-- 自定义日期选择弹窗 -->
     <view v-if="showDatePicker" class="date-picker-mask" @click="closeDatePicker">

+ 17 - 3
src/components/PerformanceCard.vue

@@ -1,18 +1,21 @@
 <template>
   <view class="card performance-card">
     <view class="performance-item">
-      <text class="performance-label">历史成功率</text>
+      <text class="performance-label">历史回测成功率</text>
       <text class="performance-value success">{{ successRate }}</text>
     </view>
     <view class="performance-item">
-      <text class="performance-label">平均收益率</text>
+      <text class="performance-label">历史回测平均收益率</text>
       <text class="performance-value profit">{{ profitRate }}</text>
     </view>
     <view class="performance-item">
-      <text class="performance-label">总交易次数</text>
+      <text class="performance-label">历史回测总次数</text>
       <text class="performance-value">{{ totalTrades }}</text>
     </view>
   </view>
+  <view class="performance-tip">
+    <text class="tip-text">仅为历史回测数据,不代表未来表现</text>
+  </view>
 </template>
 
 <script setup>
@@ -64,4 +67,15 @@ defineProps({
 .performance-value.profit {
   color: #f16565;
 }
+
+.performance-tip {
+  text-align: center;
+  margin-top: 16rpx;
+  margin-bottom: 16rpx;
+}
+
+.tip-text {
+  font-size: 22rpx;
+  color: #9ca2b5;
+}
 </style>

+ 1 - 1
src/manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "量化交易大师",
+    "name" : "财经数据科普与学习平台",
     "appid" : "__UNI__1F6FE23",
     "description" : "",
     "versionName" : "1.0.0",

+ 6 - 6
src/pages.json

@@ -3,7 +3,7 @@
     {
       "path": "pages/index/index",
       "style": {
-        "navigationBarTitleText": "量化交易大师"
+        "navigationBarTitleText": "财经数据科普与学习平台"
       }
     },
     {
@@ -15,25 +15,25 @@
     {
       "path": "pages/pool/pool",
       "style": {
-        "navigationBarTitleText": "量化交易大师"
+        "navigationBarTitleText": "财经数据科普与学习平台"
       }
     },
     {
       "path": "pages/strong/strong",
       "style": {
-        "navigationBarTitleText": "量化交易大师"
+        "navigationBarTitleText": "财经数据科普与学习平台"
       }
     },
     {
       "path": "pages/rank/rank",
       "style": {
-        "navigationBarTitleText": "量化交易大师"
+        "navigationBarTitleText": "财经数据科普与学习平台"
       }
     },
     {
       "path": "pages/mine/mine",
       "style": {
-        "navigationBarTitleText": "量化交易大师"
+        "navigationBarTitleText": "财经数据科普与学习平台"
       }
     },
     {
@@ -82,7 +82,7 @@
   "globalStyle": {
     "navigationBarBackgroundColor": "#ffffff",
     "navigationBarTextStyle": "black",
-    "navigationBarTitleText": "量化交易大师",
+    "navigationBarTitleText": "财经数据科普与学习平台",
     "backgroundColor": "#f5f6fb",
     "titleNView": {
       "titleColor": "#3F51F7",

+ 19 - 9
src/pages/index/index.vue

@@ -11,13 +11,13 @@
 
         <!-- 顶部查询卡片 -->
         <view class="card search-card" style="position: relative; z-index: 100;">
-          <text class="card-title">量化分数实时查询 & 历史数据</text>
+          <text class="card-title">市场数据科普查询 & 历史信息参考</text>
 
           <view class="search-row">
             <input
               class="search-input"
               type="text"
-              placeholder="请输入市场代码/名称 (如: 600030)"
+              placeholder="请输入市场代码/名称(仅作学习参考,不构成投资建议)"
               placeholder-class="search-placeholder"
               confirm-type="search"
               v-model="keyword"
@@ -44,7 +44,7 @@
             </view>
           </view>
 
-          <text class="search-tip">支持全市场代码或名称模糊查询{{ isLoggedIn ? '' : '(需登录)' }}</text>
+          <text class="search-tip">支持全市场代码或名称模糊查询(数据仅供学习,不指导交易)</text>
         </view>
 
         <!-- 遮罩层 -->
@@ -210,13 +210,13 @@
           </view>
         </view>
 
-        <!-- 量化投资的优势 -->
+        <!-- 关于量化分析的科普说明 -->
         <view class="card advantage-card">
           <view class="card-header">
             <view class="icon-circle">
               <text class="icon-check">✓</text>
             </view>
-            <text class="card-header-title">量化投资的优势</text>
+            <text class="card-header-title">关于量化分析的科普说明</text>
           </view>
 
           <view class="advantage-item">
@@ -227,6 +227,13 @@
             <text class="advantage-label">高效覆盖广度:</text>
             <text class="advantage-desc">能同时分析数千只样本,人工无法企及。</text>
           </view>
+          <view class="advantage-item">
+            <text class="advantage-label">量化分析:</text>
+            <text class="advantage-desc">是一种基于数据的研究方法,通过历史数据回测验证投资逻辑。</text>
+          </view>
+          <view class="advantage-item">
+            <text class="advantage-desc">(本平台仅展示量化分析的理论特点,不提供任何交易信号或投资指导。)</text>
+          </view>
         </view>
 
         <!-- 风险提示(免责声明) -->
@@ -239,8 +246,11 @@
           </view>
 
           <text class="risk-text">
-            本系统的量化分数和标的池信息均基于历史数据和特定模型计算,并非对未来市场的保证或预测。市场环境瞬息万变,
-            量化模型可能存在失效或回撤风险。请勿将本系统数据作为投资决策的唯一依据,请您充分理解市场投资风险,并独立做出投资判断。
+            重要提示:本平台所有数据、信息及分析结果仅为市场科普与历史学习参考,绝不构成任何证券投资建议、买卖邀约或交易指导。
+
+            本平台所有内容均基于公开历史数据与理论模型计算,不代表对未来市场走势的任何保证或预测。市场环境瞬息万变,历史数据与模型结果不预示未来表现,模型可能存在失效或偏差风险。
+
+            请您充分理解市场投资风险,独立做出投资决策,本平台及运营方不对任何投资损失承担法律责任。
           </text>
         </view>
 
@@ -306,12 +316,12 @@ onShow(() => {
   // 设置导航栏标题
   // #ifdef MP-WEIXIN
   uni.setNavigationBarTitle({
-  	title: app.globalData.envVersion == 'develop' ? '首页' : '量化交易大师'
+  	title: app.globalData.envVersion == 'develop' ? '首页' : '财经数据科普与学习平台'
   })
   // #endif
   // #ifdef H5
   uni.setNavigationBarTitle({
-  	title: '量化交易大师'
+  	title: '财经数据科普与学习平台'
   })
   // #endif
 })

+ 2 - 2
src/pages/login/login.vue

@@ -27,8 +27,8 @@
       <!-- #ifdef MP-WEIXIN -->
       <image class="logo" :src="getImageUrl('/static/images/logo.png')" mode="aspectFit"></image>
       <!-- #endif -->
-      <text class="title">量化交易大师</text>
-      <text class="subtitle">专业的市场量化分析工具</text>
+      <text class="title">财经数据科普与学习平台</text>
+      <text class="subtitle">专业的市场量化分析学习平台</text>
     </view>
 
     <!-- 登录按钮区域 -->

+ 9 - 9
src/pages/mine/mine.vue

@@ -11,7 +11,7 @@
               mode="aspectFill"
             ></image>
             <view class="user-details">
-              <text class="user-name">{{ isLoggedIn ? (userInfo.nickname || '微信用户') : '登录/注册' }}</text>
+              <text class="user-name">{{ isLoggedIn ? '学习用户:' + (userInfo.nickname || '微信用户') : '登录/注册' }}</text>
             </view>
             <view class="arrow-icon">›</view>
           </view>
@@ -22,7 +22,7 @@
           <view class="menu-item" @click="handleOrderRecord">
             <view class="menu-left">
               <text class="menu-icon">📋</text>
-              <text class="menu-label">我的订单</text>
+              <text class="menu-label">我的学习服务订单</text>
             </view>
             <text class="menu-arrow">›</text>
           </view>
@@ -30,7 +30,7 @@
           <view class="menu-item" @click="handleContactUs">
             <view class="menu-left">
               <text class="menu-icon">💬</text>
-              <text class="menu-label">联系我们</text>
+              <text class="menu-label">咨询与联系</text>
             </view>
             <text class="menu-arrow">›</text>
           </view>
@@ -39,7 +39,7 @@
           <view class="menu-item" v-if="isAdmin" @click="handleShortPoolManage">
             <view class="menu-left">
               <text class="menu-icon">⚡</text>
-              <text class="menu-label">超短管理</text>
+              <text class="menu-label">超短期数据研究区管理</text>
             </view>
             <text class="menu-arrow">›</text>
           </view>
@@ -48,7 +48,7 @@
         <!-- 退出登录按钮(仅登录后显示) -->
         <view class="logout-section" v-if="isLoggedIn">
           <button class="logout-btn" @click="handleLogout">
-            退出登录
+            退出学习平台
           </button>
         </view>
 
@@ -87,11 +87,11 @@ export default {
     uni.hideTabBar({ success: function() {}, fail: function() {} })
     var app = getApp()
     uni.setNavigationBarTitle({
-      title: app.globalData.envVersion == 'develop' ? '个人中心' : '量化交易大师'
+      title: app.globalData.envVersion == 'develop' ? '个人中心' : '财经数据科普与学习平台'
     })
     // #endif
     // #ifdef H5
-    uni.setNavigationBarTitle({ title: '量化交易大师' })
+    uni.setNavigationBarTitle({ title: '财经数据科普与学习平台' })
     // #endif
     this.loadUserInfo()
   },
@@ -131,13 +131,13 @@ export default {
       var self = this
       uni.showModal({
         title: '提示',
-        content: '确定要退出登录吗?',
+        content: '确定要退出学习平台吗?',
         success: function(res) {
           if (res.confirm) {
             logout()
             self.isLoggedIn = false
             self.userInfo = { nickname: '', avatar: '' }
-            uni.showToast({ title: '已退出登录', icon: 'none' })
+            uni.showToast({ title: '已退出学习平台', icon: 'none' })
           }
         }
       })

+ 41 - 31
src/pages/pool/pool.vue

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

+ 11 - 11
src/pages/rank/rank.vue

@@ -22,7 +22,7 @@
               </text>
             </view>
             <view class="index-name-row">
-              <text class="index-name">{{ indexData.stockName || '上证指数' }}</text>
+              <text class="index-name">{{ indexData.stockName || '上证指数' }}(市场公开数据,仅供参考)</text>
               <text :class="['index-percent', getIndexChangeClass(indexData.changePercent)]">
                 {{ indexData.changePercent || '--' }}
               </text>
@@ -33,19 +33,19 @@
         <!-- 分段控制器 -->
         <view class="segment-control">
           <view class="segment-slider" :class="{ 'slider-right': viewMode === 'table' }"></view>
-          <view 
-            class="segment-item" 
+          <view
+            class="segment-item"
             :class="{ 'segment-active': viewMode === 'list' }"
             @click="setViewMode('list')"
           >
-            <text class="segment-text">热力图</text>
+            <text class="segment-text">市场热力图(学习参考)</text>
           </view>
-          <view 
-            class="segment-item" 
+          <view
+            class="segment-item"
             :class="{ 'segment-active': viewMode === 'table' }"
             @click="setViewMode('table')"
           >
-            <text class="segment-text">详情</text>
+            <text class="segment-text">市场详情(学习参考)</text>
           </view>
         </view>
 
@@ -154,8 +154,8 @@
         <!-- 空状态 -->
         <view v-if="myStocks.length === 0" class="empty-content">
           <view class="empty-icon">📊</view>
-          <text class="empty-text">暂无自选</text>
-          <text class="empty-desc">在强势池中点击"+"按钮添加自选</text>
+          <text class="empty-text">暂无学习观察标的</text>
+          <text class="empty-desc">在趋势研究区点击「加入学习观察」按钮,标记仅用于学习的板块/数据,不代表任何投资选择。</text>
         </view>
 
         <!-- 底部安全区域 -->
@@ -963,12 +963,12 @@ onShow(() => {
   }
   // #ifdef MP-WEIXIN
   uni.setNavigationBarTitle({
-  	title: app.globalData.envVersion == 'develop' ? '我的自选' : '量化交易大师'
+  	title: app.globalData.envVersion == 'develop' ? '我的自选' : '财经数据科普与学习平台'
   })
   // #endif
   // #ifdef H5
   uni.setNavigationBarTitle({
-  	title: '量化交易大师'
+  	title: '财经数据科普与学习平台'
   })
   // #endif
 })

+ 50 - 25
src/pages/strong/strong.vue

@@ -23,39 +23,41 @@
     <scroll-view class="scroll-view" scroll-y>
     <!-- #endif -->
       <view class="content-wrapper">
-        <!-- 强势趋势池标题 -->
+        <!-- 中长期市场趋势研究区标题 -->
         <view class="pool-header-section">
           <view class="pool-header">
             <text class="pool-icon">📈</text>
-            <text class="pool-title">强势趋势池</text>
+            <text class="pool-title">中长期市场趋势研究区</text>
           </view>
-          <text class="pool-desc">本月精选,专注于中长期趋势跟踪</text>
+          <text class="pool-desc">历史趋势数据回顾,仅供学习研究,不精选投资标的</text>
         </view>
 
-        <!-- 强势趋势池区域 -->
+        <!-- 中长期市场趋势研究区区域 -->
         <view class="card pool-card">
           <!-- 直接显示内容(强势池公开访问) -->
           <view class="unlocked-content">
             <view class="unlocked-header">
               <view class="unlocked-dot"></view>
-              <text class="unlocked-tip">实时更新</text>
+              <text class="unlocked-tip">实时更新 ({{ currentDate }})</text>
+            </view>
+            <view class="update-tip-wrapper">
+              <text class="update-tip">数据更新提示(仅为历史数据同步,不代表实时交易建议)</text>
             </view>
             <view class="stock-list">
               <view class="stock-item" v-for="(stock, index) in stockList" :key="index">
                 <view class="stock-main">
                   <view class="stock-info">
                     <text class="stock-name">{{ stock.name }}</text>
-                    <text class="stock-code">{{ stock.code }}</text>
                   </view>
                   <view class="stock-quote">
-                    <text class="stock-price">{{ stock.currentPrice || '-' }}</text>
                     <text :class="['stock-change', getChangeClass(stock.changePercent)]">{{ stock.changePercent || '-' }}</text>
                   </view>
                 </view>
                 <view class="stock-action">
                   <view class="add-btn" @click="addToMyStocks(stock)">
-                    <text class="add-btn-text">+ 自选</text>
+                    <text class="add-btn-text">加入学习观察</text>
                   </view>
+                  <text class="add-btn-tip">仅为学习标记,不构成投资建议</text>
                 </view>
               </view>
             </view>
@@ -79,7 +81,7 @@
 </template>
 
 <script setup>
-import { ref, onUnmounted } from 'vue'
+import { ref, onUnmounted, computed } from 'vue'
 import { onLoad, onShow, onHide } from '@dcloudio/uni-app'
 import { isLoggedIn as checkLoginStatus } from '../../utils/auth.js'
 import { getStockQuotes, addUserStock, getStockPoolList } from '../../utils/api.js'
@@ -95,6 +97,15 @@ let refreshTimer = null
 const app = getApp();
 // #endif
 
+// 获取当前日期
+const currentDate = computed(() => {
+  const now = new Date()
+  const year = now.getFullYear()
+  const month = String(now.getMonth() + 1).padStart(2, '0')
+  const day = String(now.getDate()).padStart(2, '0')
+  return `${year}年${month}月${day}日`
+})
+
 // 获取涨跌样式
 const getChangeClass = (changePercent) => {
   if (!changePercent || changePercent === '-') return ''
@@ -226,12 +237,12 @@ onShow(() => {
   loadAndStartRefresh()
   // #ifdef MP-WEIXIN
   uni.setNavigationBarTitle({
-  	title: app.globalData.envVersion == 'develop' ? '介绍' : '量化交易大师'
+  	title: app.globalData.envVersion == 'develop' ? '介绍' : '财经数据科普与学习平台'
   })
   // #endif
   // #ifdef H5
   uni.setNavigationBarTitle({
-  	title: '量化交易大师'
+  	title: '财经数据科普与学习平台'
   })
   // #endif
 })
@@ -375,6 +386,18 @@ onUnmounted(() => {
   letter-spacing: 1rpx;
 }
 
+.update-tip-wrapper {
+  margin-bottom: 24rpx;
+}
+
+.update-tip {
+  font-size: 24rpx;
+  color: #9ca2b5;
+  line-height: 1.6;
+  text-align: center;
+  display: block;
+}
+
 .stock-list {
   display: flex;
   flex-direction: column;
@@ -423,20 +446,10 @@ onUnmounted(() => {
   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 {
-  font-size: 24rpx;
-  font-weight: 600;
-  padding: 6rpx 12rpx;
+  font-size: 28rpx;
+  font-weight: 700;
+  padding: 8rpx 16rpx;
   border-radius: 8rpx;
   min-width: 100rpx;
   text-align: center;
@@ -454,13 +467,17 @@ onUnmounted(() => {
 
 .stock-action {
   margin-left: 20rpx;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
 }
 
 .add-btn {
   background: #5B5AEA;
   border-radius: 40rpx;
-  padding: 16rpx 28rpx;
+  padding: 16rpx 24rpx;
   box-shadow: 0 8rpx 20rpx rgba(91, 90, 234, 0.3);
+  margin-bottom: 8rpx;
 }
 
 .add-btn-text {
@@ -470,6 +487,14 @@ onUnmounted(() => {
   letter-spacing: 1rpx;
 }
 
+.add-btn-tip {
+  font-size: 20rpx;
+  color: #9ca2b5;
+  text-align: center;
+  line-height: 1.4;
+  max-width: 140rpx;
+}
+
 .bottom-safe-area {
   height: 80rpx;
 }