From 38edf2fcd26b2f5bef255583b7c4da625b731e4a Mon Sep 17 00:00:00 2001 From: miao-moe Date: Mon, 18 May 2026 08:50:56 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=A7=A6=E6=8E=A7?= =?UTF-8?q?=E9=80=82=E9=85=8D=E4=BC=98=E5=8C=96=E5=92=8C=E4=B8=BB=E9=A1=B5?= =?UTF-8?q?=E6=AD=8C=E5=8D=95=E7=82=B9=E5=87=BB=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增触控优化样式文件 touch.css - 优化所有按钮和交互元素的触控尺寸(最小44px) - 添加触控设备的响应式优化 - 更新主页歌单为真实数据 - 为歌单、歌手、歌曲添加点击事件 - 添加每日推荐横幅点击功能 - 优化播放器按钮和滑块的触控体验 --- src/renderer/src/styles/main.css | 1 + src/renderer/src/styles/touch.css | 109 +++++++++++++++++++++++++ src/renderer/src/views/Home.vue | 128 ++++++++++++++++++++++-------- 3 files changed, 206 insertions(+), 32 deletions(-) create mode 100644 src/renderer/src/styles/touch.css diff --git a/src/renderer/src/styles/main.css b/src/renderer/src/styles/main.css index 5d89f6e..b1ec1ee 100644 --- a/src/renderer/src/styles/main.css +++ b/src/renderer/src/styles/main.css @@ -1,4 +1,5 @@ @import 'variables.css'; +@import 'touch.css'; * , *::before, *::after { margin: 0; diff --git a/src/renderer/src/styles/touch.css b/src/renderer/src/styles/touch.css new file mode 100644 index 0000000..4d403dc --- /dev/null +++ b/src/renderer/src/styles/touch.css @@ -0,0 +1,109 @@ +/* 触控适配样式 */ + +/* 基础触控优化 */ +* { + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; +} + +/* 按钮触控尺寸优化 */ +button, +.nav-item, +.playlist-card, +.artist-card, +.song-item, +.more-btn, +.play-btn { + min-height: 44px; + min-width: 44px; +} + +/* 触控时的视觉反馈 */ +.touch-feedback { + position: relative; + overflow: hidden; +} + +.touch-feedback::after { + content: ''; + position: absolute; + inset: 0; + background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%); + opacity: 0; + transition: opacity 0.2s ease; + pointer-events: none; +} + +.touch-feedback:active::after { + opacity: 1; +} + +/* 滚动优化 */ +.page-content, +.sidebar { + -webkit-overflow-scrolling: touch; + overscroll-behavior: contain; +} + +/* 滚动条触控优化 - 更宽的滚动条便于触控 */ +.page-content::-webkit-scrollbar, +.sidebar::-webkit-scrollbar { + width: 12px; +} + +/* 交互元素触控优化 */ +.nav-item, +.playlist-card, +.artist-card, +.song-item { + touch-action: manipulation; +} + +/* 输入框触控优化 */ +input, +textarea { + font-size: 16px; /* 防止 iOS 缩放 */ +} + +/* 播放控制按钮触控优化 */ +.media-button { + min-width: 48px; + min-height: 48px; + padding: 12px; +} + +/* 响应式触摸友好的间距 */ +@media (hover: none) and (pointer: coarse) { + /* 触控设备的优化 */ + .content-wrapper { + padding: 16px; + } + + .nav-item { + padding: 14px 16px; + margin-bottom: 6px; + } + + .playlist-grid, + .artist-grid { + gap: 24px; + } + + .song-item { + padding: 16px; + } + + /* 显示覆盖层,不需要悬停也能看到 */ + .play-overlay { + opacity: 0.7 !important; + } + + /* 触控时的点击反馈 */ + .playlist-card:active, + .artist-card:active, + .song-item:active, + .nav-item:active { + transform: scale(0.98); + transition: transform 0.1s ease; + } +} diff --git a/src/renderer/src/views/Home.vue b/src/renderer/src/views/Home.vue index 098621e..84bb645 100644 --- a/src/renderer/src/views/Home.vue +++ b/src/renderer/src/views/Home.vue @@ -3,7 +3,7 @@
-