mirror of
https://github.com/atdunbg/Nekosonic-Music.git
synced 2026-08-16 19:04:18 +08:00
- 重构皮肤系统:提取 skins.ts 管理预设皮肤,CSS 变量由 JS 动态设置 - 提取公共 color.ts 工具函数(hexToRgba/toHex),消除重复定义 - 修复 seek 时暂停状态丢失的 bug(后端 audio_paused 状态保留) - 本地音乐页面:循环排序切换、三点菜单、打开所在文件夹 - 本地音乐文件夹管理:支持启用/禁用切换,兼容旧数据迁移 - 新增 show_item_in_folder 命令(Windows/macOS/Linux 跨平台) - 外观一体化:有壁纸时 TitleBar/Sidebar 透明,PlayerBar 统一透明度+backdrop-blur - 进度条外层直角、内层填充圆角 - 滚动条默认透明,悬停时显示 - 移除 PageHeader 粘性栏 - 内存优化:keep-alive TTL 5min、pageCache TTL 30min/上限30条、colorCache 上限200 - recentLocal 防抖写入、播放器 tick interval 500ms
29 lines
826 B
Vue
29 lines
826 B
Vue
<template>
|
||
<div class="p-8 text-content">
|
||
<PageHeader>
|
||
<h1 class="text-2xl font-bold">最近播放</h1>
|
||
</PageHeader>
|
||
<div v-if="player.recentLocal.length === 0" class="text-content-3">还没有播放记录,去听首歌吧</div>
|
||
<VirtualSongList
|
||
v-else
|
||
:songs="player.recentLocal"
|
||
:current-song-id="player.currentSong?.id"
|
||
show-index
|
||
show-like
|
||
show-download
|
||
show-menu
|
||
show-duration
|
||
show-playing-overlay
|
||
@song-click="(_s, i) => player.playFromList(player.recentLocal, i)"
|
||
/>
|
||
</div>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
import { usePlayerStore } from '../stores/player';
|
||
import VirtualSongList from '../components/VirtualSongList.vue';
|
||
import PageHeader from '../components/PageHeader.vue';
|
||
|
||
const player = usePlayerStore();
|
||
</script>
|