feat(ui): 余下两页接入主题 + 清理后台模板 demo(1+2)

【1. 主题补全】
- pwuniapp/pages/expert/workspace.vue(大神工作台):根节点加 theme class,66 处深色硬编码改为全局主题变量(bg-primary/surface/surface-elevated/text-*/border-subtle/color-brand(-gradient))
- pwuniapp/pages/activity/my-ticket.vue(我的门票):同样接入主题;条码/二维码区域保持黑白(可扫描,不做主题化)
- 两页 onShow 刷新 currentThemeKey,切换主题回到页面即时生效

【2. 后台模板 demo 清理】
- 删除模板路由模块:form / list / profile / result / visualization(原本 hideInMenu 不可见)
- 删除对应 views 目录、api(form/list/profile/visualization/dashboard)、dashboard/monitor
- 删除 src/mock 与全部 views/**/mock.ts,并移除 main.ts 的 `import './mock'`
- 可见工作台移除:content-chart(调用不存在的 /api/content-data)、popular-content(写死假活动数据);分类占比卡片改为整行
- 同步清理 zh-CN/en-US locale 中对应导入与展开

【验证】
- 后台 `pnpm build` 通过,产物显著减小(chart 分块 1026KB→576KB)
- 新增 theme-and-admin-cleanup.spec.ts;更新 dashboard-reality.spec.ts
- 全量 100 套件 / 685 用例全绿
这个提交包含在:
xcbyy
2026-10-20 15:01:50 +08:00
父节点 dde3cce562
当前提交 05815b4708
共有 93 个文件被更改,包括 185 次插入 和 7465 次删除

查看文件

@@ -1,5 +1,5 @@
<template>
<view class="ticket-container">
<view class="ticket-container" :class="['theme-' + currentThemeKey]">
<view class="ticket-card">
<!-- 票据头部 -->
<view class="ticket-header">
@@ -125,6 +125,9 @@ import { onLoad, onShow } from '@dcloudio/uni-app';
import { getActivityDetail, verifyActivityCheckin, getMyActivities, leaveActivity } from '@/common/api.js';
import { encodeCode128B } from '@/common/barcode.js';
import { generateQRCodeMatrix } from '@/common/qrcode.js';
import { getCurrentThemeKey } from '@/common/theme.js';
const currentThemeKey = ref(getCurrentThemeKey());
const activeCodeType = ref('BARCODE');
const ticketData = ref({
@@ -254,6 +257,7 @@ onLoad(async (query) => {
});
onShow(async () => {
currentThemeKey.value = getCurrentThemeKey();
await loadTicketData();
});
@@ -333,14 +337,14 @@ const goBack = () => {
<style lang="scss">
.ticket-container {
min-height: 100vh;
background-color: #0A0F1D;
background-color: var(--bg-primary);
padding: 40rpx 36rpx calc(60rpx + env(safe-area-inset-bottom));
}
.ticket-card {
background: #151D30;
background: var(--bg-surface);
border-radius: 32rpx;
border: 1px solid rgba(255, 255, 255, 0.08);
border: 1px solid var(--border-subtle);
box-shadow: 0 16rpx 48rpx rgba(0, 0, 0, 0.5);
overflow: hidden;
position: relative;
@@ -353,7 +357,7 @@ const goBack = () => {
.game-badge {
background: rgba(99, 102, 241, 0.2);
color: #818CF8;
color: var(--color-brand-light);
font-size: 22rpx;
padding: 6rpx 16rpx;
border-radius: 8rpx;
@@ -400,10 +404,10 @@ const goBack = () => {
font-size: 24rpx;
.meta-k {
color: #64748B;
color: var(--text-muted);
}
.meta-v {
color: #CBD5E1;
color: var(--text-secondary);
font-weight: 500;
}
}
@@ -421,7 +425,7 @@ const goBack = () => {
width: 48rpx;
height: 48rpx;
border-radius: 50%;
background-color: #0A0F1D;
background-color: var(--bg-primary);
&.punch-left {
left: -24rpx;
@@ -434,7 +438,7 @@ const goBack = () => {
.dash-line {
width: 84%;
height: 2rpx;
border-bottom: 2rpx dashed rgba(255, 255, 255, 0.15);
border-bottom: 2rpx dashed var(--border-subtle);
}
}
@@ -444,7 +448,7 @@ const goBack = () => {
.code-tips {
font-size: 22rpx;
color: #94A3B8;
color: var(--text-secondary);
margin-bottom: 24rpx;
}
@@ -489,18 +493,18 @@ const goBack = () => {
padding: 6rpx;
border-radius: 32rpx;
margin-bottom: 24rpx;
border: 1px solid rgba(255, 255, 255, 0.08);
border: 1px solid var(--border-subtle);
.tab-btn {
font-size: 22rpx;
padding: 8rpx 24rpx;
border-radius: 28rpx;
color: #94A3B8;
color: var(--text-secondary);
font-weight: 500;
transition: all 0.25s ease;
&.active {
background: #6366F1;
background: var(--color-brand);
color: #FFFFFF;
font-weight: 700;
box-shadow: 0 2rpx 12rpx rgba(99, 102, 241, 0.4);
@@ -537,7 +541,7 @@ const goBack = () => {
.barcode-text-sn {
font-size: 22rpx;
color: #94A3B8;
color: var(--text-secondary);
letter-spacing: 4rpx;
margin-top: 14rpx;
font-family: 'Courier New', monospace;
@@ -574,7 +578,7 @@ const goBack = () => {
.qrcode-text-sn {
font-size: 20rpx;
color: #94A3B8;
color: var(--text-secondary);
margin-top: 16rpx;
font-family: 'Courier New', monospace;
}
@@ -584,7 +588,7 @@ const goBack = () => {
.security-footer {
background: rgba(10, 15, 29, 0.5);
padding: 20rpx 32rpx;
border-top: 1px solid rgba(255, 255, 255, 0.04);
border-top: 1px solid var(--border-subtle);
.security-time {
display: flex;
@@ -602,7 +606,7 @@ const goBack = () => {
.time-text {
font-size: 20rpx;
color: #94A3B8;
color: var(--text-secondary);
font-family: 'Courier New', monospace;
font-variant-numeric: tabular-nums;
letter-spacing: 1rpx;
@@ -612,7 +616,7 @@ const goBack = () => {
.anti-counterfeit-bar {
height: 4rpx;
margin-top: 12rpx;
background: linear-gradient(90deg, #6366F1, #10B981, #F59E0B, #6366F1);
background: linear-gradient(90deg, var(--color-brand), #10B981, #F59E0B, var(--color-brand));
background-size: 200% 100%;
border-radius: 2rpx;
animation: gradientMove 3s infinite linear;
@@ -638,7 +642,7 @@ const goBack = () => {
}
.btn-verify-demo {
background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);
background: var(--color-brand-gradient);
color: #FFFFFF;
font-size: 28rpx;
font-weight: 600;
@@ -649,13 +653,13 @@ const goBack = () => {
}
.btn-back {
background: #151D30;
color: #94A3B8;
background: var(--bg-surface);
color: var(--text-secondary);
font-size: 26rpx;
height: 84rpx;
line-height: 84rpx;
border-radius: 44rpx;
border: 1px solid rgba(255, 255, 255, 0.08);
border: 1px solid var(--border-subtle);
}
}

查看文件

@@ -1,5 +1,5 @@
<template>
<view class="workspace-container">
<view class="workspace-container" :class="['theme-' + currentThemeKey]">
<!-- 顶部状态栏与在线接单开关 -->
<view class="expert-status-card">
<view class="status-left">
@@ -447,6 +447,7 @@ import { ref, computed, onMounted } from 'vue';
import { onShow } from '@dcloudio/uni-app';
import { ICONS } from '@/common/icons.js';
import { isExpertCertified } from '@/common/role.js';
import { getCurrentThemeKey } from '@/common/theme.js';
import {
queryCheckinCode,
universalVerifyCheckin,
@@ -468,6 +469,8 @@ import {
getUserWithdrawals
} from '@/common/api.js';
const currentThemeKey = ref(getCurrentThemeKey());
const expert = ref({
id: 101,
nickname: '认证大神',
@@ -838,6 +841,7 @@ onMounted(() => {
});
onShow(() => {
currentThemeKey.value = getCurrentThemeKey();
if (!isExpertCertified()) {
uni.showToast({
title: '非认证大神禁止访问工作台',
@@ -1027,12 +1031,12 @@ const switchBackToPlayer = () => {
<style lang="scss">
.workspace-container {
min-height: 100vh;
background-color: #0A0F1D;
background-color: var(--bg-primary);
padding: 24rpx 32rpx calc(60rpx + env(safe-area-inset-bottom));
}
.expert-status-card {
background: linear-gradient(135deg, #1E1B4B 0%, #151D30 100%);
background: linear-gradient(135deg, var(--bg-surface-elevated) 0%, var(--bg-surface) 100%);
border: 1px solid rgba(99, 102, 241, 0.3);
border-radius: 28rpx;
padding: 28rpx;
@@ -1050,7 +1054,7 @@ const switchBackToPlayer = () => {
width: 100rpx;
height: 100rpx;
border-radius: 50rpx;
border: 4rpx solid #6366F1;
border: 4rpx solid var(--color-brand);
margin-right: 20rpx;
}
@@ -1086,7 +1090,7 @@ const switchBackToPlayer = () => {
width: 12rpx;
height: 12rpx;
border-radius: 50%;
background: #64748B;
background: var(--text-muted);
&.online {
background: #10B981;
@@ -1096,32 +1100,32 @@ const switchBackToPlayer = () => {
.status-text {
font-size: 22rpx;
color: #94A3B8;
color: var(--text-secondary);
}
}
}
}
.switch-wrap {
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.15);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 32rpx;
padding: 10rpx 24rpx;
.switch-label {
font-size: 22rpx;
color: #E2E8F0;
color: var(--text-primary);
font-weight: 600;
}
}
}
.stats-board {
background-color: #151D30;
background-color: var(--bg-surface);
border-radius: 24rpx;
padding: 24rpx;
margin-bottom: 24rpx;
border: 1px solid rgba(255, 255, 255, 0.06);
border: 1px solid var(--border-subtle);
display: flex;
align-items: center;
justify-content: space-around;
@@ -1134,14 +1138,14 @@ const switchBackToPlayer = () => {
.stat-label {
font-size: 20rpx;
color: #94A3B8;
color: var(--text-secondary);
margin-bottom: 8rpx;
}
.stat-val {
font-size: 32rpx;
font-weight: 700;
color: #F8FAFC;
color: var(--text-primary);
font-variant-numeric: tabular-nums;
&.green-val {
@@ -1156,7 +1160,7 @@ const switchBackToPlayer = () => {
.stat-divider {
width: 1px;
height: 60rpx;
background: rgba(255, 255, 255, 0.08);
background: var(--bg-surface-elevated);
}
}
@@ -1166,21 +1170,21 @@ const switchBackToPlayer = () => {
.trend-tabs {
display: flex;
background: #0A0F1D;
background: var(--bg-primary);
padding: 4rpx;
border-radius: 20rpx;
border: 1px solid rgba(255, 255, 255, 0.08);
border: 1px solid var(--border-subtle);
.trend-tab-btn {
font-size: 20rpx;
color: #94A3B8;
color: var(--text-secondary);
padding: 6rpx 16rpx;
border-radius: 16rpx;
cursor: pointer;
transition: all 0.2s ease;
&.active {
background: #6366F1;
background: var(--color-brand);
color: #FFFFFF;
font-weight: 600;
box-shadow: 0 2rpx 8rpx rgba(99, 102, 241, 0.4);
@@ -1192,8 +1196,8 @@ const switchBackToPlayer = () => {
display: flex;
align-items: center;
justify-content: space-around;
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.06);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 16rpx;
padding: 16rpx 12rpx;
margin-bottom: 20rpx;
@@ -1205,13 +1209,13 @@ const switchBackToPlayer = () => {
.sum-label {
font-size: 18rpx;
color: #94A3B8;
color: var(--text-secondary);
margin-bottom: 6rpx;
}
.sum-val {
font-size: 26rpx;
font-weight: 700;
color: #F8FAFC;
color: var(--text-primary);
font-family: monospace;
&.green-val { color: #10B981; }
@@ -1222,7 +1226,7 @@ const switchBackToPlayer = () => {
.sum-divider {
width: 1px;
height: 40rpx;
background: rgba(255, 255, 255, 0.06);
background: var(--bg-surface-elevated);
}
}
@@ -1233,16 +1237,16 @@ const switchBackToPlayer = () => {
.metric-pill {
font-size: 20rpx;
color: #94A3B8;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
color: var(--text-secondary);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 12rpx;
padding: 6rpx 16rpx;
cursor: pointer;
transition: all 0.2s ease;
&.active {
color: #818CF8;
color: var(--color-brand-light);
background: rgba(99, 102, 241, 0.15);
border-color: rgba(99, 102, 241, 0.4);
font-weight: 600;
@@ -1274,7 +1278,7 @@ const switchBackToPlayer = () => {
.tooltip-bubble {
position: absolute;
top: -36rpx;
background: #6366F1;
background: var(--color-brand);
color: #FFF;
font-size: 18rpx;
font-weight: 700;
@@ -1287,7 +1291,7 @@ const switchBackToPlayer = () => {
.bar-val-text {
font-size: 16rpx;
color: #64748B;
color: var(--text-muted);
margin-bottom: 6rpx;
font-family: monospace;
}
@@ -1295,7 +1299,7 @@ const switchBackToPlayer = () => {
.bar-track {
flex: 1;
width: 28rpx;
background: rgba(255, 255, 255, 0.04);
background: var(--bg-surface-elevated);
border-radius: 14rpx;
display: flex;
align-items: flex-end;
@@ -1311,7 +1315,7 @@ const switchBackToPlayer = () => {
box-shadow: 0 0 10rpx rgba(16, 185, 129, 0.3);
}
&.orders {
background: linear-gradient(180deg, #6366F1 0%, #4F46E5 100%);
background: var(--color-brand-gradient);
box-shadow: 0 0 10rpx rgba(99, 102, 241, 0.3);
}
&.avgPrice {
@@ -1323,7 +1327,7 @@ const switchBackToPlayer = () => {
.bar-label {
font-size: 18rpx;
color: #94A3B8;
color: var(--text-secondary);
margin-top: 8rpx;
white-space: nowrap;
}
@@ -1340,7 +1344,7 @@ const switchBackToPlayer = () => {
.btn-wd-records {
margin: 0;
font-size: 20rpx;
color: #6366F1;
color: var(--color-brand);
background: rgba(99, 102, 241, 0.12);
border: 1px solid rgba(99, 102, 241, 0.3);
border-radius: 12rpx;
@@ -1360,8 +1364,8 @@ const switchBackToPlayer = () => {
display: flex;
justify-content: space-between;
align-items: center;
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.06);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 18rpx;
padding: 20rpx;
@@ -1379,24 +1383,24 @@ const switchBackToPlayer = () => {
.srv-title {
font-size: 26rpx;
font-weight: 700;
color: #F8FAFC;
color: var(--text-primary);
}
.srv-badge {
font-size: 18rpx;
color: #818CF8;
color: var(--color-brand-light);
background: rgba(99, 102, 241, 0.12);
padding: 2rpx 8rpx;
border-radius: 6rpx;
}
.srv-mode {
font-size: 18rpx;
color: #94A3B8;
color: var(--text-secondary);
}
}
.srv-desc {
font-size: 20rpx;
color: #64748B;
color: var(--text-muted);
display: block;
margin-bottom: 8rpx;
white-space: nowrap;
@@ -1413,7 +1417,7 @@ const switchBackToPlayer = () => {
}
.srv-unit {
font-size: 20rpx;
color: #94A3B8;
color: var(--text-secondary);
}
}
}
@@ -1424,8 +1428,8 @@ const switchBackToPlayer = () => {
gap: 8rpx;
padding: 8rpx 16rpx;
border-radius: 24rpx;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
cursor: pointer;
transition: all 0.2s ease;
@@ -1433,12 +1437,12 @@ const switchBackToPlayer = () => {
width: 10rpx;
height: 10rpx;
border-radius: 50%;
background: #64748B;
background: var(--text-muted);
}
.switch-txt {
font-size: 20rpx;
color: #94A3B8;
color: var(--text-secondary);
}
&.active {
@@ -1492,14 +1496,14 @@ const switchBackToPlayer = () => {
.sec-sub {
font-size: 20rpx;
color: #64748B;
color: var(--text-muted);
}
}
.verify-box {
.input-tips {
font-size: 22rpx;
color: #94A3B8;
color: var(--text-secondary);
display: block;
margin-bottom: 16rpx;
}
@@ -1517,8 +1521,8 @@ const switchBackToPlayer = () => {
.pin-slot {
width: 104rpx;
height: 116rpx;
background: #0A0F1D;
border: 2rpx solid rgba(255, 255, 255, 0.12);
background: var(--bg-primary);
border: 2rpx solid var(--border-subtle);
border-radius: 18rpx;
display: flex;
align-items: center;
@@ -1567,8 +1571,8 @@ const switchBackToPlayer = () => {
.key-btn {
height: 96rpx;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 16rpx;
display: flex;
flex-direction: column;
@@ -1578,12 +1582,12 @@ const switchBackToPlayer = () => {
.key-num {
font-size: 38rpx;
font-weight: 700;
color: #F8FAFC;
color: var(--text-primary);
font-family: 'Courier New', Courier, monospace;
}
&.action-key {
background: rgba(255, 255, 255, 0.02);
background: var(--bg-surface-elevated);
.key-svg {
width: 32rpx;
@@ -1592,7 +1596,7 @@ const switchBackToPlayer = () => {
.action-text {
font-size: 18rpx;
color: #94A3B8;
color: var(--text-secondary);
margin-top: 4rpx;
}
}
@@ -1603,7 +1607,7 @@ const switchBackToPlayer = () => {
margin-top: 20rpx;
text-align: center;
font-size: 22rpx;
color: #818CF8;
color: var(--color-brand-light);
padding: 10rpx;
background: rgba(99, 102, 241, 0.1);
border: 1px dashed rgba(99, 102, 241, 0.3);
@@ -1628,7 +1632,7 @@ const switchBackToPlayer = () => {
.verify-modal-content {
width: 100%;
background: #151D30;
background: var(--bg-surface);
border-top: 2rpx solid rgba(16, 185, 129, 0.45);
border-radius: 36rpx 36rpx 0 0;
padding: 36rpx 32rpx calc(40rpx + env(safe-area-inset-bottom));
@@ -1644,7 +1648,7 @@ const switchBackToPlayer = () => {
.modal-title {
font-size: 30rpx;
font-weight: 700;
color: #F8FAFC;
color: var(--text-primary);
}
.badge-ready {
@@ -1659,8 +1663,8 @@ const switchBackToPlayer = () => {
}
.participant-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.08);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 20rpx;
padding: 24rpx;
display: flex;
@@ -1701,7 +1705,7 @@ const switchBackToPlayer = () => {
.part-activity {
font-size: 22rpx;
color: #94A3B8;
color: var(--text-secondary);
display: block;
margin-bottom: 8rpx;
}
@@ -1713,7 +1717,7 @@ const switchBackToPlayer = () => {
.label {
font-size: 20rpx;
color: #64748B;
color: var(--text-muted);
}
.code-val {
@@ -1739,7 +1743,7 @@ const switchBackToPlayer = () => {
.fee-k {
font-size: 24rpx;
color: #94A3B8;
color: var(--text-secondary);
}
.fee-v {
@@ -1756,9 +1760,9 @@ const switchBackToPlayer = () => {
.btn-cancel {
flex: 1;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.12);
color: #94A3B8;
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
color: var(--text-secondary);
font-size: 26rpx;
height: 84rpx;
line-height: 84rpx;
@@ -1802,11 +1806,11 @@ const switchBackToPlayer = () => {
}
.section-card {
background-color: #151D30;
background-color: var(--bg-surface);
border-radius: 24rpx;
padding: 28rpx;
margin-bottom: 24rpx;
border: 1px solid rgba(255, 255, 255, 0.06);
border: 1px solid var(--border-subtle);
.sec-head {
display: flex;
@@ -1827,7 +1831,7 @@ const switchBackToPlayer = () => {
.sec-title {
font-size: 26rpx;
font-weight: 700;
color: #F8FAFC;
color: var(--text-primary);
}
}
@@ -1856,8 +1860,8 @@ const switchBackToPlayer = () => {
gap: 18rpx;
.pool-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.06);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 18rpx;
padding: 20rpx;
@@ -1870,7 +1874,7 @@ const switchBackToPlayer = () => {
.game-tag {
font-size: 20rpx;
background: rgba(99, 102, 241, 0.2);
color: #818CF8;
color: var(--color-brand-light);
padding: 2rpx 10rpx;
border-radius: 6rpx;
}
@@ -1885,7 +1889,7 @@ const switchBackToPlayer = () => {
.pool-desc {
font-size: 22rpx;
color: #CBD5E1;
color: var(--text-secondary);
line-height: 1.4;
margin-bottom: 14rpx;
display: block;
@@ -1923,7 +1927,7 @@ const switchBackToPlayer = () => {
}
.btn-grab {
background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);
background: var(--color-brand-gradient);
color: #FFF;
font-size: 22rpx;
font-weight: 700;
@@ -1941,7 +1945,7 @@ const switchBackToPlayer = () => {
.empty-pool {
text-align: center;
color: #64748B;
color: var(--text-muted);
font-size: 22rpx;
padding: 24rpx 0;
}
@@ -1952,8 +1956,8 @@ const switchBackToPlayer = () => {
gap: 18rpx;
.active-order-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.06);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 18rpx;
padding: 20rpx;
@@ -1975,13 +1979,13 @@ const switchBackToPlayer = () => {
.buyer-name {
font-size: 24rpx;
font-weight: 700;
color: #F8FAFC;
color: var(--text-primary);
display: block;
}
.service-tag {
font-size: 20rpx;
color: #94A3B8;
color: var(--text-secondary);
}
}
@@ -1997,12 +2001,12 @@ const switchBackToPlayer = () => {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid rgba(255, 255, 255, 0.05);
border-top: 1px solid var(--border-subtle);
padding-top: 14rpx;
.prog-text {
font-size: 22rpx;
color: #64748B;
color: var(--text-muted);
}
.order-btns {
@@ -2011,7 +2015,7 @@ const switchBackToPlayer = () => {
.btn-chat {
background: rgba(99, 102, 241, 0.15);
color: #818CF8;
color: var(--color-brand-light);
border: 1px solid rgba(99, 102, 241, 0.3);
font-size: 20rpx;
height: 52rpx;
@@ -2042,13 +2046,13 @@ const switchBackToPlayer = () => {
margin-top: 40rpx;
.btn-back-player {
background: #151D30;
color: #94A3B8;
background: var(--bg-surface);
color: var(--text-secondary);
font-size: 26rpx;
height: 84rpx;
line-height: 84rpx;
border-radius: 42rpx;
border: 1px solid rgba(255, 255, 255, 0.08);
border: 1px solid var(--border-subtle);
}
}
@@ -2076,8 +2080,8 @@ const switchBackToPlayer = () => {
max-height: 60vh;
.wd-record-item {
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.06);
background: var(--bg-surface-elevated);
border: 1px solid var(--border-subtle);
border-radius: 16rpx;
padding: 20rpx;
margin-bottom: 16rpx;
@@ -2090,7 +2094,7 @@ const switchBackToPlayer = () => {
.wd-no {
font-size: 20rpx;
color: #94A3B8;
color: var(--text-secondary);
font-family: monospace;
}
@@ -2127,12 +2131,12 @@ const switchBackToPlayer = () => {
.wd-amount {
font-size: 32rpx;
font-weight: 700;
color: #F8FAFC;
color: var(--text-primary);
font-family: monospace;
}
.wd-channel {
font-size: 22rpx;
color: #94A3B8;
color: var(--text-secondary);
}
}
@@ -2140,7 +2144,7 @@ const switchBackToPlayer = () => {
display: flex;
justify-content: space-between;
font-size: 18rpx;
color: #64748B;
color: var(--text-muted);
.wd-reason {
color: #EF4444;
@@ -2153,7 +2157,7 @@ const switchBackToPlayer = () => {
padding: 60rpx 0;
text-align: center;
font-size: 24rpx;
color: #64748B;
color: var(--text-muted);
}
}