mirror of
https://github.com/atdunbg/Nekosonic-Music.git
synced 2026-06-22 00:58:51 +08:00
新功能: - 亮色主题:新增浅色外观模式,7种主题色各有对应亮色变体 - 封面主色背景:漫游抽屉自动提取封面主色,PlayerBar跟随继承 - 发现页重做:多类型搜索(歌曲/歌手/专辑)+搜索建议+搜索历史 - 漫游页重做:进入即播放,布局改为封面+歌名+播放/下一首/减少推荐 - 减少推荐:FM模式下可标记不推荐歌曲或歌手 - 列表风格统一:播放指示器跳动动画+hover播放图标+图标统一使用Lucide 修复: - 专辑页艺术家过多时窗口缩小竖排,改为自动换行 - FM播放时退出登录后首页仍可点击下一首 - 本地音乐播放时缓冲进度条未重置 - 亮色主题下多处文字不可见 - 退出FM模式时状态未正确清理 - 暗色模式下关闭抽屉时PlayerBar闪烁亮色(改用opacity过渡) - player.ts tickInterval双变量状态不同步,统一为clearTick/setTick 变更: - 移除播放列表按钮数字角标 - 主页卡片标题固定白色不随主题变化 - 全项目空catch块格式统一 - 清理冗余注释和代码
45 lines
1.7 KiB
TypeScript
45 lines
1.7 KiB
TypeScript
import { createRouter, createWebHistory } from 'vue-router';
|
|
import Home from '@/views/Home.vue';
|
|
import Discover from '@/views/Discover.vue';
|
|
import PlaylistDetail from '@/views/PlaylistDetail.vue';
|
|
import Login from '@/views/Login.vue';
|
|
import FavoriteSongs from '@/views/FavoriteSongs.vue';
|
|
import RecentPlays from '@/views/RecentPlays.vue';
|
|
import DailySongs from '@/views/DailySongs.vue';
|
|
import LocalMusic from '@/views/LocalMusic.vue';
|
|
import Settings from '@/views/Settings.vue';
|
|
|
|
const routes = [
|
|
{ path: '/', name: 'home', component: Home },
|
|
{ path: '/discover', name: 'discover', component: Discover },
|
|
{ path: '/search', name: 'search', component: Discover },
|
|
{ path: '/favorites', name: 'favorites', component: FavoriteSongs },
|
|
{ path: '/recent', name: 'recent', component: RecentPlays },
|
|
{ path: '/daily', name: 'daily', component: DailySongs },
|
|
{ path: '/local-music', name: 'local-music', component: LocalMusic },
|
|
{ path: '/login', name: 'login', component: Login, meta: { guest: true } },
|
|
{ path: '/playlist/:id', name: 'playlist', component: PlaylistDetail },
|
|
{ path: '/artist/:id', name: 'artist', component: () => import('@/views/ArtistDetail.vue') },
|
|
{ path: '/album/:id', name: 'album', component: () => import('@/views/AlbumDetail.vue') },
|
|
{ path: '/settings', name: 'settings', component: Settings },
|
|
];
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(),
|
|
routes,
|
|
});
|
|
|
|
router.beforeEach((to) => {
|
|
if (to.meta.guest) {
|
|
const raw = localStorage.getItem('user');
|
|
if (raw) {
|
|
try {
|
|
const data = JSON.parse(raw);
|
|
if (data?.userId) return { name: 'home' };
|
|
} catch { /* 忽略 */ }
|
|
}
|
|
}
|
|
});
|
|
|
|
export default router;
|