From 0d35d1b6c350b257131ba50633f3e08e4916ec97 Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Mon, 25 May 2026 17:28:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(metronome):=20=E9=A1=B6=E9=83=A8=E8=89=B2?= =?UTF-8?q?=E5=8D=8F=E8=B0=83=20+=20=E8=A7=86=E9=A2=91=E8=BE=B9=E7=BC=98?= =?UTF-8?q?=E6=9F=94=E5=8C=96=20+=20=E8=8A=82=E6=8B=8D=E9=9F=B3=E5=8A=A0?= =?UTF-8?q?=E5=A4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NavBar 颜色协调: - 节拍器页 navigationBarBackgroundColor 从 #0f172a 暗色 改为 #f8fafc,跟页面背景纯色一致,顶部不再撕裂 - 文字色改 black,补 backgroundColor 防止下拉露出底色 视频边缘柔化(去掉硬切感): - 页面背景从渐变改为纯色 #f8fafc,让 box-shadow 颜色稳定 - walker-clip 加 box-shadow 0 0 30rpx 12rpx #f8fafc 圆形外圈"消融"到背景里,不再有硬边框感 - video transform: scale(1.1) → 1.4 让 video 自带的灰白渐变边和右上角原生 PIP/小窗按钮 全部被推到圆外,被 overflow:hidden 切掉 节拍音重做(响度+音色): - 时长从 0.13s 缩到 0.085s,去掉衰减尾巴更干脆 - 加 5ms white-noise burst 模拟敲击瞬间的"tk"音头 - volume 拉到 6 倍 + alimiter 限 0.98 防爆音 - 实测峰值从 -13.5dB 推到 0dB(满量程), mean 从 -26dB 提到 -19dB,听感响度约翻倍 Co-authored-by: Cursor --- TUICallKit-Vue3/pages.json | 5 +++-- TUICallKit-Vue3/pages/training/metronome.vue | 16 ++++++++++++---- .../static/training/audio/click-wood.mp3 | Bin 3179 -> 2239 bytes .../static/training/audio/click.mp3 | Bin 2552 -> 1925 bytes 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/TUICallKit-Vue3/pages.json b/TUICallKit-Vue3/pages.json index f2e03c0a..885c1cd9 100644 --- a/TUICallKit-Vue3/pages.json +++ b/TUICallKit-Vue3/pages.json @@ -80,8 +80,9 @@ "path": "pages/training/metronome", "style": { "navigationBarTitleText": "节拍器", - "navigationBarBackgroundColor": "#0f172a", - "navigationBarTextStyle": "white", + "navigationBarBackgroundColor": "#f8fafc", + "navigationBarTextStyle": "black", + "backgroundColor": "#f8fafc", "disableScroll": true } } diff --git a/TUICallKit-Vue3/pages/training/metronome.vue b/TUICallKit-Vue3/pages/training/metronome.vue index 7a2f443a..a2c9eb94 100644 --- a/TUICallKit-Vue3/pages/training/metronome.vue +++ b/TUICallKit-Vue3/pages/training/metronome.vue @@ -255,7 +255,7 @@ onUnmounted(() => { /* ============================================================ * 设计 token —— 浅色清爽 * ============================================================ */ -$bg-grad: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%); +$bg-color: #f8fafc; $card-bg: #ffffff; $card-border: rgba(15, 23, 42, 0.06); $text-1: #0f172a; @@ -279,7 +279,7 @@ $shadow-md: 0 12rpx 28rpx rgba(15, 23, 42, 0.08); height: 100vh; box-sizing: border-box; padding: 30rpx 28rpx 80rpx; - background: $bg-grad; + background: $bg-color; display: flex; flex-direction: column; align-items: center; @@ -433,17 +433,25 @@ $shadow-md: 0 12rpx 28rpx rgba(15, 23, 42, 0.08); } .walker-clip { - /* 圆形蒙版裁掉 video 的灰白边 + 隐藏右上角原生小窗按钮 */ + /* 圆形蒙版裁掉 video 的灰白边 + 隐藏右上角原生小窗按钮 + 外圈柔化阴影颜色等于页面背景,圆形边缘自然消融到背景里 + 视觉上不再有硬切感的"边框" + */ width: 220rpx; height: 220rpx; border-radius: 50%; overflow: hidden; + box-shadow: + 0 0 0 6rpx $bg-color, + 0 0 30rpx 12rpx $bg-color; } .runner-video { width: 100%; height: 100%; - transform: scale(1.1); + /* scale 1.4: 把 video 内容放大,让自带的灰白渐变边和右上角原生 + PIP/小窗按钮全部被推到圆形外,被 overflow:hidden 切掉 */ + transform: scale(1.4); background: transparent; } diff --git a/TUICallKit-Vue3/static/training/audio/click-wood.mp3 b/TUICallKit-Vue3/static/training/audio/click-wood.mp3 index 4f89ad7affb658b05b95830581314a94625b720a..a8ca8ef7ef5dc117dc0fbc7cdcf79673771ae1ff 100644 GIT binary patch literal 2239 zcmeH|dr(tX9>>qU2_Xp=NPtDqxCBs44UZdwG=PsJ4H!_WXkby%hKI1UiikYaRdN$! zCLpCG6^%+Mf>RZAg|1u0wVNAFkU|RR!h(-VRu;yxtV(&PyzYi|I@4jMfA2s0nKS47 ze&_tooZtNBd(MfK@X25vf7#Zp(e}|50Mf?P!p!i{V4l69y#KDg>xk)G{1@&!Gd3r4 zpWU+W0~7$LdJwySy$jJV;G2a!UI?*(`IGHQrrVPY70f$7vy4*w&ZO!s`XJrU)Bo$y zUN|!VE=&Ks>m(DSAFlt&$YYb(aX1J}|86&cynw2x=ylOEUjcv>6Yf7e8E7Vm^93DI zMy9(YMEfCNHz-e_m^_QgsP|P&Eh4((``fi81TmEZ)Gva*2NtvV+Fy(WVHRKdV(kjT z9K>`gI!Fm5Zu4ylV!D?4TtVu@AjU|0@JPpt;f4zpQh#TSYQT{vtXVT!(32jQel2q5 zbx)pgRg7~lOW79#&bTx8L3Q3dk&EB0jMik^)i!@a=BCoV6Nb8#5o<$hKNM-l{0=t$ zKB>E*@;=I6QO>dK9tin9)~)IC8Nr@yq2a>OuL%RAkdKB*Rf`^cH5~a(1i{b$d*+27 z+qGB!s4NH}p4`r?&pFprFWr7`mBB*qoIdppe&`&=^=OnRfnhmk%)Wme2nGP|k zvRFHf0FFg!nmSW$*>@KkIMi*Qoo}fsVP$`MbDtMWNmHRqN}!V66|Fb}HnVF|4|6r* z?AokAK>!;HkXMnH7i| zreb@np#x9(ztWZ)j<})5@_TCIRk6w+MyJ zc#Sj42Y0Eqqr9q;xL;l3~E3&UZ9_BIx zY`C073!sAPR5wNomt36obSU7ovOBFB%4A|du7QSN5atZ~Lzq7*BGu8b9-eW#KV>wO zw+L)T)4Z6N)C0BvZ`UVMuhYG{k+*vzMHH3*egFf}V`TXJ^?1tgI>VHB~@U4tQ~4+V$-a`IBT6d{H<~BCiGH@2{HSQ!Y9u^}`Y{y`&NIK5?*}B$j#6H6(c?orKw9(D&fGaLrMazoc&UjVo(q z4??90=yf)VIt3>vlvsq)S9Cm@rhbpt2AcKkE>3h@c=>gMlVuGtNle?HkTt)%G}=GC zA?vmt>>bvBUOA9A*Vg~`$aL~W6hCPa3h@Y~ni3UUy}2t5KBIAq;NFjac$QqEv?l*^ zUUFW?Dp^`{@Lsgdo3Tw&<$ZZzR|n%J``aY$jr-5?w-_Xmh;NkbPY$pw9LK3qwM{$n zu`ilA%CfWJp}l(=AsfZ9ynHPv1ChV&`vZ;uCaXAg2E1}~{1TZVXZoL?bF{gXXJ(D2 z*aK{@u}DbQXOBOFmnzM|ijTJp*4|3t%OuD; zQ+mBDQQl-8T;Kia`$xu49ow+7`s%5;#c7MHq93(S>Ew))$+~5RXR!yQb$W@6eaV!p zYNX={_`T@gP?JPEDbKm8Dv$iFX{D`PWxVR9N8ft!5^ad+pvS9=mT>A7%{bR|WO-M) y`DM}LL1M1weSP9aQG7Jt{*$7Kzs9`e+>YT=7&rsK1|SRrfc$I0|DXRw1^xqad~>7# literal 3179 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 diff --git a/TUICallKit-Vue3/static/training/audio/click.mp3 b/TUICallKit-Vue3/static/training/audio/click.mp3 index d56c0dd0d722b76eee79624ac12081f0a27bb4d4..ae456fee2798545c861f5d3a675c09acfa6f5f45 100644 GIT binary patch delta 1497 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