- replace-hex-to-token.js 的 attrs.trim() 在补 lang=scss 时吞掉 <style 与 scoped 之间空格, 产生非法标签 <stylescoped,240 个 .vue 文件受影响(已提交至远程,此为紧急修复) - 新增 scripts/fix-merged-style-tag.js 全量恢复 <style scoped lang=scss> - D1: pages/health/components/ComprehensiveSurvey.vue 暖棕系 11 色收编为页面级局部变量 (c-survey-*),非 palette hex 44 -> 2(余 #FF8C42 模板 slider + 已收编 divider-2) - P0 债务页 5 -> 4;硬编码色 1851 -> 1818 - 新增 scripts/lookup-token.js 令牌查证工具
@@ -163,7 +163,7 @@ export default {
</script>
import { primaryPale } from '@/utils/brand-colors.js'
-<stylescoped lang="scss">
+<style scoped lang="scss">
/* ======================================
ArticleBookshelf — 四列网格推荐阅读组件
浠艾福 (Care Family) 设计系统
@@ -20,7 +20,7 @@ export default {
}
.badge-grid {
background: $app-surface;
border-radius: 20rpx;
@@ -19,7 +19,7 @@ export default {
.base-badge {
display: inline-flex;
align-items: center;
.base-loading {
display: flex;
flex-direction: column;
@@ -102,7 +102,7 @@ export default {
.cg-overlay {
position: fixed;
top: 0;
@@ -767,7 +767,7 @@ export default {
import { body, primary, primaryPale, success, white, wisdom } from '@/utils/brand-colors.js'
.poster-overlay {
@@ -219,7 +219,7 @@ export default {
.section {
margin: 16rpx 20rpx;
@@ -139,7 +139,7 @@ export default {
margin: 20rpx 20rpx;
@@ -160,7 +160,7 @@ export default {
.product-list {
flex-wrap: wrap;
@@ -60,7 +60,7 @@ export default {
@@ -99,7 +99,7 @@ export default {
.dvc {
margin: 12rpx 30rpx 0;
@@ -179,7 +179,7 @@ export default {
.challenge-card {
border-radius: 16rpx;
@@ -153,7 +153,7 @@ export default {
.family-energy-bar {
margin: 20rpx 30rpx;
@@ -100,7 +100,7 @@ export default {
.family-member-card {
@@ -356,7 +356,7 @@ export default {
.family-member-strip {
margin: 16rpx 0;
padding: 0 30rpx;
@@ -914,7 +914,7 @@ simulationTick: function() {
.family-graph-wrapper {
position: relative;
width: 100%;
@@ -95,7 +95,7 @@ export default {
.generation-picker-wrap {
@@ -34,7 +34,7 @@ export default {
.health-badge {
@@ -28,7 +28,7 @@ export default {
.timeline {
padding: 0 20rpx;
margin-bottom: 32rpx;
.login-guide-card {
background: linear-gradient(135deg, $uni-primary-pale, #FFE4D6);
@@ -140,7 +140,7 @@ export default {
/* ============================================================
OnboardingGuide — 首次登录引导浮层
设计体系:统一使用 uni.scss design tokens
@@ -71,7 +71,7 @@ export default {
.opb-card {
margin: 20rpx 24rpx;
padding: 24rpx 28rpx;
@@ -33,7 +33,7 @@ export default {
.playful-btn {
@@ -53,7 +53,7 @@ export default {
.playful-card {
background: var(--surface, $app-surface);
@@ -111,7 +111,7 @@ export default {
@@ -82,7 +82,7 @@ export default {
@@ -848,7 +848,7 @@ export default {
.radar-chart-wrap {
@@ -138,7 +138,7 @@ export default {
@@ -259,7 +259,7 @@ export default {
.trend-chart-wrap {
@@ -367,7 +367,7 @@ export default {
.address-picker {
@@ -122,7 +122,7 @@ export default {
.daily-task-card {
margin: 24rpx 24rpx 0;
padding: 28rpx;
.hand-signature {
@@ -227,7 +227,7 @@ export default {
/* ===== 浮层遮罩 ===== */
.login-sheet-overlay {
@@ -31,7 +31,7 @@ export default {
.report-upload-card {
flex-direction: row;
.tab-bar-wrap {
bottom: 0;
@@ -106,7 +106,7 @@ export default {
.container {
min-height: 100vh;
background: $app-bg;
@@ -918,7 +918,7 @@ export default {
background: $uni-primary-pale;
@@ -565,7 +565,7 @@ export default {
@@ -889,7 +889,7 @@ uni.showToast({ title: '请先选择家庭成员身份', icon: 'none' })
.activity-container {
background: $facade-fill-2;
@@ -170,7 +170,7 @@ export default {
@@ -508,7 +508,7 @@ export default {
.chat-container {
@@ -130,7 +130,7 @@ export default {
.ai-task-card {
background-color: $app-surface;
@@ -27,7 +27,7 @@ export default {
.quota-progress-bar {
margin-bottom: 16rpx;
@@ -69,7 +69,7 @@ export default {
.upgrade-guide-mask {
top: 0; left: 0; right: 0; bottom: 0;
@@ -329,7 +329,7 @@ onLoad(options) {
/* ====================================
知识分享 — 重设计
白色导航 + 药丸Tab + 精装卡片
@@ -349,7 +349,7 @@ export default {
padding: 30rpx;
background: $facade-fill-page;
@@ -223,7 +223,7 @@ export default {
padding: 40rpx;
@@ -353,7 +353,7 @@ export default {
@@ -97,7 +97,7 @@ export default {
@@ -200,7 +200,7 @@ export default {
@@ -229,7 +229,7 @@ export default {
@@ -110,7 +110,7 @@ export default {
@@ -135,7 +135,7 @@ export default {
.container { padding: 30rpx; padding-bottom: 120rpx; }
.exit-switch { background: $facade-fill-2; padding: 20rpx; border-radius: 10rpx; margin-bottom: 20rpx; text-align: center; color: $facade-text-body; font-size: 28rpx; }
.reward-item { background: $app-surface; border-radius: 16rpx; padding: 30rpx; margin-bottom: 20rpx; }
@@ -376,7 +376,7 @@ export default {
/* =============================================
页面基础
============================================= */
@@ -242,7 +242,7 @@ export default {
.test-container {
background: linear-gradient(135deg, $app-ink-night 0%, #16213e 100%);
@@ -267,7 +267,7 @@ export default {
@@ -302,7 +302,7 @@ export default {
.page {
@@ -241,7 +241,7 @@ export default {
@@ -271,7 +271,7 @@ export default {
@@ -319,7 +319,7 @@ export default {
.page-container {
@@ -154,7 +154,7 @@ export default {
background: $uni-bg-color;
@@ -636,7 +636,7 @@ export default {
.container { min-height: 100vh; background: #F3F2FA; padding-bottom: 40rpx; }
/* ==================== Hero ==================== */
@@ -415,7 +415,7 @@ export default {
.food-query-page {
height: 100vh;
overflow: hidden;
@@ -401,7 +401,7 @@ export default {
/* ===== 页面令牌(暖灶·家的味道) ===== */
.diet-page {
@@ -375,7 +375,7 @@ export default {
.preferences-page {
background: linear-gradient(180deg, $uni-primary-pale 0%, #FFF3E6 100%);
@@ -256,7 +256,7 @@ export default {
.recommendation-page {
background-color: $app-bg;
@@ -171,7 +171,7 @@ export default {
.record-detail-page {
@@ -374,7 +374,7 @@ export default {
.page { min-height: 100vh; background: $uni-primary-pale; display: flex; flex-direction: column; }
/* 成员切换栏 */
@@ -826,7 +826,7 @@ export default {
@@ -465,7 +465,7 @@ export default {
.feed-page {
@@ -347,7 +347,7 @@ export default {
.circles-container {
@@ -80,7 +80,7 @@ export default {
.circle-card {
@@ -98,7 +98,7 @@ export default {
.circle-overlay {
@@ -126,7 +126,7 @@ export default {
.create-circle-page { min-height: 100vh; background: $app-bg; padding-bottom: 160rpx; }
.nav-bar {
display: flex; align-items: center; justify-content: space-between;
@@ -131,7 +131,7 @@ export default {
background: #0F1B2D;
@@ -417,7 +417,7 @@ export default {
import { primary, success } from '@/utils/brand-colors.js'
background: linear-gradient(180deg, #0F1B2D 0%, #1A2744 100%);
@@ -364,7 +364,7 @@ this.submitting = false
.container { padding: 30rpx; }
.form-container { background: $app-surface; border-radius: 20rpx; padding: 30rpx; }
.page-title { font-size: 34rpx; font-weight: bold; color: $facade-text-strong; margin-bottom: 30rpx; }
@@ -109,7 +109,7 @@ export default {
.family-address {
@@ -101,7 +101,7 @@ export default {
.mse-page { min-height: 100vh; background: $facade-fill-blue-ghost; padding: 24rpx 30rpx 120rpx; box-sizing: border-box }
.mse-loading { display: flex; justify-content: center; align-items: center; height: 50vh }
.mse-loading-text { font-size: 28rpx; color: $facade-text-muted }
.mbe-page { min-height: 100vh; background: $facade-fill-blue-ghost; padding: 24rpx 30rpx 120rpx; box-sizing: border-box }
.mbe-loading { display: flex; justify-content: center; align-items: center; height: 50vh }
.mbe-loading-text { font-size: 28rpx; color: $facade-text-muted }
.mbp-page { min-height: 100vh; background: $facade-fill-blue-ghost; padding: 24rpx 30rpx 120rpx; box-sizing: border-box }
.mbp-header { text-align: center; padding: 20rpx 0 10rpx }
.mbp-title { font-size: 32rpx; font-weight: 600; color: $facade-text-strong; display: block }
.mbr-page { min-height: 100vh; background: $facade-fill-blue-ghost; padding: 24rpx 30rpx 120rpx; box-sizing: border-box }
.mbr-loading { display: flex; justify-content: center; align-items: center; height: 50vh }
.mbr-hero { border-radius: 24rpx; padding: 40rpx 30rpx; margin-bottom: 24rpx; background: linear-gradient(135deg, $dim-wisdom, $dim-wisdom-light); box-shadow: 0 6rpx 20rpx rgba(99,102,241,0.25) }
@@ -104,7 +104,7 @@ export default {
.mbt-page { min-height: 100vh; background: $facade-fill-blue-ghost; padding-bottom: 180rpx }
.mbt-header { padding: 20rpx 30rpx; text-align: right }
.mbt-progress-text { font-size: 24rpx; color: $facade-text-muted }
@@ -237,7 +237,7 @@ export default {
.sc-page {
background: $facade-fill-blue-ghost;
@@ -182,7 +182,7 @@ export default {
.sce-page {
@@ -323,7 +323,7 @@ export default {
.scr-page {
@@ -203,7 +203,7 @@ export default {
@@ -201,7 +201,7 @@ export default {
.game-container {
.records-container {
@@ -178,7 +178,7 @@ export default {
.stats-container {
background: #f5f6fa;
@@ -105,7 +105,7 @@ export default {
.page { min-height: 100vh; background: $uni-primary-pale; }
.nav-bar { display: flex; align-items: center; height: 88rpx; padding-top: env(safe-area-inset-top); background: $app-surface; border-bottom: 1rpx solid $facade-fill; position: relative; }
.nav-back { position: absolute; left: 24rpx; top: 0; bottom: 0; display: flex; align-items: center; }
@@ -243,7 +243,7 @@ export default {
@@ -273,7 +273,7 @@ export default {
@@ -495,7 +495,7 @@ success: function(res) {
/* ===== 页面基础 ===== */
.nav-bar { height: 88rpx; padding: 24rpx 24rpx 0; display: flex; align-items: flex-end; }
@@ -495,7 +495,7 @@ export default {