Преглед изворни кода

refactor(facade): A 批收尾——6 门面页局部令牌提升全局 $facade-*(零观感变化)

- index-home / health-main / profile-main / growth-main / cognitive-hall /
  service-center 6 页:49 个跨页同名同值局部变量提升至 uni.scss §15,
  页面改为引用全局 $facade-*(文字阶 8 / 填充阶 4 / 品牌淡底 2 / violet 1)
- 保留单页专有变量:index-home 23 个(品牌橙深阶/wisdom/action/Material 状态)、
  health-main 1 / profile-main 7 / growth-main 3 / cognitive-hall 3 /
  service-center 3
- 清理 5 处「待提升」失效注释,service-center 补充 $c-text-slate-2
  与全局 $facade-text-slate 不同值的局部承载说明
- 验证:6 页等价回归全 PASS(编译产物归一后逐字节相同)、
  无死变量 / 无未定义变量 / 无旧蓝残留 / 无 transition:all
liaoxg пре 1 недеља
родитељ
комит
783aeb1368

+ 7 - 14
cfc-frontend/pages/cognitive-hall.vue

@@ -158,16 +158,9 @@ export default {
 
 <style scoped lang="scss">
 // ===== 页面级局部调色板(单页专有色阶;同值才映射全局令牌,约定见 uni.scss §14) =====
-// violet-500(与 index-home 同名同值)
-$c-text-body:    #666;
-$c-text-muted:   #999;
-$c-text-faint:   #888;
-$c-text-ghost:   #CCC;
-$c-text-ghost-2: #BBB;
 $c-text-ghost-3: #AAA;
 $c-border-hair:  #EEE;      // 发丝分隔线
 $c-ink-night:    #1A1A2E;   // 深夜蓝黑(本页深色文字)
-$c-violet:       #8B5CF6;   // violet-500
 
 .page {
   min-height: 100vh;
@@ -178,7 +171,7 @@ $c-violet:       #8B5CF6;   // violet-500
 
 .header {
   padding: 40rpx 30rpx 30rpx;
-  background: linear-gradient(135deg, $dim-wisdom 0%, $c-violet 100%);
+  background: linear-gradient(135deg, $dim-wisdom 0%, $facade-violet 100%);
   color: $app-surface;
 }
 
@@ -206,7 +199,7 @@ $c-violet:       #8B5CF6;   // violet-500
 
 .selector-label {
   font-size: 26rpx;
-  color: $c-text-body;
+  color: $facade-text-body;
 }
 
 .member-tabs {
@@ -222,7 +215,7 @@ $c-violet:       #8B5CF6;   // violet-500
   margin: 8rpx 8rpx 0 0;
   background: $c-border-hair;
   font-size: 26rpx;
-  color: $c-text-body;
+  color: $facade-text-body;
 }
 
 .member-tab-active {
@@ -273,7 +266,7 @@ $c-violet:       #8B5CF6;   // violet-500
 
 .game-desc {
   font-size: 24rpx;
-  color: $c-text-faint;
+  color: $facade-text-faint;
   margin-top: 6rpx;
   display: block;
 }
@@ -294,14 +287,14 @@ $c-violet:       #8B5CF6;   // violet-500
 
 .game-arrow {
   font-size: 40rpx;
-  color: $c-text-ghost;
+  color: $facade-text-ghost;
   margin-left: 16rpx;
 }
 
 .loading, .empty {
   text-align: center;
   padding: 80rpx 40rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
   font-size: 28rpx;
 }
 
@@ -313,7 +306,7 @@ $c-violet:       #8B5CF6;   // violet-500
 
 .empty-hint {
   font-size: 24rpx;
-  color: $c-text-ghost-2;
+  color: $facade-text-ghost-light;
   margin-top: 10rpx;
   display: block;
 }

+ 37 - 49
cfc-frontend/pages/growth-main/index.vue

@@ -461,122 +461,110 @@ export default {
 </script>
 <style scoped lang="scss">
 // ===== 页面级局部调色板(单页专有色阶;同值才映射全局令牌,约定见 uni.scss §14) =====
-// 与 index-home / health-main / profile-main 同族:文字阶与品牌淡底同名同值
-$c-text-strong:    #333;
-$c-text-body:      #666;
-$c-text-deep:      #555;
-$c-text-muted:     #999;
-$c-text-faint:     #888;
-$c-text-ghost:     #CCC;
-$c-fill:           #F0F0F0;
-$c-fill-2:         #F5F5F5;
-$c-fill-cool:      #F7F7F7;
-$c-brand-tint:     #FFF7ED;   // 品牌淡底(3 页复用,待提升全局)
-$c-brand-tint-2:   #FFEDD5;   // orange-100(2 页复用,待提升全局)
 $c-warm-tint-mat:  #FFF3E0;   // Material orange-50
 $c-brand-ink-mat:  #E65100;   // Material orange-900
 $c-danger-el:      #F56C6C;   // Element 红
 
-  .container{background:$c-brand-tint;min-height:100vh;padding-bottom:calc(160rpx + env(safe-area-inset-bottom))}
+  .container{background:$facade-brand-tint;min-height:100vh;padding-bottom:calc(160rpx + env(safe-area-inset-bottom))}
 .section{margin:16rpx 24rpx}
 /* 游客态 */
 .brand-strap{margin:0 24rpx 16rpx;background:linear-gradient(135deg,$dim-action-tint,rgba($dim-action, 0.1));border-radius:16rpx;padding:20rpx 24rpx}
 .brand-strap-text{font-size:26rpx;color:$dim-action;font-weight:600}
 .concept-card{margin:0 24rpx 16rpx;background:$app-surface;border-radius:20rpx;padding:28rpx;border-left:6rpx solid $dim-action;box-shadow:0 2rpx 12rpx rgba(0,0,0,0.06)}
-.concept-quote{font-size:30rpx;font-weight:bold;color:$c-text-strong;display:block;margin-bottom:8rpx}
-.concept-desc{font-size:24rpx;color:$c-text-faint;display:block;line-height:1.6}
+.concept-quote{font-size:30rpx;font-weight:bold;color:$facade-text-strong;display:block;margin-bottom:8rpx}
+.concept-desc{font-size:24rpx;color:$facade-text-faint;display:block;line-height:1.6}
 .case-card{margin:0 24rpx 16rpx;background:$app-surface;border-radius:20rpx;padding:24rpx;box-shadow:0 2rpx 12rpx rgba(0,0,0,0.06)}
 .case-header{margin-bottom:12rpx}
 .case-label{font-size:24rpx;color:$dim-action;font-weight:bold}
 .case-body{padding:8rpx 0}
-.case-name{font-size:26rpx;color:$c-text-strong;font-weight:600;display:block;margin-bottom:6rpx}
-.case-change{font-size:24rpx;color:$c-text-body;display:block;margin-bottom:12rpx}
+.case-name{font-size:26rpx;color:$facade-text-strong;font-weight:600;display:block;margin-bottom:6rpx}
+.case-change{font-size:24rpx;color:$facade-text-body;display:block;margin-bottom:12rpx}
 .case-metrics{display:flex;gap:16rpx;margin-bottom:12rpx}
 .metric-item{display:flex;flex-direction:column;align-items:center;flex:1;background:$dim-action-tint;border-radius:12rpx;padding:12rpx 8rpx}
 .metric-up{font-size:26rpx;font-weight:bold;color:$dim-action}
-.metric-label{font-size:20rpx;color:$c-text-muted;margin-top:4rpx}
-.case-note{font-size:22rpx;color:$c-text-faint;display:block}
+.metric-label{font-size:20rpx;color:$facade-text-muted;margin-top:4rpx}
+.case-note{font-size:22rpx;color:$facade-text-faint;display:block}
 .guest-features{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 24rpx 16rpx}
 .feat-card{width:calc(50% - 8rpx);box-sizing:border-box;background:$app-surface;border-radius:20rpx;padding:24rpx;margin-bottom:16rpx;box-shadow:0 2rpx 12rpx rgba(0,0,0,0.06)}
 .feat-icon{font-size:40rpx;display:block;margin-bottom:8rpx}
-.feat-title{font-size:26rpx;font-weight:600;color:$c-text-strong;display:block;margin-bottom:4rpx}
-.feat-desc{font-size:22rpx;color:$c-text-muted;display:block}
+.feat-title{font-size:26rpx;font-weight:600;color:$facade-text-strong;display:block;margin-bottom:4rpx}
+.feat-desc{font-size:22rpx;color:$facade-text-muted;display:block}
 .login-guide-section{margin:0 24rpx 24rpx}
 /* 成长行动卡片 */
 .action-card{display:flex;align-items:center;padding:24rpx 28rpx;background:$app-surface;border-radius:16rpx;margin:0 24rpx 16rpx;box-shadow:0 2rpx 12rpx rgba(0,0,0,0.06)}
 .action-card:active{opacity:0.85}
 .action-icon{font-size:44rpx;margin-right:20rpx}
 .action-info{flex:1}
-.action-title{font-size:28rpx;font-weight:600;color:$c-text-strong;display:block}
-.action-desc{font-size:22rpx;color:$c-text-faint;margin-top:4rpx;display:block}
-.action-arrow{font-size:32rpx;color:$c-text-ghost}
+.action-title{font-size:28rpx;font-weight:600;color:$facade-text-strong;display:block}
+.action-desc{font-size:22rpx;color:$facade-text-faint;margin-top:4rpx;display:block}
+.action-arrow{font-size:32rpx;color:$facade-text-ghost}
 /* section-header 组件通用样式 */
 .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12rpx}
-.section-title{font-size:28rpx;font-weight:600;color:$c-text-strong}
+.section-title{font-size:28rpx;font-weight:600;color:$facade-text-strong}
 .section-more{font-size:24rpx;color:$brand-primary}
 /* 登录后 */
 .reminder-bar{margin:12rpx 24rpx;background:$c-warm-tint-mat;border:1rpx solid $uni-warning;border-radius:12rpx;padding:14rpx 20rpx;display:flex;align-items:center;justify-content:space-between}
 .reminder-text{font-size:24rpx;color:$c-brand-ink-mat}
-.reminder-close{font-size:28rpx;color:$c-text-muted}
+.reminder-close{font-size:28rpx;color:$facade-text-muted}
 /* 里程碑 */
 .milestone-card{background:$app-surface;border-radius:20rpx;padding:24rpx;box-shadow:0 2rpx 12rpx rgba(0,0,0,0.06)}
-.section-title-row{font-size:26rpx;font-weight:bold;color:$c-text-strong;margin-bottom:16rpx;display:block}
+.section-title-row{font-size:26rpx;font-weight:bold;color:$facade-text-strong;margin-bottom:16rpx;display:block}
 .milestone-grid{display:flex;justify-content:space-between}
 .milestone-item{display:flex;flex-direction:column;align-items:center;flex:1}
 .milestone-icon{font-size:40rpx;margin-bottom:4rpx}
 .milestone-value{font-size:28rpx;font-weight:bold;color:$brand-primary;margin-bottom:2rpx}
-.milestone-label{font-size:22rpx;color:$c-text-muted}
+.milestone-label{font-size:22rpx;color:$facade-text-muted}
 /* 今日成长 */
 .progress-card{background:$app-surface;border-radius:20rpx;padding:24rpx;box-shadow:0 2rpx 12rpx rgba(0,0,0,0.06)}
 .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx}
-.progress-title{font-size:28rpx;font-weight:bold;color:$c-text-strong}
-.progress-date{font-size:22rpx;color:$c-text-muted}
+.progress-title{font-size:28rpx;font-weight:bold;color:$facade-text-strong}
+.progress-date{font-size:22rpx;color:$facade-text-muted}
 .progress-grid{display:flex;justify-content:space-between}
-.progress-grid-item{flex:1;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20rpx 8rpx;background:$c-brand-tint;border-radius:16rpx;margin-right:12rpx}
+.progress-grid-item{flex:1;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20rpx 8rpx;background:$facade-brand-tint;border-radius:16rpx;margin-right:12rpx}
 .progress-grid-item:last-child{margin-right:0}
-.progress-grid-item:active{opacity:0.85;background:$c-brand-tint-2}
+.progress-grid-item:active{opacity:0.85;background:$facade-brand-tint-2}
 .progress-grid-icon{font-size:40rpx;margin-bottom:8rpx}
-.progress-grid-label{font-size:24rpx;color:$c-text-strong;margin-bottom:8rpx;text-align:center}
+.progress-grid-label{font-size:24rpx;color:$facade-text-strong;margin-bottom:8rpx;text-align:center}
 .progress-grid-status{font-size:20rpx;flex-shrink:0}
 .status-done{color:$dim-action}
-.status-pending{color:$c-text-ghost}
-.progress-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16rpx;padding-top:16rpx;border-top:1rpx solid $c-fill-2}
-.footer-text{font-size:24rpx;color:$c-text-body;font-weight:bold}
+.status-pending{color:$facade-text-ghost}
+.progress-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16rpx;padding-top:16rpx;border-top:1rpx solid $facade-fill-2}
+.footer-text{font-size:24rpx;color:$facade-text-body;font-weight:bold}
 .footer-streak{font-size:24rpx;color:$brand-primary;font-weight:bold}
 /* 任务中心预览 */
 .task-preview-card{background:$app-surface;border-radius:20rpx;padding:24rpx;box-shadow:0 2rpx 12rpx rgba(0,0,0,0.06)}
 .task-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx}
-.task-preview-title{font-size:28rpx;font-weight:bold;color:$c-text-strong}
+.task-preview-title{font-size:28rpx;font-weight:bold;color:$facade-text-strong}
 .task-preview-more{font-size:24rpx;color:$brand-primary}
 .task-preview-list{display:flex;flex-direction:column}
-.task-preview-item{display:flex;align-items:center;padding:16rpx 0;border-bottom:1rpx solid $c-fill-2}
+.task-preview-item{display:flex;align-items:center;padding:16rpx 0;border-bottom:1rpx solid $facade-fill-2}
 .task-preview-item:last-child{border-bottom:none}
 .task-preview-left{flex:1;min-width:0}
-.task-preview-name{font-size:26rpx;color:$c-text-strong;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
+.task-preview-name{font-size:26rpx;color:$facade-text-strong;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .task-preview-meta{display:flex;align-items:center;gap:12rpx;margin-top:6rpx}
 .task-preview-points{font-size:22rpx;color:$brand-primary;font-weight:bold}
-.task-preview-deadline{font-size:20rpx;color:$c-text-muted}
-.task-preview-arrow{font-size:28rpx;color:$c-text-ghost;flex-shrink:0;margin-left:12rpx}
+.task-preview-deadline{font-size:20rpx;color:$facade-text-muted}
+.task-preview-arrow{font-size:28rpx;color:$facade-text-ghost;flex-shrink:0;margin-left:12rpx}
 /* ===== 五维闭环体系样式 ===== */
 .wuxing-section { margin: 0 24rpx 16rpx; background: $app-surface; border-radius: 20rpx; padding: 24rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); }
-.wuxing-title { font-size: 30rpx; font-weight: bold; color: $c-text-strong; text-align: center; margin-bottom: 6rpx; }
-.wuxing-desc { font-size: 22rpx; color: $c-text-muted; text-align: center; margin-bottom: 20rpx; }
+.wuxing-title { font-size: 30rpx; font-weight: bold; color: $facade-text-strong; text-align: center; margin-bottom: 6rpx; }
+.wuxing-desc { font-size: 22rpx; color: $facade-text-muted; text-align: center; margin-bottom: 20rpx; }
 .wuxing-relations { margin-top: 8rpx; }
 .rel-group { margin-bottom: 16rpx; }
-.rel-title { font-size: 24rpx; font-weight: bold; color: $c-text-strong; margin-bottom: 8rpx; display: block; }
+.rel-title { font-size: 24rpx; font-weight: bold; color: $facade-text-strong; margin-bottom: 8rpx; display: block; }
 .rel-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 4rpx; margin-bottom: 6rpx; }
-.rel-item { font-size: 22rpx; padding: 4rpx 10rpx; border-radius: 8rpx; background: $c-fill-cool; color: $c-text-deep; }
+.rel-item { font-size: 22rpx; padding: 4rpx 10rpx; border-radius: 8rpx; background: $facade-fill-cool; color: $facade-text-deep; }
 .rel-arrow { font-size: 20rpx; color: $dim-action; font-weight: bold; }
 .rel-op { font-size: 20rpx; color: $c-danger-el; font-weight: bold; }
-.rel-dot { font-size: 20rpx; color: $c-text-ghost; }
-.rel-hint { font-size: 20rpx; color: $c-text-muted; line-height: 1.5; display: block; }
+.rel-dot { font-size: 20rpx; color: $facade-text-ghost; }
+.rel-hint { font-size: 20rpx; color: $facade-text-muted; line-height: 1.5; display: block; }
 .wuxing-cards { display: flex; flex-direction: column; gap: 10rpx; margin-top: 16rpx; }
-.wc-card { display: flex; align-items: center; padding: 16rpx 20rpx; border-radius: 16rpx; border: 2rpx solid $c-fill; }
+.wc-card { display: flex; align-items: center; padding: 16rpx 20rpx; border-radius: 16rpx; border: 2rpx solid $facade-fill; }
 .wc-card:active { opacity: 0.85; }
 .wc-icon { font-size: 36rpx; margin-right: 16rpx; flex-shrink: 0; }
 .wc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
 .wc-name { font-size: 24rpx; font-weight: 600; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
-.wc-text { font-size: 20rpx; color: $c-text-muted; display: block; margin-top: 4rpx; white-space: normal; }
+.wc-text { font-size: 20rpx; color: $facade-text-muted; display: block; margin-top: 4rpx; white-space: normal; }
 .wc-body { border-color: rgba($dim-body, 0.3); background: rgba($dim-body, 0.04); border-left: 8rpx solid $dim-body; }
 .wc-body .wc-name { color: $dim-body; }
 .wc-wisdom { border-color: rgba($dim-wisdom, 0.3); background: rgba($dim-wisdom, 0.04); border-left: 8rpx solid $dim-wisdom; }

+ 41 - 53
cfc-frontend/pages/health-main/index.vue

@@ -653,60 +653,48 @@ export default {
 
 <style scoped lang="scss">
 // ===== 页面级局部调色板(单页专有色阶;同值才映射全局令牌,约定见 uni.scss §14) =====
-// 与 index-home 同族:$c-text-strong/$c-text-muted/$c-brand-tint 等保持同名同值,
-// A 批 6 个门面页完成后统一做「局部 → 全局」提升
-$c-text-strong:   #333;
-$c-text-body:     #666;
-$c-text-deep:     #555;
-$c-text-muted:    #999;
-$c-text-faint:    #888;
-$c-text-ghost:    #CCC;
-$c-text-slate-2:  #6B7280;   // gray-500
-$c-fill:          #F0F0F0;
 $c-fill-warm:     #F8F8F8;
-$c-fill-cool:     #F7F7F7;
-$c-brand-tint:    #FFF7ED;   // 品牌淡底(与 index-home 同值,待提升全局)
 
   .container { background: $c-fill-warm; min-height: 100vh; padding-bottom: calc(160rpx + env(safe-area-inset-bottom)); }
 .section { margin: 16rpx 24rpx; }
 .tab-bar { display: flex; background: $app-surface; margin: 0 24rpx 16rpx; border-radius: 16rpx; padding: 8rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); }
 .tab-item { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 12rpx 0; position: relative; border-radius: 12rpx; }
-.tab-item.active { background: $c-brand-tint; }
+.tab-item.active { background: $facade-brand-tint; }
 .tab-icon { font-size: 32rpx; margin-bottom: 4rpx; }
-.tab-label { font-size: 26rpx; color: $c-text-body; font-weight: 500; }
-.tab-item.active .tab-label { color: $c-text-strong; font-weight: bold; }
+.tab-label { font-size: 26rpx; color: $facade-text-body; font-weight: 500; }
+.tab-item.active .tab-label { color: $facade-text-strong; font-weight: bold; }
 .tab-underline { width: 40rpx; height: 4rpx; border-radius: 2rpx; margin-top: 6rpx; }
 .section-chart { position: relative; margin: 0 24rpx 16rpx; }
 .chart-empty { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; z-index: 3; background: rgba($app-surface, 0.85); border-radius: 12rpx; padding: 20rpx 30rpx; }
-.chart-empty .empty-text { font-size: 28rpx; color: $c-text-strong; font-weight: 500; display: block; }
-.chart-empty .empty-sub { font-size: 22rpx; color: $c-text-muted; display: block; margin-top: 4rpx; }
+.chart-empty .empty-text { font-size: 28rpx; color: $facade-text-strong; font-weight: 500; display: block; }
+.chart-empty .empty-sub { font-size: 22rpx; color: $facade-text-muted; display: block; margin-top: 4rpx; }
 .section-dc-header { margin: 20rpx 24rpx 8rpx; }
 .dc-title-row { display: flex; align-items: center; }
 .dc-icon { font-size: 32rpx; margin-right: 8rpx; }
-.dc-title { font-size: 32rpx; font-weight: bold; color: $c-text-strong; }
+.dc-title { font-size: 32rpx; font-weight: bold; color: $facade-text-strong; }
 .section-data-collect { margin: 8rpx 24rpx; }
 .data-card { display: flex; align-items: center; background: $app-surface; 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: $c-text-strong; display: block; margin-bottom: 6rpx; }
-.data-card-desc { font-size: 22rpx; color: $c-text-muted; }
-.data-card-arrow { font-size: 36rpx; color: $c-text-ghost; }
+.data-card-title { font-size: 28rpx; font-weight: bold; color: $facade-text-strong; display: block; margin-bottom: 6rpx; }
+.data-card-desc { font-size: 22rpx; color: $facade-text-muted; }
+.data-card-arrow { font-size: 36rpx; color: $facade-text-ghost; }
 .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: $c-text-muted; margin-left: 12rpx; }
-.quiz-item { display: flex; align-items: center; padding: 16rpx 0; border-top: 1rpx solid $c-fill; }
+.data-card-subtitle { font-size: 22rpx; color: $facade-text-muted; margin-left: 12rpx; }
+.quiz-item { display: flex; align-items: center; padding: 16rpx 0; border-top: 1rpx solid $facade-fill; }
 .quiz-item:first-of-type { border-top: none; }
 .quiz-info { display: flex; align-items: center; flex: 1; }
 .quiz-icon { font-size: 36rpx; margin-right: 16rpx; }
-.quiz-label { font-size: 28rpx; color: $c-text-strong; }
+.quiz-label { font-size: 28rpx; color: $facade-text-strong; }
 .quiz-score { display: flex; align-items: baseline; margin-right: 16rpx; }
 .score-value { font-size: 36rpx; font-weight: bold; color: $brand-primary; }
-.score-unit { font-size: 22rpx; color: $c-text-muted; margin-left: 4rpx; }
+.score-unit { font-size: 22rpx; color: $facade-text-muted; margin-left: 4rpx; }
 
 .quiz-btn { background: $brand-primary; color: $app-surface; font-size: 24rpx; border: none; border-radius: 20rpx; padding: 10rpx 30rpx; height: 56rpx; line-height: 36rpx; margin: 0; }
 .section-data-view { margin: 16rpx 24rpx; }
 .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12rpx; }
-.section-title { font-size: 28rpx; font-weight: bold; color: $c-text-strong; }
+.section-title { font-size: 28rpx; font-weight: bold; color: $facade-text-strong; }
 .section-more { font-size: 24rpx; color: $brand-primary; }
 .report-card { display: flex; align-items: center; background: $app-surface; border-radius: 16rpx; padding: 16rpx 20rpx; margin-bottom: 10rpx; }
 .report-type-badge { font-size: 20rpx; padding: 4rpx 12rpx; border-radius: 8rpx; margin-right: 12rpx; flex-shrink: 0; font-weight: 600; }
@@ -714,37 +702,37 @@ $c-brand-tint:    #FFF7ED;   // 品牌淡底(与 index-home 同值,待提升
 .report-type-badge.badge-exam { background: rgba($dim-wisdom, 0.12); color: $dim-wisdom; }
 .report-type-badge.badge-tongue { background: rgba($dim-action, 0.12); color: $dim-action; }
 .report-type-badge.badge-blood { background: rgba($status-danger, 0.12); color: $status-danger; }
-.report-type-badge.badge-default { background: rgba($c-text-slate-2, 0.12); color: $c-text-slate-2; }
+.report-type-badge.badge-default { background: rgba($facade-text-slate, 0.12); color: $facade-text-slate; }
 .report-info { flex: 1; min-width: 0; }
-.report-name { font-size: 26rpx; color: $c-text-strong; font-weight: 600; display: block; margin-bottom: 4rpx; }
-.report-meta { font-size: 20rpx; color: $c-text-muted; display: block; }
+.report-name { font-size: 26rpx; color: $facade-text-strong; font-weight: 600; display: block; margin-bottom: 4rpx; }
+.report-meta { font-size: 20rpx; color: $facade-text-muted; display: block; }
 .report-score-wrap { display: flex; flex-direction: column; align-items: flex-end; margin-right: 8rpx; flex-shrink: 0; }
 .report-score { font-size: 32rpx; font-weight: bold; color: $brand-primary; line-height: 1; }
 .report-status { font-size: 20rpx; margin-top: 4rpx; }
 .report-status.status-resolved { color: $dim-action; }
 .report-status.status-pending { color: $dim-wealth; }
-.report-arrow { font-size: 28rpx; color: $c-text-ghost; }
+.report-arrow { font-size: 28rpx; color: $facade-text-ghost; }
 .empty-hint { text-align: center; padding: 30rpx 0; background: $app-surface; border-radius: 16rpx; }
-.empty-hint .empty-text { font-size: 26rpx; color: $c-text-muted; display: block; }
-.empty-hint .empty-sub { font-size: 22rpx; color: $c-text-ghost; display: block; margin-top: 6rpx; }
+.empty-hint .empty-text { font-size: 26rpx; color: $facade-text-muted; display: block; }
+.empty-hint .empty-sub { font-size: 22rpx; color: $facade-text-ghost; display: block; margin-top: 6rpx; }
 .section-plan { margin: 8rpx 24rpx 16rpx; }
 .plan-card { background: $app-surface; border-radius: 20rpx; padding: 24rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); }
 .plan-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12rpx; }
-.plan-title { font-size: 28rpx; font-weight: bold; color: $c-text-strong; }
+.plan-title { font-size: 28rpx; font-weight: bold; color: $facade-text-strong; }
 .plan-btn { background: linear-gradient(135deg, $brand-primary, $brand-primary-light); color: $app-surface; font-size: 24rpx; border: none; border-radius: 20rpx; padding: 10rpx 28rpx; height: 56rpx; line-height: 36rpx; margin: 0; }
-.plan-goal { font-size: 24rpx; color: $c-text-body; line-height: 1.5; display: block; margin-top: 12rpx; }
-.plan-hint { font-size: 22rpx; color: $c-text-muted; display: block; margin-top: 12rpx; }
+.plan-goal { font-size: 24rpx; color: $facade-text-body; line-height: 1.5; display: block; margin-top: 12rpx; }
+.plan-hint { font-size: 22rpx; color: $facade-text-muted; display: block; margin-top: 12rpx; }
 /* ===== 游客态样式 ===== */
-.brand-strap { margin: 0 24rpx 16rpx; background: linear-gradient(135deg, $c-brand-tint, rgba($brand-primary, 0.08)); border-radius: 16rpx; padding: 20rpx 24rpx; }
+.brand-strap { margin: 0 24rpx 16rpx; background: linear-gradient(135deg, $facade-brand-tint, rgba($brand-primary, 0.08)); border-radius: 16rpx; padding: 20rpx 24rpx; }
 .brand-strap-text { font-size: 26rpx; color: $brand-primary; font-weight: 600; }
 .pain-card { margin: 0 24rpx 16rpx; background: $app-surface; border-radius: 20rpx; padding: 28rpx; border-left: 6rpx solid $brand-primary; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); }
-.pain-quote { font-size: 32rpx; font-weight: bold; color: $c-text-strong; display: block; margin-bottom: 8rpx; }
-.pain-desc { font-size: 26rpx; color: $c-text-faint; display: block; }
+.pain-quote { font-size: 32rpx; font-weight: bold; color: $facade-text-strong; display: block; margin-bottom: 8rpx; }
+.pain-desc { font-size: 26rpx; color: $facade-text-faint; display: block; }
 .guest-features { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 24rpx 16rpx; }
 .feat-card { width: 48.5%; box-sizing: border-box; background: $app-surface; border-radius: 20rpx; padding: 24rpx 20rpx; margin-bottom: 16rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); }
 .feat-icon { font-size: 44rpx; display: block; margin-bottom: 10rpx; }
-.feat-title { font-size: 26rpx; font-weight: 600; color: $c-text-strong; display: block; margin-bottom: 4rpx; }
-.feat-desc { font-size: 22rpx; color: $c-text-muted; display: block; }
+.feat-title { font-size: 26rpx; font-weight: 600; color: $facade-text-strong; display: block; margin-bottom: 4rpx; }
+.feat-desc { font-size: 22rpx; color: $facade-text-muted; display: block; }
 .self-test-card { margin: 0 24rpx 16rpx; background: linear-gradient(135deg, $brand-primary, $brand-primary-light); border-radius: 20rpx; padding: 24rpx 28rpx; }
 .self-test-head { display: flex; align-items: center; }
 .self-test-icon { font-size: 40rpx; margin-right: 16rpx; }
@@ -754,8 +742,8 @@ $c-brand-tint:    #FFF7ED;   // 品牌淡底(与 index-home 同值,待提升
 .ai-q-entry { margin: 0 24rpx 16rpx; background: linear-gradient(135deg, $brand-primary, $dim-wealth); border-radius: 20rpx; padding: 24rpx 28rpx; }
 .reminder-icon { font-size: 40rpx; margin-right: 16rpx; flex-shrink: 0; }
 .reminder-body { flex: 1; min-width: 0; }
-.reminder-text { font-size: 26rpx; font-weight: 600; color: $c-text-strong; display: block; }
-.reminder-sub { font-size: 22rpx; color: $c-text-muted; margin-top: 4rpx; display: block; line-height: 1.4; }
+.reminder-text { font-size: 26rpx; font-weight: 600; color: $facade-text-strong; display: block; }
+.reminder-sub { font-size: 22rpx; color: $facade-text-muted; margin-top: 4rpx; display: block; line-height: 1.4; }
 .reminder-arrow { font-size: 28rpx; color: $brand-primary; flex-shrink: 0; }
 .ai-q-head { display: flex; align-items: center; }
 .ai-q-icon { font-size: 40rpx; margin-right: 16rpx; }
@@ -765,33 +753,33 @@ $c-brand-tint:    #FFF7ED;   // 品牌淡底(与 index-home 同值,待提升
 .self-test-arrow { font-size: 36rpx; color: rgba($app-surface, 0.7); }
 .demo-section { margin: 0 24rpx 16rpx; }
 .demo-section-head { margin-bottom: 8rpx; }
-.demo-section-title { font-size: 30rpx; font-weight: bold; color: $c-text-strong; display: block; }
-.demo-section-sub { font-size: 22rpx; color: $c-text-muted; display: block; margin-top: 4rpx; }
+.demo-section-title { font-size: 30rpx; font-weight: bold; color: $facade-text-strong; display: block; }
+.demo-section-sub { font-size: 22rpx; color: $facade-text-muted; display: block; margin-top: 4rpx; }
 .demo-chart-title-row { display: flex; align-items: center; justify-content: space-between; margin: 8rpx 8rpx 0; padding: 0 8rpx; }
-.demo-chart-name { font-size: 26rpx; font-weight: 600; color: $c-text-strong; }
+.demo-chart-name { font-size: 26rpx; font-weight: 600; color: $facade-text-strong; }
 .demo-chart-tag { font-size: 20rpx; color: $brand-primary; background: rgba($brand-primary, 0.1); border-radius: 8rpx; padding: 4rpx 12rpx; }
 .login-guide-section { margin: 0 24rpx 24rpx; }
 
 /* ===== 五维闭环体系样式 ===== */
 .wuxing-section { margin: 0 24rpx 16rpx; background: $app-surface; border-radius: 20rpx; padding: 24rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); }
-.wuxing-title { font-size: 30rpx; font-weight: bold; color: $c-text-strong; text-align: center; margin-bottom: 6rpx; }
-.wuxing-desc { font-size: 22rpx; color: $c-text-muted; text-align: center; margin-bottom: 20rpx; }
+.wuxing-title { font-size: 30rpx; font-weight: bold; color: $facade-text-strong; text-align: center; margin-bottom: 6rpx; }
+.wuxing-desc { font-size: 22rpx; color: $facade-text-muted; text-align: center; margin-bottom: 20rpx; }
 .wuxing-diagram { position: relative; height: 320rpx; margin: 0 auto 20rpx; }
 .wuxing-relations { margin-top: 8rpx; }
 .rel-group { margin-bottom: 16rpx; }
-.rel-title { font-size: 24rpx; font-weight: bold; color: $c-text-strong; margin-bottom: 8rpx; display: block; }
+.rel-title { font-size: 24rpx; font-weight: bold; color: $facade-text-strong; margin-bottom: 8rpx; display: block; }
 .rel-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 4rpx; margin-bottom: 6rpx; }
-.rel-item { font-size: 22rpx; padding: 4rpx 10rpx; border-radius: 8rpx; background: $c-fill-cool; color: $c-text-deep; }
+.rel-item { font-size: 22rpx; padding: 4rpx 10rpx; border-radius: 8rpx; background: $facade-fill-cool; color: $facade-text-deep; }
 .rel-arrow { font-size: 20rpx; color: $brand-primary; font-weight: bold; }
-.rel-dot { font-size: 20rpx; color: $c-text-ghost; }
-.rel-hint { font-size: 20rpx; color: $c-text-muted; line-height: 1.5; display: block; }
+.rel-dot { font-size: 20rpx; color: $facade-text-ghost; }
+.rel-hint { font-size: 20rpx; color: $facade-text-muted; line-height: 1.5; display: block; }
 .wuxing-cards { display: flex; flex-direction: column; gap: 10rpx; margin-top: 16rpx; }
-.wc-card { display: flex; align-items: center; padding: 16rpx 20rpx; border-radius: 16rpx; border: 2rpx solid $c-fill; }
+.wc-card { display: flex; align-items: center; padding: 16rpx 20rpx; border-radius: 16rpx; border: 2rpx solid $facade-fill; }
 .wc-card:active { opacity: 0.85; }
 .wc-icon { font-size: 36rpx; margin-right: 16rpx; flex-shrink: 0; }
 .wc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
 .wc-name { font-size: 24rpx; font-weight: 600; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
-.wc-text { font-size: 20rpx; color: $c-text-muted; display: block; margin-top: 4rpx; white-space: normal; }
+.wc-text { font-size: 20rpx; color: $facade-text-muted; display: block; margin-top: 4rpx; white-space: normal; }
 .wc-body { border-color: rgba($dim-body, 0.3); background: rgba($dim-body, 0.04); border-left: 8rpx solid $dim-body; }
 .wc-body .wc-name { color: $dim-body; }
 .wc-wisdom { border-color: rgba($dim-wisdom, 0.3); background: rgba($dim-wisdom, 0.04); border-left: 8rpx solid $dim-wisdom; }

+ 26 - 36
cfc-frontend/pages/index-home/index.vue

@@ -2019,23 +2019,14 @@ title: '添加家庭成员',
 <style lang="scss">
 // ===== 页面级局部调色板(单页专有色阶;同值才映射全局令牌,约定见 uni.scss §14) =====
 // 品牌橙阶(orange-50~900 / amber-700)
-$c-brand-tint:    #FFF7ED;   // orange-50 极浅底
-$c-brand-tint-2:  #FFEDD5;   // orange-100
 $c-brand-tint-3:  #FED7AA;   // orange-200
 $c-brand-ink:     #7C2D12;   // orange-900 深文字
 $c-brand-ink-2:   #9A3412;   // orange-800
 $c-brand-ink-3:   #B45309;   // amber-700
 // 文字阶(页面既有灰阶)
-$c-text-strong:   #333;
-$c-text-body:     #666;
-$c-text-muted:    #999;
-$c-text-faint:    #888;
-$c-text-ghost:    #BBB;
 $c-text-slate:    #64748B;   // slate-500
 $c-ink-slate:     #334155;   // slate-700
 // 填充阶
-$c-fill:          #F0F0F0;
-$c-fill-2:        #F5F5F5;
 $c-fill-slate:    #F8FAFC;   // slate-50
 // 维度深/浅阶(wisdom indigo / action emerald / violet)
 $c-wisdom-tint:   #EFF4FF;
@@ -2046,7 +2037,6 @@ $c-action-tint:   #ECFDF5;
 $c-action-ink:    #064E3B;
 $c-action-mid:    #047857;
 $c-action-light:  #34D399;
-$c-violet:        #8B5CF6;
 $c-violet-tint:   #F5F3FF;
 $c-violet-ink:    #4C1D95;
 $c-violet-mid:    #6D28D9;
@@ -2067,7 +2057,7 @@ $c-warm-tint:     #FFF3E7;
 .hero-section {
   margin: 24rpx 30rpx 0;
   padding: 40rpx 32rpx;
-  background: linear-gradient(160deg, $c-brand-tint 0%, $c-brand-tint-3 60%, rgba($brand-primary, 0.15) 100%);
+  background: linear-gradient(160deg, $facade-brand-tint 0%, $c-brand-tint-3 60%, rgba($brand-primary, 0.15) 100%);
   border-radius: 24rpx;
   text-align: center;
   border: 1rpx solid rgba($brand-primary, 0.12);
@@ -2179,7 +2169,7 @@ $c-warm-tint:     #FFF3E7;
   display: block;
   font-size: 32rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
   text-align: center;
   margin-bottom: 20rpx;
 }
@@ -2215,11 +2205,11 @@ $c-warm-tint:     #FFF3E7;
 .value-prop-name {
   font-size: 28rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
 }
 .value-prop-desc {
   font-size: 22rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
   margin-top: 8rpx;
   line-height: 1.5;
 }
@@ -2236,7 +2226,7 @@ $c-warm-tint:     #FFF3E7;
   display: block;
   font-size: 32rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
   text-align: center;
   margin-bottom: 28rpx;
 }
@@ -2266,14 +2256,14 @@ $c-warm-tint:     #FFF3E7;
 }
 .step-name {
   font-size: 24rpx;
-  color: $c-text-strong;
+  color: $facade-text-strong;
   font-weight: 500;
   margin-top: 12rpx;
   text-align: center;
 }
 .step-sub {
   font-size: 20rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
   margin-top: 4rpx;
   text-align: center;
 }
@@ -2289,7 +2279,7 @@ $c-warm-tint:     #FFF3E7;
 .brand-strap {
   margin: 16rpx 30rpx 0;
   padding: 20rpx 28rpx;
-  background: linear-gradient(135deg, $c-brand-tint, rgba($brand-primary, 0.10));
+  background: linear-gradient(135deg, $facade-brand-tint, rgba($brand-primary, 0.10));
   border-radius: 16rpx;
   border-left: 4rpx solid $brand-primary;
 }
@@ -2364,7 +2354,7 @@ $c-warm-tint:     #FFF3E7;
 .loading-text,
 .empty-text {
   font-size: 26rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 
 /* ===== 五维全景幸福矩阵 ===== */
@@ -2434,7 +2424,7 @@ $c-warm-tint:     #FFF3E7;
 .section-title {
   font-size: 30rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
 }
 .section-more {
   font-size: 24rpx;
@@ -2447,7 +2437,7 @@ $c-warm-tint:     #FFF3E7;
 }
 .empty-text {
   font-size: 26rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 
 /* ===== 活动列表 ===== */
@@ -2471,7 +2461,7 @@ $c-warm-tint:     #FFF3E7;
   width: 200rpx;
   height: 160rpx;
   flex-shrink: 0;
-  background: $c-fill;
+  background: $facade-fill;
 }
 .activity-info {
   flex: 1;
@@ -2483,7 +2473,7 @@ $c-warm-tint:     #FFF3E7;
 .activity-name {
   font-size: 28rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
   margin-bottom: 8rpx;
 }
 .line-clamp-1 {
@@ -2498,7 +2488,7 @@ $c-warm-tint:     #FFF3E7;
 }
 .activity-time {
   font-size: 22rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 .activity-bottom {
   display: flex;
@@ -2517,8 +2507,8 @@ $c-warm-tint:     #FFF3E7;
   color: $c-info-ink;
 }
 .activity-status.status-ended {
-  background: $c-fill-2;
-  color: $c-text-muted;
+  background: $facade-fill-2;
+  color: $facade-text-muted;
 }
 .activity-fee {
   font-size: 24rpx;
@@ -2558,14 +2548,14 @@ $c-warm-tint:     #FFF3E7;
   display: block;
   font-size: 28rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
   margin-bottom: 8rpx;
   line-height: 1.4;
 }
 .article-summary {
   display: block;
   font-size: 24rpx;
-  color: $c-text-faint;
+  color: $facade-text-faint;
   line-height: 1.5;
   margin-bottom: 12rpx;
   overflow: hidden;
@@ -2589,11 +2579,11 @@ $c-warm-tint:     #FFF3E7;
 }
 .meta-text {
   font-size: 22rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 .article-date {
   font-size: 22rpx;
-  color: $c-text-ghost;
+  color: $facade-text-ghost-light;
 }
 
 /* ===== Splash Loading Overlay(冷启动蒙板,来自 merge splash.vue) ===== */
@@ -2604,7 +2594,7 @@ $c-warm-tint:     #FFF3E7;
   display: flex;
   align-items: center;
   justify-content: center;
-  background: linear-gradient(160deg, $c-brand-tint 0%, $c-brand-tint-2 50%, $c-brand-tint-3 100%);
+  background: linear-gradient(160deg, $facade-brand-tint 0%, $facade-brand-tint-2 50%, $c-brand-tint-3 100%);
   overflow: hidden;
   opacity: 1;
   transition: opacity 0.4s ease;
@@ -2829,8 +2819,8 @@ $c-warm-tint:     #FFF3E7;
 .guide-bar-green .guide-bar-sub { color: $c-action-mid; }
 .guide-bar-green .guide-bar-btn { background: linear-gradient(135deg, $dim-action, $c-action-light); color: $app-surface; }
 
-.guide-bar-purple { background: $c-violet-tint; border: 1rpx solid rgba($c-violet, 0.18); }
-.guide-bar-purple .guide-bar-icon-wrap { background: rgba($c-violet, 0.12); }
+.guide-bar-purple { background: $c-violet-tint; border: 1rpx solid rgba($facade-violet, 0.18); }
+.guide-bar-purple .guide-bar-icon-wrap { background: rgba($facade-violet, 0.12); }
 .guide-bar-purple .guide-bar-title { color: $c-violet-ink; }
 .guide-bar-purple .guide-bar-sub { color: $c-violet-mid; }
 .guide-bar-purple .guide-bar-btn { background: linear-gradient(135deg, $brand-primary, $brand-primary-light); color: $app-surface; }
@@ -2875,7 +2865,7 @@ $c-warm-tint:     #FFF3E7;
 
 .quick-item .quick-label {
   font-size: 26rpx;
-  color: $c-text-body;
+  color: $facade-text-body;
 }
 
 /* ===== 我的任务快捷列表 ===== */
@@ -2905,7 +2895,7 @@ $c-warm-tint:     #FFF3E7;
 
 .task-quick-title {
   font-size: 26rpx;
-  color: $c-text-strong;
+  color: $facade-text-strong;
   font-weight: 500;
   line-height: 1.4;
 }
@@ -2949,7 +2939,7 @@ $c-warm-tint:     #FFF3E7;
 }
 .challenge-empty-text {
   font-size: 26rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
   margin-bottom: 20rpx;
 }
 .challenge-add-btn {

+ 25 - 35
cfc-frontend/pages/profile-main/profile.vue

@@ -830,18 +830,8 @@ export default {
 
 <style scoped lang="scss">
 // ===== 页面级局部调色板(单页专有色阶;同值才映射全局令牌,约定见 uni.scss §14) =====
-// 与 index-home / health-main 同族:$c-text-strong/$c-text-muted/$c-brand-tint 同名同值
-$c-text-strong:     #333;
-$c-text-body:       #666;
-$c-text-muted:      #999;
-$c-text-faint:      #888;
-$c-text-ghost:      #CCC;
 $c-text-gray-400:   #9CA3AF;
-$c-text-slate-2:    #6B7280;
-$c-fill:            #F0F0F0;
 $c-fill-2b:         #F2F2F2;
-$c-fill-warm-gray:  #F8F4EF;
-$c-brand-tint:      #FFF7ED;   // 品牌淡底(与 index-home 同值,待提升全局)
 $c-wisdom-mid:      #4F46E5;   // indigo-600
 $c-danger-ant:      #FF4D4F;   // Ant Design 红
 $c-pink:            #EC4899;   // pink-500
@@ -850,7 +840,7 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 
 .container {
   min-height: 100vh;
-  background: $c-fill-warm-gray;
+  background: $facade-fill-warm-gray;
   padding-bottom: calc(160rpx + env(safe-area-inset-bottom));
 }
 
@@ -862,8 +852,8 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
   padding: 200rpx 60rpx;
 }
 .prompt-icon { font-size: 100rpx; margin-bottom: 30rpx; }
-.prompt-title { font-size: 40rpx; font-weight: bold; color: $c-text-strong; margin-bottom: 16rpx; }
-.prompt-desc { font-size: 26rpx; color: $c-text-muted; margin-bottom: 20rpx; }
+.prompt-title { font-size: 40rpx; font-weight: bold; color: $facade-text-strong; margin-bottom: 16rpx; }
+.prompt-desc { font-size: 26rpx; color: $facade-text-muted; margin-bottom: 20rpx; }
 .login-btn {
   background: linear-gradient(135deg, $brand-primary, $brand-primary-light);
   color: $app-surface;
@@ -873,13 +863,13 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 }
 .skip-link {
   font-size: 26rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
   margin-top: 24rpx;
   text-decoration: underline;
 }
 .philosophy-card {
   margin: 0 40rpx 48rpx;
-  background: linear-gradient(135deg, $c-brand-tint, rgba($brand-primary, 0.06));
+  background: linear-gradient(135deg, $facade-brand-tint, rgba($brand-primary, 0.06));
   border-radius: 20rpx;
   padding: 28rpx 32rpx;
   border-left: 6rpx solid $brand-primary;
@@ -887,13 +877,13 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 .philosophy-title {
   font-size: 28rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
   display: block;
   margin-bottom: 8rpx;
 }
 .philosophy-desc {
   font-size: 24rpx;
-  color: $c-text-faint;
+  color: $facade-text-faint;
   line-height: 1.6;
   display: block;
 }
@@ -991,7 +981,7 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
   content: '👑';
   font-size: 18rpx;
 }
-.level-FREE { background: linear-gradient(135deg, $c-text-gray-400, $c-text-slate-2); color: $app-surface; }
+.level-FREE { background: linear-gradient(135deg, $c-text-gray-400, $facade-text-slate); color: $app-surface; }
 .level-FREE::before { content: ''; }
 .level-FAMILY { background: linear-gradient(135deg, $dim-wealth, $status-warning-deep); color: $app-surface; }
 .level-PREMIUM { background: linear-gradient(135deg, $dim-wisdom, $c-wisdom-mid); color: $app-surface; }
@@ -1058,11 +1048,11 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 .family-strip-title {
   font-size: 26rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
 }
 .family-strip-count {
   font-size: 22rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 .family-avatars {
   display: flex;
@@ -1083,7 +1073,7 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
   width: 72rpx;
   height: 72rpx;
   border-radius: 50%;
-  background: $c-fill;
+  background: $facade-fill;
   display: flex;
   align-items: center;
   justify-content: center;
@@ -1097,15 +1087,15 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 }
 .family-avatar-text {
   font-size: 28rpx;
-  color: $c-text-body;
+  color: $facade-text-body;
 }
 .family-avatar-wrap.family-avatar-add {
-  background: $c-fill-warm-gray;
-  border: 2rpx dashed $c-text-ghost;
+  background: $facade-fill-warm-gray;
+  border: 2rpx dashed $facade-text-ghost;
 }
 .family-avatar-plus {
   font-size: 36rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 .family-avatar-tag {
   position: absolute;
@@ -1122,7 +1112,7 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 .family-avatar-tag.tag-member { background: $c-text-gray-400; }
 .family-avatar-name {
   font-size: 20rpx;
-  color: $c-text-body;
+  color: $facade-text-body;
   white-space: nowrap;
 }
 
@@ -1143,11 +1133,11 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 .section-title {
   font-size: 28rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
 }
 .section-sub {
   font-size: 22rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 .achievement-grid {
   display: flex;
@@ -1178,12 +1168,12 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 .ach-num {
   font-size: 28rpx;
   font-weight: bold;
-  color: $c-text-strong;
+  color: $facade-text-strong;
   line-height: 1;
 }
 .ach-label {
   font-size: 20rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
   line-height: 1;
 }
 
@@ -1199,7 +1189,7 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 }
 .order-all-link {
   font-size: 24rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 .order-card {
   background: $app-surface;
@@ -1247,7 +1237,7 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 }
 .order-grid-text {
   font-size: 22rpx;
-  color: $c-text-body;
+  color: $facade-text-body;
   line-height: 1;
 }
 .order-extra-row {
@@ -1269,7 +1259,7 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 }
 .order-extra-text {
   font-size: 24rpx;
-  color: $c-text-strong;
+  color: $facade-text-strong;
 }
 .order-extra-badge {
   min-width: 30rpx;
@@ -1357,11 +1347,11 @@ $c-indigo:          #667EEA;   // indigo-500(rgba 渐变用)
 .menu-row-text {
   flex: 1;
   font-size: 26rpx;
-  color: $c-text-strong;
+  color: $facade-text-strong;
 }
 .menu-row-arrow {
   font-size: 28rpx;
-  color: $c-text-ghost;
+  color: $facade-text-ghost;
 }
 .logout-btn {
   width: 100%;

+ 7 - 11
cfc-frontend/pages/service-center/index.vue

@@ -134,16 +134,12 @@ export default {
 
 <style scoped lang="scss">
 // ===== 页面级局部调色板(单页专有色阶;同值才映射全局令牌,约定见 uni.scss §14) =====
-// 与 index-home / profile-main 同族:$c-text-slate-2/$c-fill-warm-gray/$c-violet 同名同值
-$c-text-muted:     #999;
-$c-text-slate-2:   #64748B;   // slate-500
-$c-fill-warm-gray: #F8F4EF;
-$c-violet:         #8B5CF6;   // violet-500
+$c-text-slate-2:   #64748B;   // slate-500(与全局 $facade-text-slate #6B7280 不同值,故局部承载)
 $c-info-blue:      #3B82F6;   // blue-500
 $c-cyan:           #06B6D4;   // cyan-500
 
 .container {
-  background: $c-fill-warm-gray;
+  background: $facade-fill-warm-gray;
   min-height: 100vh;
   padding: 0 0 40rpx;
 }
@@ -168,7 +164,7 @@ $c-cyan:           #06B6D4;   // cyan-500
 
 .header-close {
   font-size: 28rpx;
-  color: $c-text-muted;
+  color: $facade-text-muted;
 }
 
 /* 统计卡片横排(替代 grid,使用 flexbox) */
@@ -193,7 +189,7 @@ $c-cyan:           #06B6D4;   // cyan-500
 .stat-card.blue { border-top: 4rpx solid $c-info-blue; }
 .stat-card.green { border-top: 4rpx solid $dim-action; }
 .stat-card.gold { border-top: 4rpx solid $dim-wealth; }
-.stat-card.purple { border-top: 4rpx solid $c-violet; }
+.stat-card.purple { border-top: 4rpx solid $facade-violet; }
 
 .stat-value {
   font-size: 36rpx;
@@ -236,7 +232,7 @@ $c-cyan:           #06B6D4;   // cyan-500
   flex-direction: column;
   align-items: center;
   padding: 20rpx 0;
-  background: $c-fill-warm-gray;
+  background: $facade-fill-warm-gray;
   border-radius: 16rpx;
 }
 
@@ -254,7 +250,7 @@ $c-cyan:           #06B6D4;   // cyan-500
 .menu-icon.blue { background: rgba($c-info-blue, 0.15); color: $c-info-blue; }
 .menu-icon.green { background: rgba($dim-action, 0.15); color: $dim-action; }
 .menu-icon.cyan { background: rgba($c-cyan, 0.15); color: $c-cyan; }
-.menu-icon.purple { background: rgba($c-violet, 0.15); color: $c-violet; }
+.menu-icon.purple { background: rgba($facade-violet, 0.15); color: $facade-violet; }
 
 .menu-label {
   font-size: 24rpx;
@@ -263,7 +259,7 @@ $c-cyan:           #06B6D4;   // cyan-500
 
 .empty-tip {
   text-align: center;
-  color: $c-text-muted;
+  color: $facade-text-muted;
   padding: 60rpx 0;
   font-size: 26rpx;
 }