feat: v0.8.0 详情页架构重构、皮肤系统、侧边栏交互升级、底层模块拆分

- 详情页统一 DetailLayout 组件(常驻头部 + 独立滚动 + 紧凑态动画)
- 歌曲/评论 tab 切换(懒加载 + 保活),专辑模糊搜索
- 皮肤系统 skins.ts(19 语义色 + 14 预设 + 自定义皮肤 + 壁纸)
- 设置页皮肤模块(外观/主题色/皮肤编辑器/壁纸选择)
- 可折叠侧边栏 + TopBar + 折叠态歌单浮层(高度不越 PlayerBar)
- 首页扩展至 6 区块 + 通用卡片组件 + 虚拟歌曲列表
- audio.rs 拆为 8 模块,api.ts 拆为 api/ 目录,player store 拆为 4 store
- 修复播放竞态、seek 暂停、评论提前加载、紧凑态卡死等
This commit is contained in:
2026-06-26 21:05:51 +08:00
parent dcfada6940
commit 263e9b31d9
74 changed files with 5843 additions and 2449 deletions
+44
View File
@@ -343,6 +343,50 @@ pub async fn recommend_resource(state: State<'_, ApiController>) -> Result<Strin
api_call!(state, recommend_resource)
}
/// 个性化推荐歌单(无需登录)
/// 对应 /personalized
#[tauri::command]
pub async fn personalized(limit: Option<u32>, state: State<'_, ApiController>) -> Result<String, String> {
api_call!(state, personalized, params: [
("limit", &limit.unwrap_or(30).to_string())
])
}
/// 推荐新歌
/// 对应 /personalized/newsong
#[tauri::command]
pub async fn personalized_newsong(limit: Option<u32>, state: State<'_, ApiController>) -> Result<String, String> {
api_call!(state, personalized_newsong, params: [
("limit", &limit.unwrap_or(10).to_string())
])
}
/// 热门歌手
/// 对应 /top/artists
#[tauri::command]
pub async fn top_artists(limit: Option<u32>, offset: Option<u32>, state: State<'_, ApiController>) -> Result<String, String> {
api_call!(state, top_artists, params: [
("limit", &limit.unwrap_or(30).to_string()),
("offset", &offset.unwrap_or(0).to_string())
])
}
/// 新歌速递
/// 对应 /top/songtype: 全部:0 / 华语:7 / 欧美:96 / 韩国:16 / 日本:8
#[tauri::command]
pub async fn top_song(area_type: Option<u32>, state: State<'_, ApiController>) -> Result<String, String> {
api_call!(state, top_song, params: [
("type", &area_type.unwrap_or(0).to_string())
])
}
/// 最新专辑(新碟上架)
/// 对应 /album/newest
#[tauri::command]
pub async fn album_newest(state: State<'_, ApiController>) -> Result<String, String> {
api_call!(state, album_newest)
}
/// 私人漫游模式查询参数
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]