浏览代码

fix(frontend): 移除所有页面中的PageBanner组件,消除双层标题

- 21个页面移除<PageBanner>模板块及import/components声明
- 清理遗留的「品牌头部」注释
- 保留pages.json中配置的导航栏标题作为唯一标题
Sisyphus 1 月之前
父节点
当前提交
07d897a1

+ 2 - 10
cfc-frontend/pages/action-detail/index.vue

@@ -2,13 +2,7 @@
   <view class="container">
     <!-- Tabbar 切换过渡页 -->
     <tab-transition v-if="showTabTransition" dimCode="action" ref="tabTransition" @close="showTabTransition = false" />
-
-    <!-- 品牌头部 -->
-    <PageBanner theme="action"
-      tagline="人际和谐 · 关系滋养"
-      quote="和谐关系滋养幸福家庭" />
-
-    <!-- 品牌定位语(登录前显示) -->
+<!-- 品牌定位语(登录前显示) -->
     <view class="brand-strap" v-if="!isLoggedIn">
       <text class="brand-strap-text">改善全家关系与沟通能力</text>
     </view>
@@ -124,7 +118,6 @@
 
 <script>
 import TabTransition from '../../components/tab-transition.vue'
-import PageBanner from '../../components/PageBanner.vue'
 import FamilyEnergyBar from '../../components/FamilyEnergyBar.vue'
 import FamilyRelationGraph from '../../components/FamilyRelationGraph.vue'
 import FamilyMemberStrip from '../../components/FamilyMemberStrip.vue'
@@ -138,7 +131,7 @@ import DimensionSubDims from '../../components/DimensionSubDims.vue'
 import { getVisibleSections, getEnergyOverview, getChildren, getFamilyEnergySandbox, getEnergySandbox, getFamilyMemberList } from '../../utils/api.js'
 
 export default {
-  components: { TabTransition, PageBanner, FamilyEnergyBar, FamilyRelationGraph, FamilyMemberStrip, DimensionTasks, DimensionActivities, DimensionProducts, DimensionIntroCard, FloatingAvatar, RadarChart, DimensionSubDims },
+  components: { TabTransition, FamilyEnergyBar, FamilyRelationGraph, FamilyMemberStrip, DimensionTasks, DimensionActivities, DimensionProducts, DimensionIntroCard, FloatingAvatar, RadarChart, DimensionSubDims },
   data() {
     return {
       isLoggedIn: false,
@@ -445,7 +438,6 @@ export default {
 }
 </script>
 
-
 .view-toggle {
   display: flex;
   margin: 20rpx 30rpx;

+ 2 - 9
cfc-frontend/pages/action-detail/member-action-detail.vue

@@ -7,13 +7,7 @@
       </view>
       <text class="nav-title">行 · 成员详情</text>
     </view>
-
-    <!-- 品牌头部 -->
-    <PageBanner theme="action"
-      tagline="人际和谐 · 关系滋养"
-      quote="和谐关系滋养幸福家庭" />
-
-    <!-- 品牌定位语(登录前显示) -->
+<!-- 品牌定位语(登录前显示) -->
     <view class="brand-strap" v-if="!isLoggedIn">
       <text class="brand-strap-text">改善全家关系与沟通能力</text>
     </view>
@@ -84,7 +78,6 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import FamilyEnergyBar from '../../components/FamilyEnergyBar.vue'
 import FamilyRelationGraph from '../../components/FamilyRelationGraph.vue'
 import DimensionTasks from '../../components/DimensionTasks.vue'
@@ -94,7 +87,7 @@ import DimensionIntroCard from '../../components/DimensionIntroCard.vue'
 import { getEnergyOverview, getFamilyEnergySandbox, getChildren } from '../../utils/api.js'
 
 export default {
-  components: { PageBanner, FamilyEnergyBar, FamilyRelationGraph, DimensionTasks, DimensionActivities, DimensionProducts, DimensionIntroCard },
+  components: { FamilyEnergyBar, FamilyRelationGraph, DimensionTasks, DimensionActivities, DimensionProducts, DimensionIntroCard },
   data() {
     return {
       memberId: null,

+ 76 - 12
cfc-frontend/pages/body-detail/index.vue

@@ -2,13 +2,7 @@
   <view class="body-container">
     <!-- Tabbar 切换过渡页 -->
     <tab-transition v-if="showTabTransition" dimCode="body" ref="tabTransition" @close="showTabTransition = false" />
-
-    <!-- 品牌头部 -->
-    <PageBanner theme="body"
-      tagline="科学管理全家健康"
-      quote="身体健康是幸福的基础" />
-
-    <!-- 品牌定位语(登录前显示) -->
+<!-- 品牌定位语(登录前显示) -->
     <view class="brand-strap" v-if="!isLoggedIn">
       <text class="brand-strap-text">科学管理全家健康数据</text>
     </view>
@@ -80,7 +74,21 @@
       </view>
 
       <!-- 上传报告入口 -->
-      <ReportUploadCard @click="goToUploadReport" />
+      <view class="nutrition-report-card" @click="goToUploadReport">
+        <view class="nutrition-report-left">
+          <text class="nutrition-icon-large">📋</text>
+        </view>
+        <view class="nutrition-report-right">
+          <text class="nutrition-title">上传健康报告</text>
+          <text class="nutrition-desc">上传体检报告或肠道检测报告,解读分析,获取个性化营养方案</text>
+          <view class="nutrition-report-tags">
+            <text class="tag">体检报告</text>
+            <text class="tag">肠道检测</text>
+            <text class="tag">解读</text>
+          </view>
+        </view>
+        <text class="nutrition-arrow">›</text>
+      </view>
 
       </view>
 
@@ -95,18 +103,16 @@
 
 <script>
 import TabTransition from '../../components/tab-transition.vue'
-import PageBanner from '../../components/PageBanner.vue'
 import FamilyEnergyBar from '../../components/FamilyEnergyBar.vue'
 import RadarChart from '../../components/RadarChart.vue'
 import DimensionSubDims from '../../components/DimensionSubDims.vue'
 import FloatingAvatar from '../../components/AIFloatingAvatar.vue'
 import DimensionIntroCard from '../../components/DimensionIntroCard.vue'
 import FamilyMemberStrip from '../../components/FamilyMemberStrip.vue'
-import ReportUploadCard from '../../components/report-upload-card.vue'
 import { getVisibleSections, getEnergyOverview, getChildren, getFamilyEnergySandbox, getEnergySandbox, getFamilyMemberList, getDimensionOverview } from '../../utils/api.js'
 
 export default {
-  components: { TabTransition, PageBanner, FamilyEnergyBar, RadarChart, DimensionSubDims, FloatingAvatar, FamilyMemberStrip, DimensionIntroCard, ReportUploadCard },
+  components: { TabTransition, FamilyEnergyBar, RadarChart, DimensionSubDims, FloatingAvatar, FamilyMemberStrip, DimensionIntroCard },
   data() {
     return {
       isLoggedIn: false,
@@ -418,7 +424,6 @@ export default {
 }
 </script>
 
-
 .view-toggle {
   display: flex;
   margin: 20rpx 30rpx;
@@ -639,6 +644,65 @@ export default {
 .nutrition-section {
   margin-top: 20rpx;
 }
+.nutrition-report-card {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  background: linear-gradient(135deg, #E8F5E9, #F1F8E9);
+  border-radius: 20rpx;
+  padding: 28rpx 24rpx;
+  margin-bottom: 20rpx;
+  box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06);
+}
+.nutrition-report-left {
+  width: 100rpx;
+  height: 100rpx;
+  background: rgba(255,255,255,0.7);
+  border-radius: 20rpx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-right: 20rpx;
+  flex-shrink: 0;
+}
+.nutrition-icon-large {
+  font-size: 52rpx;
+}
+.nutrition-report-right {
+  flex: 1;
+}
+.nutrition-title {
+  font-size: 30rpx;
+  font-weight: bold;
+  color: #2E7D32;
+  display: block;
+  margin-bottom: 6rpx;
+}
+.nutrition-desc {
+  font-size: 22rpx;
+  color: #558B2F;
+  line-height: 1.5;
+  display: block;
+  margin-bottom: 10rpx;
+}
+.nutrition-report-tags {
+  display: flex;
+  flex-direction: row;
+  gap: 10rpx;
+}
+.nutrition-report-tags .tag {
+  font-size: 20rpx;
+  color: #33691E;
+  background: rgba(255,255,255,0.6);
+  padding: 4rpx 14rpx;
+  border-radius: 20rpx;
+}
+.nutrition-arrow {
+  font-size: 40rpx;
+  color: #A5D6A7;
+  margin-left: 12rpx;
+}
+
 .nutrition-links {
   margin-bottom: 20rpx;
 }

+ 2 - 8
cfc-frontend/pages/discover/index.vue

@@ -1,11 +1,6 @@
 <template>
   <view class="discover-container">
-    <!-- 品牌头部 -->
-    <PageBanner theme="home"
-      tagline="家庭健康成长俱乐部"
-      quote="给全家的一站式幸福提案" />
-
-    <!-- 五行沙盘预览 -->
+<!-- 五行沙盘预览 -->
     <wuxing-sandbox mode="preview" badgeText="登录查看完整报告" @point-click="handleLogin" />
 
     <!-- 活动/商品推荐 -->
@@ -124,12 +119,11 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { productList, getFeaturedArticles, getMyMembership } from '@/utils/api.js'
 import WuxingSandbox from '../../components/wuxing-sandbox.vue'
 import config from '@/config.js'
 export default {
-  components: { PageBanner, WuxingSandbox },
+  components: { WuxingSandbox },
   data() {
     return {
       typeList: [

+ 1 - 4
cfc-frontend/pages/growth-main/index.vue

@@ -1,7 +1,6 @@
 <template>
   <view class="container">
     <view v-if="!isLoggedIn">
-      <PageBanner theme="action" tagline="干预 · 记录 · 成长" quote="知行合一,每天进步一点点" />
       <!-- 品牌定位语 -->
       <view class="brand-strap"><text class="brand-strap-text">看见改变正在发生</text></view>
       <!-- 理念卡 -->
@@ -136,7 +135,6 @@
       </view>
     </view>
     <view v-else>
-      <PageBanner theme="action" tagline="干预 · 记录 · 成长" quote="知行合一,每天进步一点点" />
       <view class="reminder-bar" v-if="hasIncomplete">
         <text class="reminder-text">⚠ 今日还有 {{ incompleteCount }} 项未记录</text>
         <text class="reminder-close" @click="dismissReminder">✕</text>
@@ -279,7 +277,6 @@
   </view>
 </template>
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import LoginGuideCard from '../../components/LoginGuideCard.vue'
 import DimensionActivities from '../../components/DimensionActivities.vue'
 import DimensionProducts from '../../components/DimensionProducts.vue'
@@ -288,7 +285,7 @@ import DailyTaskCard from '../../components/daily-task-card.vue'
 import { healthCheckinList, getHealthMealList, getFoodCautionList, getGrowthRecommendations, getExerciseRecords, getSleepRecords, getEmotionCheckinList, getCheckinList, getLatestHealthReport } from '../../utils/api.js'
 import { parseDate } from '../../utils/format.js'
 export default {
-  components: { PageBanner, LoginGuideCard, DimensionActivities, DimensionProducts, ArticleBookshelf, DailyTaskCard },
+  components: { LoginGuideCard, DimensionActivities, DimensionProducts, ArticleBookshelf, DailyTaskCard },
   data() { return { memberId: '', todayDate: '', hasIncomplete: false, incompleteCount: 0, progressItems: [], streakDays: 0, activeChallenges: 0, completeness: 0, cautionCount: 0,
       healthArticles: [],
       growthArticles: [],

+ 15 - 11
cfc-frontend/pages/health-main/index.vue

@@ -1,7 +1,6 @@
 <template>
   <view class="container">
     <block v-if="!isLoggedIn">
-      <PageBanner theme="body" tagline="科学管理全家健康" quote="身体健康是幸福的基础" />
       <!-- 品牌定位语 -->
       <view class="brand-strap"><text class="brand-strap-text">科学管理全家健康数据</text></view>
       <!-- 痛点卡 -->
@@ -166,8 +165,6 @@
       </view>
     </block>
     <block v-else>
-      <PageBanner theme="body" tagline="看见·主动健康闭环" quote="采集→看见→行动" />
-
       <view class="tab-bar">
         <view v-for="tab in tabs" :key="tab.code" class="tab-item" :class="{ active: currentTab === tab.code }" @click="switchTab(tab.code)">
           <text class="tab-icon">{{ tab.icon }}</text>
@@ -192,11 +189,14 @@
       </view>
 
       <view class="section section-data-collect">
-        <ReportUploadCard
-          title="上传健康报告"
-          desc="体检/肠道/舌诊报告 · 解读"
-          :tags="['体检报告', '肠道检测', '舌诊']"
-          @click="goPage('/pages/health/report-upload')" />
+        <view class="data-card" @click="goPage('/pages/health/report-upload')">
+          <view class="data-card-icon" style="background:rgba(249,115,22,0.12)"><text>📋</text></view>
+          <view class="data-card-info">
+            <text class="data-card-title">上传健康报告</text>
+            <text class="data-card-desc">体检/肠道/舌诊报告 · 解读</text>
+          </view>
+          <text class="data-card-arrow">›</text>
+        </view>
 
         <view class="data-card data-card-assessment">
           <view class="data-card-head">
@@ -259,14 +259,12 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import LoginGuideCard from '../../components/LoginGuideCard.vue'
 import RadarChart from '../../components/RadarChart.vue'
 import ArticleBookshelf from '../../components/ArticleBookshelf.vue'
-import ReportUploadCard from '../../components/report-upload-card.vue'
 
 export default {
-  components: { PageBanner, LoginGuideCard, RadarChart, ArticleBookshelf, ReportUploadCard },
+  components: { LoginGuideCard, RadarChart, ArticleBookshelf },
   data() {
     return {
       isLoggedIn: false,
@@ -276,6 +274,7 @@ export default {
       reports: [],
       lastPlan: '',
       healthArticles: [],
+      hasAiQHistory: false,
       tabs: [
         { code: 'body', label: '健康', icon: '🟠', color: '#FF8C42' },
         { code: 'cognitive', label: '认知', icon: '🧠', color: '#6366F1' },
@@ -613,6 +612,11 @@ export default {
 .dc-title { font-size: 32rpx; font-weight: bold; color: #333; }
 .section-data-collect { margin: 8rpx 24rpx; }
 .data-card { display: flex; align-items: center; background: #fff; border-radius: 20rpx; padding: 24rpx; margin-bottom: 12rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); }
+.data-card-icon { width: 88rpx; height: 88rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; margin-right: 20rpx; font-size: 40rpx; }
+.data-card-info { flex: 1; }
+.data-card-title { font-size: 28rpx; font-weight: bold; color: #333; display: block; margin-bottom: 6rpx; }
+.data-card-desc { font-size: 22rpx; color: #999; }
+.data-card-arrow { font-size: 36rpx; color: #ccc; }
 .data-card-assessment { flex-direction: column; align-items: stretch; padding: 24rpx; }
 .data-card-head { display: flex; align-items: center; margin-bottom: 16rpx; }
 .data-card-subtitle { font-size: 22rpx; color: #999; margin-left: 12rpx; }

+ 0 - 6
cfc-frontend/pages/home-pages/child-index.vue

@@ -29,10 +29,6 @@
 <!-- ====== 主内容(有孩子时) ====== -->
 <view class="main-content" v-if="!loading && hasChildren">
 <!-- ===== A) 顶部 Banner ===== -->
-<PageBanner theme="home"
-  tagline="家庭健康成长俱乐部"
-  quote="给全家的一站式幸福提案" />
-
 <!-- 通关引导进度条 -->
 <GateGuideBar :unlockStatus="unlockStatus" />
 
@@ -312,7 +308,6 @@ B) 积分卡片 — Claymorphism 暖橙黏土风格
 
 <script>
 import { getChildren, getTodayTasks, getEnergyOverview, getEnergyLogs, getActivityList, getProductsByDomain, getFamilyEnergySandbox, getEnergySandbox, getUnlockStatus, getFamilyMemberList } from '../../utils/api.js'
-import PageBanner from '../../components/PageBanner.vue'
 import FamilyEnergyBar from '../../components/FamilyEnergyBar.vue'
 import WuxingSandbox from '../../components/wuxing-sandbox.vue'
 import RecommendedFeed from '../../components/RecommendedFeed.vue'
@@ -353,7 +348,6 @@ var TASK_ICONS = {
 
 export default {
   components: {
-    PageBanner,
     FamilyEnergyBar,
     WuxingSandbox,
     RecommendedFeed,

+ 1 - 7
cfc-frontend/pages/home-pages/parent-index.vue

@@ -5,10 +5,6 @@
 
 <template v-if="!loading">
 <!-- ===== a) 顶部 Banner ===== -->
-<PageBanner theme="home"
-  tagline="家庭健康成长俱乐部"
-  quote="给全家的一站式幸福提案" />
-
 <!-- ===== 新手任务进度条(onboarding 置顶引导) ===== -->
 <OnboardingProgressBar ref="onboardingProgress" />
 
@@ -479,7 +475,6 @@
 <script>
 import { getFamilyMemberList, getChildren, getPendingReviewTasks, getPendingWishes, approveTask, rejectTask, getChildCompletionStats, getParentDashboard, getFamilyEnergySandbox, getEnergySandbox, getUnlockStatus, getEnergyOverview, getActivityList, getProductsByDomain, getContactList, getFeaturedArticles, getActiveAlerts, dismissAlert, getFamilyRanking, getChallengeList, getCircleRanking, getInviteQrCode, switchToFamilyMember } from '../../utils/api.js'
 import store from '../../store/index.js'
-import PageBanner from '../../components/PageBanner.vue'
 import PlayfulCard from '../../components/PlayfulCard.vue'
 import PlayfulButton from '../../components/PlayfulButton.vue'
 import BaseBadge from '../../components/BaseBadge.vue'
@@ -506,7 +501,7 @@ import GateGuideBar from '../../components/gate-guide-bar.vue'
 import feedbackEngine from '../../utils/feedback-engine.js'
 
 export default {
-  components: { PageBanner, RecommendedFeed, PlayfulCard, PlayfulButton, BaseBadge, BaseEmpty, BaseLoading, FamilyRelationGraph, WuxingSandbox, ContactCard, ContactImport, FamilyMemberStrip, MicroActionCard, FeedbackToast, MilestoneCelebration, DailySummary, HealthAlertBanner, FamilyHealthRanking, FamilyChallengeCard, CircleRanking, ArticleBookshelf, OnboardingProgressBar, GateLock, GateGuideBar },
+  components: { RecommendedFeed, PlayfulCard, PlayfulButton, BaseBadge, BaseEmpty, BaseLoading, FamilyRelationGraph, WuxingSandbox, ContactCard, ContactImport, FamilyMemberStrip, MicroActionCard, FeedbackToast, MilestoneCelebration, DailySummary, HealthAlertBanner, FamilyHealthRanking, FamilyChallengeCard, CircleRanking, ArticleBookshelf, OnboardingProgressBar, GateLock, GateGuideBar },
   data() {
     return {
       nickname: '',
@@ -1250,7 +1245,6 @@ export default {
   margin-bottom: var(--space-md);
 }
 
-
 /* ========================================
    c) 成长数据
    ======================================== */

+ 2 - 14
cfc-frontend/pages/index-home/index.vue

@@ -52,12 +52,7 @@
 
   <!-- 登录态 — 直接内嵌,保持底签可见 -->
   <view v-if="currentRole" class="logged-in-container">
-    <!-- 品牌头部 -->
-    <PageBanner theme="action"
-      tagline="知行合一 · 快乐成长"
-      quote="千里之行,始于足下" />
-
-    <!-- 旅程状态卡 — 改版v1 需求驱动(A类·随便看看 不展示旅程卡) -->
+<!-- 旅程状态卡 — 改版v1 需求驱动(A类·随便看看 不展示旅程卡) -->
     <JourneyCard
       v-if="userIntent && userIntent.intentType !== 'A'"
       :intent="userIntent"
@@ -206,12 +201,7 @@
 
   <!-- 未登录态 — 发现页/引流内容,直接内嵌,不跳转 -->
   <view v-else class="discover-container">
-    <!-- 品牌头部 -->
-    <PageBanner theme="home"
-      tagline="家庭健康成长俱乐部"
-      quote="给全家的一站式幸福提案" />
-
-    <!-- 品牌定位语 -->
+<!-- 品牌定位语 -->
     <view class="brand-strap">
       <text class="brand-strap-text">身 · 心 · 智 · 行 · 富 &nbsp;五维幸福成长</text>
     </view>
@@ -351,7 +341,6 @@
 import store from '../../store/index.js'
 import WuxingSandbox from '../../components/wuxing-sandbox.vue'
 import GateLock from '../../components/gate-lock.vue'
-import PageBanner from '../../components/PageBanner.vue'
 import FamilyFeed from '../../components/FamilyFeed.vue'
 import DimensionProducts from '../../components/DimensionProducts.vue'
 import ArticleBookshelf from '../../components/ArticleBookshelf.vue'
@@ -367,7 +356,6 @@ import { parseDate } from '../../utils/format.js'
 
 export default {
   components: {
-    PageBanner,
     WuxingSandbox,
     GateLock,
     FamilyFeed,

+ 2 - 8
cfc-frontend/pages/mind-detail/articles.vue

@@ -1,11 +1,6 @@
 <template>
   <view class="container">
-    <!-- 品牌头部 -->
-    <PageBanner :theme="bannerTheme"
-      :tagline="bannerTagline"
-      :quote="bannerQuote" />
-
-    <!-- 维度筛选 -->
+<!-- 维度筛选 -->
     <view class="filter-section">
       <scroll-view scroll-x enable-flex show-scrollbar="false" class="dimension-scroll">
         <view class="filter-chips">
@@ -92,7 +87,6 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { getArticleCategories, getArticleList } from '../../utils/api.js'
 import config from '@/config.js'
 
@@ -106,7 +100,7 @@ var dimensionConfig = {
 }
 
 export default {
-  components: { PageBanner },
+  components: { },
   data() {
     return {
       dimensionList: Object.keys(dimensionConfig).map(function(k) {

+ 1 - 6
cfc-frontend/pages/mind-detail/emotion-report.vue

@@ -1,9 +1,5 @@
 <template>
   <view class="container">
-    <PageBanner theme="mind-wisdom"
-      tagline="EMI 心理报告"
-      quote="知己知彼,百战不殆" />
-
     <!-- 报告数据 -->
     <view class="report-card" v-if="report">
       <view class="report-header">
@@ -103,11 +99,10 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { getEmiReport, getProfileRecommend } from '../../utils/api.js'
 
 export default {
-  components: { PageBanner },
+  components: { },
   data: function() {
     return {
       memberId: null,

+ 2 - 10
cfc-frontend/pages/mind-detail/index.vue

@@ -2,13 +2,7 @@
   <view class="container">
     <!-- Tabbar 切换过渡页 -->
     <tab-transition v-if="showTabTransition" dimCode="mind" ref="tabTransition" @close="showTabTransition = false" />
-
-    <!-- 品牌头部 -->
-    <PageBanner theme="mind-wisdom"
-      tagline="心智成长 · 智慧人生"
-      quote="知己知彼,百战不殆" />
-
-    <!-- 品牌定位语(登录前显示) -->
+<!-- 品牌定位语(登录前显示) -->
     <view class="brand-strap" v-if="!isLoggedIn">
       <text class="brand-strap-text">关注全家心理健康与情绪成长</text>
     </view>
@@ -164,7 +158,6 @@
 
 <script>
 import TabTransition from '../../components/tab-transition.vue'
-import PageBanner from '../../components/PageBanner.vue'
 import DimensionIntroCard from '../../components/DimensionIntroCard.vue'
 import RadarChart from '../../components/RadarChart.vue'
 import DimensionSubDims from '../../components/DimensionSubDims.vue'
@@ -179,7 +172,7 @@ import config from '../../config.js'
 import { parseDate } from '../../utils/format.js'
 
 export default {
-components: { TabTransition, PageBanner, RadarChart, DimensionSubDims, FamilyEnergyBar, PsychCrisisBanner, FloatingAvatar, FamilyTianpanCard, FamilyMemberStrip, DimensionIntroCard },
+components: { TabTransition, RadarChart, DimensionSubDims, FamilyEnergyBar, PsychCrisisBanner, FloatingAvatar, FamilyTianpanCard, FamilyMemberStrip, DimensionIntroCard },
   data() {
     return {
       isLoggedIn: false,
@@ -927,7 +920,6 @@ var descList = descMap[this.dominantElement] || descMap.wood
 }
 </script>
 
-
 .view-toggle {
   display: flex;
   margin: 20rpx 30rpx;

+ 1 - 6
cfc-frontend/pages/mind-detail/training.vue

@@ -1,9 +1,5 @@
 <template>
   <view class="container">
-    <PageBanner theme="mind-wisdom"
-      tagline="能力训练"
-      :quote="currentQuote" />
-
     <!-- 训练概览 -->
     <view class="stats-card" v-if="stats">
       <view class="stats-row">
@@ -94,7 +90,6 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { getGameStats } from '../../utils/api.js'
 
 var DIMENSION_MAP = {
@@ -181,7 +176,7 @@ var GAME_PAGES = {
 }
 
 export default {
-  components: { PageBanner },
+  components: { },
   data: function() {
     return {
       dimension: null,

+ 2 - 8
cfc-frontend/pages/mind-extra/articles.vue

@@ -23,12 +23,7 @@
       </view>
     </view>
     <scroll-view scroll-y class="page-scroll" @scrolltolower="onLoadMore">
-      <!-- 品牌头部 -->
-      <PageBanner :theme="bannerTheme"
-        :tagline="bannerTagline"
-        :quote="bannerQuote" />
-
-      <!-- 维度筛选 -->
+<!-- 维度筛选 -->
       <view class="filter-section">
         <scroll-view scroll-x enable-flex show-scrollbar="false" class="dimension-scroll">
           <view class="filter-chips">
@@ -121,7 +116,6 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { getArticleCategories, getArticleList, getFeaturedArticles } from '../../utils/api.js'
 import config from '@/config.js'
 
@@ -135,7 +129,7 @@ var dimensionConfig = {
 }
 
 export default {
-  components: { PageBanner },
+  components: { },
   data() {
     return {
       currentDimension: 'all',

+ 1 - 6
cfc-frontend/pages/mind/emotion-report.vue

@@ -1,9 +1,5 @@
 <template>
   <view class="container">
-    <PageBanner theme="mind-wisdom"
-      tagline="EMI 心理报告"
-      quote="知己知彼,百战不殆" />
-
     <!-- 报告数据 -->
     <view class="report-card" v-if="report">
       <view class="report-header">
@@ -83,11 +79,10 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { getEmiReport } from '../../utils/api.js'
 
 export default {
-  components: { PageBanner },
+  components: { },
   data: function() {
     return {
       memberId: null,

+ 1 - 6
cfc-frontend/pages/mind/training.vue

@@ -1,9 +1,5 @@
 <template>
   <view class="container">
-    <PageBanner theme="mind-wisdom"
-      tagline="能力训练"
-      :quote="currentQuote" />
-
     <!-- 训练概览 -->
     <view class="stats-card" v-if="stats">
       <view class="stats-row">
@@ -94,7 +90,6 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { getGameStats } from '../../utils/api.js'
 
 var DIMENSION_MAP = {
@@ -181,7 +176,7 @@ var GAME_PAGES = {
 }
 
 export default {
-  components: { PageBanner },
+  components: { },
   data: function() {
     return {
       dimension: null,

+ 0 - 1
cfc-frontend/pages/profile-extra/family-members.vue

@@ -119,7 +119,6 @@ export default {
       familyId: 0,
       familyName: '',
 
-
       creatorId: null,
       members: [],
       isAdmin: false,

+ 0 - 3
cfc-frontend/pages/profile/index.vue

@@ -7,7 +7,6 @@
       <button class="login-btn" @click="goLogin">登录 / 注册</button>
     </view>
     <template v-else>
-      <PageBanner theme="wealth" tagline="个人中心" quote="" />
       <!-- 从富页面进入的返回入口 -->
       <view v-if="fromWealth" class="back-to-wealth" @click="goToWealth">
         <text class="back-arrow">‹</text>
@@ -20,13 +19,11 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import ProfileHeader from '../../components/ProfileHeader.vue'
 import ProfileMenu from '../../components/ProfileMenu.vue'
 
 export default {
   components: {
-    PageBanner,
     ProfileHeader,
     ProfileMenu
   },

+ 0 - 1
cfc-frontend/pages/shop/index/index.vue

@@ -143,7 +143,6 @@
       <view class="bottom-spacer"></view>
     </scroll-view>
 
-
   </view>
 </template>
 

+ 0 - 1
cfc-frontend/pages/tasks/tasks.vue

@@ -737,5 +737,4 @@ export default {
   transition: all 0.25s ease;
 }
 
-
 </style>

+ 2 - 13
cfc-frontend/pages/wealth/index.vue

@@ -5,10 +5,6 @@
 
     <!-- 未登录时显示精简内容 -->
     <template v-if="!isLoggedIn">
-      <PageBanner theme="wealth"
-        tagline="利他创富 · 价值共享"
-        quote="富足源于利他与坚持" />
-
       <!-- 品牌定位语 -->
       <view class="brand-strap">
         <text class="brand-strap-text">分享价值,收获财富</text>
@@ -50,12 +46,7 @@
     </template>
 
     <template v-else>
-      <!-- 品牌头部 -->
-      <PageBanner theme="wealth"
-        tagline="利他创富 · 价值共享"
-        quote="富足源于利他与坚持" />
-
-      <!-- 家庭成员选择条 -->
+<!-- 家庭成员选择条 -->
       <FamilyMemberStrip
         v-if="currentView === 'self' && isLoggedIn"
         :members="familyMembersVisible"
@@ -209,7 +200,6 @@
 
 <script>
 import TabTransition from '../../components/tab-transition.vue'
-import PageBanner from '../../components/PageBanner.vue'
 import WealthEnergyRing from '../../components/WealthEnergyRing.vue'
 import WealthSubScores from '../../components/WealthSubScores.vue'
 import BodyWealthAlert from '../../components/BodyWealthAlert.vue'
@@ -230,7 +220,7 @@ import nav from '../../utils/nav.js'
 import config from '../../config.js'
 
 export default {
-  components: { TabTransition, PageBanner, WealthEnergyRing, WealthSubScores, BodyWealthAlert, FamilyMemberStrip, DimensionIntroCard, DimensionSubDims },
+  components: { TabTransition, WealthEnergyRing, WealthSubScores, BodyWealthAlert, FamilyMemberStrip, DimensionIntroCard, DimensionSubDims },
   data() {
     return {
       showTabTransition: true,
@@ -554,7 +544,6 @@ export default {
 }
 </script>
 
-
 .view-toggle {
   display: flex;
   margin: 20rpx 30rpx;

+ 1 - 6
cfc-frontend/pages/wisdom-detail/cognitive-report.vue

@@ -1,9 +1,5 @@
 <template>
   <view class="container">
-    <PageBanner theme="wisdom"
-      tagline="认知能力 · 全面评估"
-      quote="知人者智,自知者明" />
-
     <!-- ===== 报告卡片 ===== -->
     <view class="report-card" v-if="report">
       <view class="report-header">
@@ -174,11 +170,10 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { getAssessmentLatestResult, getCognitiveRecommendations, createTaskFromRecommendation, getCognitiveNorms, getCognitiveTrend } from '../../utils/api.js'
 
 export default {
-  components: { PageBanner },
+  components: { },
   data: function() {
     return {
       memberId: null,

+ 1 - 8
cfc-frontend/pages/wisdom-detail/index.vue

@@ -3,11 +3,6 @@
     <!-- Tabbar 切换过渡页 -->
     <tab-transition v-if="showTabTransition" dimCode="wisdom" ref="tabTransition" @close="showTabTransition = false" />
 
-    <!-- 1. 品牌头部 -->
-    <PageBanner theme="wisdom"
-      tagline="学以启智 · 慧及未来"
-      quote="知者不惑,仁者不忧" />
-
     <!-- 品牌定位语(登录前显示) -->
     <view class="brand-strap" v-if="!isLoggedIn">
       <text class="brand-strap-text">提升全家认知能力与学习效率</text>
@@ -132,7 +127,6 @@
 <script>
 import nav from '../../utils/nav'
 import TabTransition from '../../components/tab-transition.vue'
-import PageBanner from '../../components/PageBanner.vue'
 import RadarChart from '../../components/RadarChart.vue'
 import DimensionSubDims from '../../components/DimensionSubDims.vue'
 import FamilyEnergyBar from '../../components/FamilyEnergyBar.vue'
@@ -143,7 +137,7 @@ import { getVisibleSections, getChildren, getFamilyEnergySandbox, getEnergySandb
 import { parseDate } from '../../utils/format.js'
 
 export default {
-  components: { TabTransition, PageBanner, RadarChart, FamilyEnergyBar, DimensionSubDims, FloatingAvatar, FamilyMemberStrip, DimensionIntroCard },
+  components: { TabTransition, RadarChart, FamilyEnergyBar, DimensionSubDims, FloatingAvatar, FamilyMemberStrip, DimensionIntroCard },
   data() {
     return {
       isLoggedIn: false,
@@ -419,7 +413,6 @@ export default {
 }
 </script>
 
-
 .view-toggle {
   display: flex;
   margin: 20rpx 30rpx;

+ 1 - 6
cfc-frontend/pages/wisdom/cognitive-report.vue

@@ -1,9 +1,5 @@
 <template>
   <view class="container">
-    <PageBanner theme="wisdom"
-      tagline="认知能力 · 全面评估"
-      quote="知人者智,自知者明" />
-
     <view class="report-card" v-if="report">
       <view class="report-header">
         <text class="report-title">认知测评报告</text>
@@ -81,11 +77,10 @@
 </template>
 
 <script>
-import PageBanner from '../../components/PageBanner.vue'
 import { getAssessmentLatestResult } from '../../utils/api.js'
 
 export default {
-  components: { PageBanner },
+  components: { },
   data: function() {
     return {
       memberId: null,