diff --git a/src/pages/reserve/reserve-index.vue b/src/pages/reserve/reserve-index.vue index d370fd0..e3cf645 100644 --- a/src/pages/reserve/reserve-index.vue +++ b/src/pages/reserve/reserve-index.vue @@ -230,7 +230,7 @@ $bar-height: 120rpx; .page { min-height: 100vh; - background: #f7f8fa; + background: $color-background; padding-bottom: calc(#{$bar-height} + env(safe-area-inset-bottom)); font-family: $font-family-body; } @@ -238,7 +238,7 @@ $bar-height: 120rpx; /* ===== 景区信息卡片 ===== */ .scenic-card { margin: 24rpx 24rpx 0; - background: #ffffff; + background: $color-card; border-radius: $radius-lg; overflow: hidden; box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.04); @@ -256,8 +256,8 @@ $bar-height: 120rpx; .scenic-name { display: block; font-family: $font-family-body; - font-size: 28rpx; - font-weight: 700; + font-size: $font-size-base; + font-weight: $font-weight-bold; color: $uv-main-color; margin-bottom: 12rpx; } @@ -320,7 +320,7 @@ $bar-height: 120rpx; .scenic-text { font-family: $font-family-body; - font-size: 24rpx; + font-size: $font-size-sm; color: $uv-tips-color; } @@ -336,7 +336,7 @@ $bar-height: 120rpx; /* ===== 日期选择 ===== */ .date-card { margin: 24rpx 32rpx 0; - background: #ffffff; + background: $color-card; border-radius: $radius-lg; padding: 32rpx; box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.04); @@ -345,8 +345,8 @@ $bar-height: 120rpx; .section-title { display: block; font-family: $font-family-body; - font-size: 30rpx; - font-weight: 500; + font-size: $font-size-lg; + font-weight: $font-weight-medium; color: $uv-main-color; margin-bottom: 24rpx; } @@ -368,7 +368,7 @@ $bar-height: 120rpx; padding: 16rpx 12rpx; border-radius: 16rpx; border: 2rpx solid $uv-border-color; - transition: all 0.15s ease; + transition: all $transition-fast; &--active { background: $uv-primary; @@ -378,7 +378,7 @@ $bar-height: 120rpx; .date-week { font-family: $font-family-body; - font-size: 18rpx; + font-size: $font-size-xxs; color: $uv-tips-color; margin-bottom: 4rpx; } @@ -389,8 +389,8 @@ $bar-height: 120rpx; .date-day { font-family: $font-family-body; - font-size: 20rpx; - font-weight: 700; + font-size: $font-size-xs; + font-weight: $font-weight-bold; color: $uv-main-color; margin-bottom: 4rpx; } @@ -401,11 +401,11 @@ $bar-height: 120rpx; .date-stock { font-family: $font-family-body; - font-size: 18rpx; + font-size: $font-size-xxs; color: $uv-placeholder-color; &--empty { - color: #f53f3f; + color: $uv-error; } } @@ -432,8 +432,8 @@ $bar-height: 120rpx; .session-title { display: block; font-family: $font-family-body; - font-size: 26rpx; - font-weight: 500; + font-size: $font-size-sm; + font-weight: $font-weight-medium; color: $uv-main-color; margin-bottom: 16rpx; } @@ -451,7 +451,7 @@ $bar-height: 120rpx; padding: 16rpx 28rpx; border-radius: 12rpx; border: 2rpx solid $uv-border-color; - transition: all 0.15s ease; + transition: all $transition-fast; &--active { background: rgba(60, 156, 255, 0.08); @@ -465,8 +465,8 @@ $bar-height: 120rpx; .session-time { font-family: $font-family-body; - font-size: 20rpx; - font-weight: 500; + font-size: $font-size-xs; + font-weight: $font-weight-medium; color: $uv-main-color; margin-bottom: 4rpx; } @@ -477,11 +477,11 @@ $bar-height: 120rpx; .session-stock { font-family: $font-family-body; - font-size: 18rpx; + font-size: $font-size-xxs; color: $uv-placeholder-color; &--empty { - color: #f53f3f; + color: $uv-error; } } @@ -493,14 +493,14 @@ $bar-height: 120rpx; .no-session-tip__text { font-family: $font-family-body; - font-size: 18rpx; + font-size: $font-size-xxs; color: $uv-placeholder-color; } .date-tip { display: block; font-family: $font-family-body; - font-size: 18rpx; + font-size: $font-size-xxs; color: $uv-placeholder-color; margin-top: 16rpx; } @@ -508,7 +508,7 @@ $bar-height: 120rpx; /* ===== 预约人信息 ===== */ .user-card { margin: 24rpx 32rpx 0; - background: #ffffff; + background: $color-card; border-radius: $radius-lg; padding: 32rpx; box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.04); @@ -523,21 +523,21 @@ $bar-height: 120rpx; .user-label { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-main-color; } .user-value { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-content-color; } .user-warn { display: block; font-family: $font-family-body; - font-size: 24rpx; - color: #e53935; + font-size: $font-size-sm; + color: $uv-error; margin-top: 12rpx; } @@ -552,8 +552,8 @@ $bar-height: 120rpx; .notice-title { display: block; font-family: $font-family-body; - font-size: 30rpx; - font-weight: 700; + font-size: $font-size-lg; + font-weight: $font-weight-bold; color: $uv-main-color; margin-bottom: 20rpx; } @@ -580,7 +580,7 @@ $bar-height: 120rpx; .notice-text { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-tips-color; line-height: 1.6; } @@ -591,9 +591,9 @@ $bar-height: 120rpx; .notice-link__text { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-primary; - font-weight: 500; + font-weight: $font-weight-medium; } /* ===== 底部 ===== */ @@ -609,7 +609,7 @@ $bar-height: 120rpx; width: 100%; box-sizing: border-box; height: $bar-height; - background: #ffffff; + background: $color-card; display: flex; align-items: center; justify-content: center; @@ -628,7 +628,7 @@ $bar-height: 120rpx; display: flex; align-items: center; justify-content: center; - transition: all 0.15s ease; + transition: all $transition-fast; &::after { display: none; } @@ -637,14 +637,14 @@ $bar-height: 120rpx; } &--disabled { - background: #e5e7eb; + background: $uv-bg-color; } } .btn-submit__text { font-family: $font-family-body; - font-size: 30rpx; - font-weight: 700; + font-size: $font-size-lg; + font-weight: $font-weight-bold; color: #ffffff; } diff --git a/src/pages/reserve/reserve-list.vue b/src/pages/reserve/reserve-list.vue index eadfd66..cb45b64 100644 --- a/src/pages/reserve/reserve-list.vue +++ b/src/pages/reserve/reserve-list.vue @@ -305,14 +305,14 @@ function previewPhoto(url: string) { .page { min-height: 100vh; - background: #f7f8fa; + background: $color-background; font-family: $font-family-body; } /* ===== Tab ===== */ .tab-bar { white-space: nowrap; - background: #ffffff; + background: $color-card; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04); } @@ -332,14 +332,14 @@ function previewPhoto(url: string) { .tab-text { font-family: $font-family-body; - font-size: 24rpx; - font-weight: 500; + font-size: $font-size-sm; + font-weight: $font-weight-medium; color: $uv-tips-color; } .tab-item--active .tab-text { color: $uv-primary; - font-weight: 700; + font-weight: $font-weight-bold; } .tab-underline { @@ -361,7 +361,7 @@ function previewPhoto(url: string) { /* ===== Record Card ===== */ .record-card { - background: #ffffff; + background: $color-card; border-radius: $radius-lg; padding: 28rpx; margin-top: 20rpx; @@ -377,8 +377,8 @@ function previewPhoto(url: string) { .record-name { font-family: $font-family-body; - font-size: 28rpx; - font-weight: 500; + font-size: $font-size-base; + font-weight: $font-weight-medium; color: $uv-main-color; } @@ -388,20 +388,20 @@ function previewPhoto(url: string) { &--pending { background: #e8f3ff; } &--used { background: #f0fff4; } - &--cancelled { background: #f5f5f5; } + &--cancelled { background: $uv-bg-color; } &--auto_used { background: #fff8e8; } } .status-tag__text { font-family: $font-family-body; font-size: 22rpx; - font-weight: 500; + font-weight: $font-weight-medium; } .status-tag--pending .status-tag__text { color: $uv-primary; } -.status-tag--used .status-tag__text { color: #00b42a; } -.status-tag--cancelled .status-tag__text { color: #86909c; } -.status-tag--auto_used .status-tag__text { color: #ff9500; } +.status-tag--used .status-tag__text { color: $color-status-success; } +.status-tag--cancelled .status-tag__text { color: $color-status-cancel; } +.status-tag--auto_used .status-tag__text { color: $color-status-pending; } .record-card-info { display: flex; @@ -433,7 +433,7 @@ function previewPhoto(url: string) { .record-date { font-family: $font-family-body; - font-size: 24rpx; + font-size: $font-size-sm; color: $uv-tips-color; } @@ -453,14 +453,14 @@ function previewPhoto(url: string) { &--outline { border: 2rpx solid $uv-border-color; - &:active { transform: scale(0.97); background: #f5f5f5; } + &:active { transform: scale(0.97); background: $uv-bg-color; } } } .btn-sm__text--outline { font-family: $font-family-body; font-size: 22rpx; - font-weight: 500; + font-weight: $font-weight-medium; color: $uv-tips-color; } @@ -473,10 +473,10 @@ function previewPhoto(url: string) { } .empty-icon { width: 120rpx; height: 120rpx; position: relative; margin-bottom: 32rpx; } -.empty-cal { width: 80rpx; height: 72rpx; border: 4rpx solid #cccccc; border-radius: 8rpx; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } -.empty-cal__line { width: 80rpx; height: 4rpx; background: #cccccc; position: absolute; bottom: 48rpx; left: 50%; transform: translateX(-50%); } +.empty-cal { width: 80rpx; height: 72rpx; border: 4rpx solid $uv-disabled-color; border-radius: 8rpx; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } +.empty-cal__line { width: 80rpx; height: 4rpx; background: $uv-disabled-color; position: absolute; bottom: 48rpx; left: 50%; transform: translateX(-50%); } -.empty-text { font-family: $font-family-body; font-size: 26rpx; color: $uv-placeholder-color; margin-bottom: 32rpx; } +.empty-text { font-family: $font-family-body; font-size: $font-size-sm; color: $uv-placeholder-color; margin-bottom: 32rpx; } .empty-btn { height: 72rpx; padding: 0 56rpx; border-radius: 36rpx; background: $uv-primary; @@ -484,7 +484,7 @@ function previewPhoto(url: string) { &:active { transform: scale(0.97); } } -.empty-btn__text { font-family: $font-family-body; font-size: 26rpx; font-weight: 700; color: #ffffff; } +.empty-btn__text { font-family: $font-family-body; font-size: $font-size-sm; font-weight: $font-weight-bold; color: #ffffff; } /* ===== Load More ===== */ .load-more { text-align: center; padding: 16rpx 0 120rpx; } @@ -492,11 +492,11 @@ function previewPhoto(url: string) { /* ===== Code Modal ===== */ .code-modal { - width: 560rpx; background: #ffffff; border-radius: $radius-lg; padding: 40rpx; + width: 560rpx; background: $color-card; border-radius: $radius-lg; padding: 40rpx; display: flex; flex-direction: column; align-items: center; } -.code-modal__title { font-family: $font-family-body; font-size: 32rpx; font-weight: 700; color: $uv-main-color; margin-bottom: 32rpx; } +.code-modal__title { font-family: $font-family-body; font-size: 32rpx; font-weight: $font-weight-bold; color: $uv-main-color; margin-bottom: 32rpx; } .qr-box { width: 360rpx; height: 360rpx; background: #F8FAFC; @@ -506,33 +506,33 @@ function previewPhoto(url: string) { .qr-img { width: 300rpx; height: 300rpx; } -.code-modal__desc { font-family: $font-family-body; font-size: 26rpx; color: $uv-tips-color; margin-top: 24rpx; } +.code-modal__desc { font-family: $font-family-body; font-size: $font-size-sm; color: $uv-tips-color; margin-top: 24rpx; } /* ===== Cancel Modal ===== */ .cancel-modal { - width: 600rpx; background: #ffffff; border-radius: $radius-lg; padding: 40rpx; + width: 600rpx; background: $color-card; border-radius: $radius-lg; padding: 40rpx; } .cancel-modal__title { - display: block; font-family: $font-family-body; font-size: 32rpx; font-weight: 700; + display: block; font-family: $font-family-body; font-size: 32rpx; font-weight: $font-weight-bold; color: $uv-main-color; text-align: center; margin-bottom: 24rpx; } .cancel-modal__body { margin-bottom: 32rpx; } .cancel-modal__text { - font-family: $font-family-body; font-size: 26rpx; color: $uv-content-color; line-height: 1.7; + font-family: $font-family-body; font-size: $font-size-sm; color: $uv-content-color; line-height: 1.7; } .cancel-modal__actions { display: flex; gap: 24rpx; } .btn-modal { flex: 1; height: 72rpx; border-radius: 36rpx; display: flex; - align-items: center; justify-content: center; transition: all 0.15s ease; + align-items: center; justify-content: center; transition: all $transition-fast; &--outline { border: 2rpx solid $uv-border-color; - &:active { transform: scale(0.97); background: #f5f5f5; } + &:active { transform: scale(0.97); background: $uv-bg-color; } } &--primary { background: $uv-primary; @@ -540,12 +540,12 @@ function previewPhoto(url: string) { } } -.btn-modal__text--outline { font-family: $font-family-body; font-size: 26rpx; font-weight: 500; color: $uv-tips-color; } -.btn-modal__text--primary { font-family: $font-family-body; font-size: 26rpx; font-weight: 700; color: #ffffff; } +.btn-modal__text--outline { font-family: $font-family-body; font-size: $font-size-sm; font-weight: $font-weight-medium; color: $uv-tips-color; } +.btn-modal__text--primary { font-family: $font-family-body; font-size: $font-size-sm; font-weight: $font-weight-bold; color: #ffffff; } /* ===== Detail Sheet ===== */ .detail-sheet { - background: #ffffff; border-radius: $radius-lg $radius-lg 0 0; max-height: 75vh; + background: $color-card; border-radius: $radius-lg $radius-lg 0 0; max-height: 75vh; display: flex; flex-direction: column; } @@ -554,7 +554,7 @@ function previewPhoto(url: string) { padding: 32rpx; border-bottom: 1rpx solid $uv-border-color; flex-shrink: 0; } -.sheet-title { font-family: $font-family-body; font-size: 30rpx; font-weight: 700; color: $uv-main-color; } +.sheet-title { font-family: $font-family-body; font-size: $font-size-lg; font-weight: $font-weight-bold; color: $uv-main-color; } .sheet-close { width: 48rpx; height: 48rpx; display: flex; align-items: center; justify-content: center; @@ -578,8 +578,8 @@ function previewPhoto(url: string) { padding: 14rpx 0; border-bottom: 1rpx solid $uv-border-color; } -.sheet-label { font-family: $font-family-body; font-size: 26rpx; color: $uv-main-color; } -.sheet-value { font-family: $font-family-body; font-size: 26rpx; color: $uv-content-color; text-align: right; } +.sheet-label { font-family: $font-family-body; font-size: $font-size-sm; color: $uv-main-color; } +.sheet-value { font-family: $font-family-body; font-size: $font-size-sm; color: $uv-content-color; text-align: right; } .sheet-photo { display: flex; @@ -599,5 +599,5 @@ function previewPhoto(url: string) { margin-top: 24rpx; padding: 20rpx; background: #fff2f2; border-radius: 12rpx; } -.sheet-tip__text { font-family: $font-family-body; font-size: 24rpx; color: #f53f3f; line-height: 1.5; } +.sheet-tip__text { font-family: $font-family-body; font-size: $font-size-sm; color: $uv-error; line-height: 1.5; } diff --git a/src/pages/reserve/reserve-success.vue b/src/pages/reserve/reserve-success.vue index 34bd1d9..80ced7e 100644 --- a/src/pages/reserve/reserve-success.vue +++ b/src/pages/reserve/reserve-success.vue @@ -122,7 +122,7 @@ function goHome() { .page { min-height: 100vh; - background: #f7f8fa; + background: $color-background; display: flex; flex-direction: column; padding-bottom: env(safe-area-inset-bottom); @@ -163,15 +163,15 @@ function goHome() { .success-title { font-family: $font-family-body; - font-size: 38rpx; - font-weight: 700; + font-size: $font-size-title; + font-weight: $font-weight-bold; color: $uv-main-color; margin-top: 32rpx; } .success-desc { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-tips-color; margin-top: 16rpx; } @@ -179,7 +179,7 @@ function goHome() { /* ===== 预约信息卡片 ===== */ .info-card { margin: 48rpx 32rpx 0; - background: #ffffff; + background: $color-card; border-radius: $radius-lg; padding: 32rpx; box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.04); @@ -199,13 +199,13 @@ function goHome() { .info-label { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-main-color; } .info-value { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-content-color; text-align: right; } @@ -220,9 +220,9 @@ function goHome() { .code-btn__text { font-family: $font-family-body; - font-size: 24rpx; + font-size: $font-size-sm; color: $uv-primary; - font-weight: 500; + font-weight: $font-weight-medium; } /* ===== 重要提醒 ===== */ @@ -236,9 +236,9 @@ function goHome() { .warn-title { display: block; font-family: $font-family-body; - font-size: 28rpx; - font-weight: 700; - color: #f53f3f; + font-size: $font-size-base; + font-weight: $font-weight-bold; + color: $uv-error; margin-bottom: 16rpx; } @@ -265,7 +265,7 @@ function goHome() { .warn-text { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-tips-color; line-height: 1.6; } @@ -285,7 +285,7 @@ function goHome() { display: flex; align-items: center; justify-content: center; - transition: all 0.15s ease; + transition: all $transition-fast; &--outline { border: 2rpx solid $uv-border-color; @@ -300,22 +300,22 @@ function goHome() { .btn-half__text--outline { font-family: $font-family-body; - font-size: 26rpx; - font-weight: 500; + font-size: $font-size-sm; + font-weight: $font-weight-medium; color: $uv-tips-color; } .btn-half__text--primary { font-family: $font-family-body; - font-size: 26rpx; - font-weight: 700; + font-size: $font-size-sm; + font-weight: $font-weight-bold; color: #ffffff; } /* ===== 入园码弹窗 ===== */ .code-modal { width: 560rpx; - background: #ffffff; + background: $color-card; border-radius: $radius-lg; padding: 40rpx; display: flex; @@ -326,14 +326,14 @@ function goHome() { .code-modal__title { font-family: $font-family-body; font-size: 32rpx; - font-weight: 700; + font-weight: $font-weight-bold; color: $uv-main-color; margin-bottom: 32rpx; } .code-modal__desc { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-tips-color; margin-top: 8rpx; } @@ -365,8 +365,8 @@ function goHome() { .copy-btn__text { font-family: $font-family-body; - font-size: 26rpx; + font-size: $font-size-sm; color: $uv-primary; - font-weight: 500; + font-weight: $font-weight-medium; }