From 87c0ac1c6f6fd907753b71e10d79df95dbfd31cf Mon Sep 17 00:00:00 2001 From: xcbyy <2578898740@qq.com> Date: Fri, 23 Oct 2026 14:02:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=20=E7=AC=AC=E4=B8=89=E6=89=B9?= =?UTF-8?q?=E9=AB=98=E7=BA=A7=E6=84=9F=E5=8D=87=E7=BA=A7=EF=BC=88=E5=A4=A7?= =?UTF-8?q?=E7=A5=9E=E5=B7=A5=E4=BD=9C=E5=8F=B0/=E6=8E=A5=E5=8D=95?= =?UTF-8?q?=E5=A4=A7=E5=8E=85/=E5=8F=91=E5=8D=95=E9=A1=B5/=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E9=80=9A=E7=9F=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 工作台:身份卡与统计卡玻璃层级、金色徽章、收益面板统一 - 接单大厅:状态卡/统计卡/品类胶囊/派单卡统一,左侧状态线与入场动效 - 发单页:发布模式、表单卡、品类/时段/商圈胶囊、底部提交按钮统一 - 消息通知:导航栏与通知卡玻璃化,未读态暖色/品牌色区分 - HBuilderX 编译成功;119 套件/777 用例全绿 --- pwuniapp/pages/activity/create.vue | 117 ++++++++++++++++ pwuniapp/pages/expert/hall.vue | 194 ++++++++++++++++++++++++++ pwuniapp/pages/expert/workspace.vue | 116 +++++++++++++++ pwuniapp/pages/user/notifications.vue | 75 ++++++++++ 4 files changed, 502 insertions(+) diff --git a/pwuniapp/pages/activity/create.vue b/pwuniapp/pages/activity/create.vue index 08f72f6..31c330a 100644 --- a/pwuniapp/pages/activity/create.vue +++ b/pwuniapp/pages/activity/create.vue @@ -1890,4 +1890,121 @@ const handleSubmit = async () => { } } } +/* ===== Premium visual layer: 发起组局 / 平台派单 ===== */ +.create-activity-container { + background: + radial-gradient(110% 40% at 50% -6%, rgba(99, 102, 241, 0.14), transparent 62%), + var(--surface-0); + + .publish-mode-item { + background: rgba(22, 31, 51, 0.78); + border: 1rpx solid var(--hairline); + border-radius: 24rpx; + transition: transform var(--motion-fast, 120ms) var(--ease-out, ease-out); + + &:active { + transform: scale(0.985); + } + + &.active { + background: + linear-gradient(145deg, rgba(99, 102, 241, 0.16), rgba(16, 185, 129, 0.08)); + border-color: rgba(129, 140, 248, 0.4); + box-shadow: + inset 0 1rpx 0 rgba(255, 255, 255, 0.06), + 0 10rpx 24rpx rgba(0, 0, 0, 0.16); + } + } + + .form-card { + background: linear-gradient(180deg, rgba(22, 31, 51, 0.84) 0%, rgba(15, 22, 38, 0.9) 100%); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.14); + } + + .game-pill, + .time-chip, + .zone-chip-item { + background: rgba(255, 255, 255, 0.035); + border-color: rgba(255, 255, 255, 0.07); + color: #A7B3CB; + border-radius: 999rpx; + + &.selected { + background: rgba(99, 102, 241, 0.16); + border-color: rgba(129, 140, 248, 0.4); + color: #C7D2FE; + font-weight: 600; + } + } + + .config-empty-tip { + color: #7C89A6; + } + + .btn-submit { + border-radius: 999rpx; + background: linear-gradient(135deg, #F97316 0%, #EA580C 55%, #C2410C 100%); + box-shadow: + 0 16rpx 34rpx rgba(234, 88, 12, 0.26), + inset 0 1rpx 0 rgba(255, 255, 255, 0.25); + transition: transform var(--motion-fast, 120ms) var(--ease-out, ease-out); + } + + .btn-submit:active { + transform: scale(0.985); + } + + .bottom-bar { + background: rgba(10, 15, 29, 0.9); + backdrop-filter: blur(20px); + border-top: 1rpx solid rgba(255, 255, 255, 0.07); + } +} + +.create-activity-container.theme-warm { + background: + radial-gradient(100% 38% at 50% -6%, rgba(234, 88, 12, 0.07), transparent 62%), + #FDFBF7; + + .publish-mode-item { + background: #FFFFFF; + border-color: #F0ECE4; + + &.active { + background: linear-gradient(145deg, #FFF7ED, #FFFFFF); + border-color: #FED7AA; + box-shadow: 0 10rpx 24rpx rgba(234, 88, 12, 0.06); + } + } + + .form-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + } + + .game-pill, + .time-chip, + .zone-chip-item { + background: #F8F5F0; + border-color: #F0ECE4; + color: #78716C; + + &.selected { + background: #FFF7ED; + border-color: #FED7AA; + color: #C2410C; + } + } + + .config-empty-tip { + color: #A8A29E; + } + + .bottom-bar { + background: rgba(255, 255, 255, 0.92); + border-top-color: #F0ECE4; + } +} diff --git a/pwuniapp/pages/expert/hall.vue b/pwuniapp/pages/expert/hall.vue index e02a15e..d245303 100644 --- a/pwuniapp/pages/expert/hall.vue +++ b/pwuniapp/pages/expert/hall.vue @@ -1640,4 +1640,198 @@ const copyOrderNo = () => { } } } +/* ===== Premium visual layer: 接单大厅 ===== */ +.hall-container { + background: + radial-gradient(110% 44% at 50% -6%, rgba(16, 185, 129, 0.12), transparent 62%), + var(--surface-0); + + .hall-header-card { + background: linear-gradient(145deg, rgba(24, 34, 58, 0.92) 0%, rgba(13, 20, 36, 0.94) 100%); + border-color: var(--hairline); + box-shadow: + inset 0 1rpx 0 rgba(255, 255, 255, 0.05), + 0 14rpx 34rpx rgba(0, 0, 0, 0.2); + + .avatar-img { + border-width: 3rpx; + box-shadow: 0 0 0 6rpx rgba(16, 185, 129, 0.1); + } + + .expert-name { + font-size: 32rpx; + letter-spacing: 0.3rpx; + } + + .status-toggle { + background: rgba(7, 11, 20, 0.55); + border-color: rgba(255, 255, 255, 0.1); + } + } + + .hall-stats-card { + background: rgba(15, 22, 38, 0.78); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.14); + + .stat-num { + font-family: var(--font-num, monospace); + letter-spacing: 0.2rpx; + } + } + + .cat-chip { + background: rgba(22, 31, 51, 0.82); + border-color: var(--hairline); + color: #A7B3CB; + + &.active { + background: rgba(16, 185, 129, 0.16); + border-color: rgba(110, 231, 183, 0.35); + color: #6EE7B7; + } + } + + .dispatch-list .dispatch-card { + position: relative; + overflow: hidden; + background: linear-gradient(180deg, rgba(22, 31, 51, 0.96) 0%, rgba(13, 20, 36, 0.98) 100%); + border-color: var(--hairline); + border-radius: 24rpx; + box-shadow: 0 12rpx 30rpx rgba(0, 0, 0, 0.2); + animation: hallCardEnter 0.5s var(--ease-out) both; + + &::before { + content: ''; + position: absolute; + left: 0; + top: 24rpx; + bottom: 24rpx; + width: 4rpx; + border-radius: 4rpx; + background: linear-gradient(180deg, #6EE7B7, #10B981); + opacity: 0.72; + } + + .order-title { + font-size: 29rpx; + letter-spacing: 0.2rpx; + } + + .reward-val { + font-family: var(--font-num, monospace); + font-size: 38rpx; + } + + .remark-box { + background: rgba(255, 255, 255, 0.035); + border: 1rpx solid rgba(255, 255, 255, 0.045); + } + + .card-action-bar { + border-top-color: rgba(255, 255, 255, 0.045); + } + + .btn-grab-order { + border-radius: 999rpx; + box-shadow: 0 8rpx 20rpx rgba(16, 185, 129, 0.26); + } + } + + .nearby-activity-card { + background: rgba(15, 22, 38, 0.78); + border: 1rpx solid var(--hairline); + border-radius: 22rpx; + } +} + +.hall-container.theme-warm { + background: + radial-gradient(100% 42% at 50% -6%, rgba(16, 185, 129, 0.07), transparent 62%), + #FDFBF7; + + .hall-header-card { + background: linear-gradient(145deg, #FFFFFF 0%, #FFFBF5 100%); + border-color: #F0ECE4; + box-shadow: 0 14rpx 32rpx rgba(28, 25, 23, 0.06); + + .expert-name { + color: #1C1917; + } + + .rating-sub { + color: #78716C; + } + + .status-toggle { + background: #F8F5F0; + border-color: #F0ECE4; + + .toggle-text { + color: #57534E; + } + } + } + + .hall-stats-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + + .stat-num { + color: #1C1917; + } + } + + .cat-chip { + background: #FFFFFF; + border-color: #F0ECE4; + color: #78716C; + + &.active { + background: #ECFDF5; + border-color: #A7F3D0; + color: #047857; + } + } + + .dispatch-list .dispatch-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + + .order-title { + color: #1C1917; + } + + .remark-box { + background: #FAF8F4; + border-color: #F0ECE4; + + .remark-text { + color: #57534E; + } + } + + .card-action-bar { + border-top-color: #F5F2EC; + } + } + + .nearby-activity-card { + background: #FFFFFF; + border-color: #F0ECE4; + } +} + +@keyframes hallCardEnter { + from { + opacity: 0; + transform: translateY(14rpx) scale(0.99); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} diff --git a/pwuniapp/pages/expert/workspace.vue b/pwuniapp/pages/expert/workspace.vue index 6a83f8b..a195172 100644 --- a/pwuniapp/pages/expert/workspace.vue +++ b/pwuniapp/pages/expert/workspace.vue @@ -2335,4 +2335,120 @@ const switchBackToPlayer = () => { color: var(--text-muted, #64748B); line-height: 1.6; } +/* ===== Premium visual layer: 大神工作台 ===== */ +.workspace-container { + background: + radial-gradient(110% 42% at 50% -6%, rgba(99, 102, 241, 0.14), transparent 62%), + var(--surface-0); + + .expert-status-card { + background: + radial-gradient(circle at 90% 8%, rgba(217, 164, 65, 0.1), transparent 42%), + linear-gradient(145deg, rgba(24, 34, 58, 0.94) 0%, rgba(13, 20, 36, 0.96) 100%); + border-color: rgba(129, 140, 248, 0.22); + box-shadow: + inset 0 1rpx 0 rgba(255, 255, 255, 0.05), + 0 16rpx 38rpx rgba(0, 0, 0, 0.22); + + .expert-avatar { + border-width: 3rpx; + box-shadow: 0 0 0 6rpx rgba(99, 102, 241, 0.1); + } + + .expert-name { + font-size: 32rpx; + letter-spacing: 0.3rpx; + } + + .badge-gold { + background: linear-gradient(135deg, rgba(217, 164, 65, 0.95), rgba(183, 121, 31, 0.95)); + border: 1rpx solid rgba(255, 255, 255, 0.18); + } + + .switch-wrap { + background: rgba(7, 11, 20, 0.5); + border-color: rgba(255, 255, 255, 0.1); + border-radius: 999rpx; + } + } + + .stats-board { + background: rgba(15, 22, 38, 0.78); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.14); + + .stat-val { + font-family: var(--font-num, monospace); + letter-spacing: 0.2rpx; + } + } + + .section-card { + background: linear-gradient(180deg, rgba(22, 31, 51, 0.84) 0%, rgba(15, 22, 38, 0.9) 100%); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.14); + } + + .revenue-trends-card { + .trend-tabs { + background: rgba(7, 11, 20, 0.55); + border-color: var(--hairline); + } + + .period-summary-row { + background: rgba(255, 255, 255, 0.035); + border-color: rgba(255, 255, 255, 0.05); + } + } +} + +.workspace-container.theme-warm { + background: + radial-gradient(100% 40% at 50% -6%, rgba(234, 88, 12, 0.07), transparent 62%), + #FDFBF7; + + .expert-status-card { + background: + radial-gradient(circle at 90% 8%, rgba(234, 88, 12, 0.05), transparent 42%), + linear-gradient(145deg, #FFFFFF 0%, #FFFBF5 100%); + border-color: #F0ECE4; + box-shadow: 0 14rpx 32rpx rgba(28, 25, 23, 0.06); + + .expert-name { + color: #1C1917; + } + + .switch-wrap { + background: #F8F5F0; + border-color: #F0ECE4; + + .switch-label { + color: #57534E; + } + } + } + + .stats-board, + .section-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + + .stat-val { + color: #1C1917; + } + } + + .revenue-trends-card { + .trend-tabs { + background: #F8F5F0; + border-color: #F0ECE4; + } + + .period-summary-row { + background: #FAF8F4; + border-color: #F0ECE4; + } + } +} diff --git a/pwuniapp/pages/user/notifications.vue b/pwuniapp/pages/user/notifications.vue index f41d205..7146b23 100644 --- a/pwuniapp/pages/user/notifications.vue +++ b/pwuniapp/pages/user/notifications.vue @@ -390,4 +390,79 @@ onShow(() => { .btn-active:active { opacity: 0.75; } +/* ===== Premium visual layer: 消息通知 ===== */ +.notif-page { + background: + radial-gradient(110% 38% at 50% -6%, rgba(99, 102, 241, 0.12), transparent 62%), + var(--surface-0); + + .custom-nav-bar { + background: rgba(7, 11, 20, 0.88); + backdrop-filter: blur(18px); + border-bottom-color: rgba(255, 255, 255, 0.05); + } + + .notif-summary { + background: linear-gradient(145deg, rgba(24, 34, 58, 0.88) 0%, rgba(13, 20, 36, 0.92) 100%); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.16); + } + + .notif-card { + background: rgba(15, 22, 38, 0.78); + border-color: var(--hairline); + border-radius: 16px; + box-shadow: 0 10rpx 24rpx rgba(0, 0, 0, 0.12); + + &.is-unread { + background: linear-gradient(145deg, rgba(30, 41, 66, 0.92) 0%, rgba(18, 27, 46, 0.94) 100%); + border-color: rgba(129, 140, 248, 0.22); + } + + .notif-title { + font-size: 14px; + letter-spacing: 0.2rpx; + } + + .notif-content { + color: #A7B3CB; + } + } + + .notif-dot { + box-shadow: 0 0 10rpx rgba(255, 95, 87, 0.45); + } +} + +.notif-page.theme-warm { + background: + radial-gradient(100% 36% at 50% -6%, rgba(234, 88, 12, 0.06), transparent 62%), + #FDFBF7; + + .custom-nav-bar { + background: rgba(253, 251, 247, 0.92); + border-bottom-color: #F0ECE4; + } + + .notif-summary { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + } + + .notif-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 10rpx 24rpx rgba(28, 25, 23, 0.04); + + &.is-unread { + background: #FFFDF8; + border-color: #FED7AA; + } + + .notif-content { + color: #78716C; + } + } +}