diff --git a/src/api/song.ts b/src/api/song.ts index 9ae67f7..97c50c0 100644 --- a/src/api/song.ts +++ b/src/api/song.ts @@ -109,3 +109,15 @@ export const matchSong = ( params: { title, artist, album, duration, md5 }, }); }; + +/** + * 歌曲动态封面 + * @param {number} id - 歌曲 id + */ + +export const songDynamicCover = (id: number) => { + return request({ + url: "/song/dynamic/cover", + params: { id }, + }); +}; diff --git a/src/components/List/ArtistList.vue b/src/components/List/ArtistList.vue index 26aba94..2e72d74 100644 --- a/src/components/List/ArtistList.vue +++ b/src/components/List/ArtistList.vue @@ -15,25 +15,16 @@
- - - + /> - @@ -78,7 +69,6 @@ diff --git a/src/stores/setting.ts b/src/stores/setting.ts index a92da47..9af92a8 100644 --- a/src/stores/setting.ts +++ b/src/stores/setting.ts @@ -82,6 +82,7 @@ interface SettingState { realIP: string; fullPlayerCache: boolean; scrobbleSong: boolean; + dynamicCover: boolean; } export const useSettingStore = defineStore({ @@ -125,6 +126,7 @@ export const useSettingStore = defineStore({ smtcOutputHighQualityCover: false, // 是否输出高清封面 playSongDemo: false, // 是否播放试听歌曲 scrobbleSong: false, // 是否打卡 + dynamicCover: true, // 动态封面 // 歌词 lyricFontSize: 46, // 歌词大小 lyricTranFontSize: 22, // 歌词翻译大小 diff --git a/src/utils/meta.ts b/src/utils/meta.ts index 3e674be..1c0bf25 100644 --- a/src/utils/meta.ts +++ b/src/utils/meta.ts @@ -1,7 +1,6 @@ import type { SongLevelType } from "@/types/main"; import type { ImageRenderToolbarProps } from "naive-ui"; import { compact, findKey, keys, pick, takeWhile } from "lodash-es"; -import { renderIcon } from "./helper"; // 音质数据 export const songLevelData = { @@ -63,15 +62,15 @@ export function getLevelsUpTo(level: string): Partial { // 排序选项 export const sortOptions = { - default: { name: "默认排序", show: "all", icon: renderIcon("Sort") }, - titleAZ: { name: "标题升序( A - Z )", show: "all", icon: renderIcon("SortAZ") }, - titleZA: { name: "标题降序( Z - A )", show: "all", icon: renderIcon("SortZA") }, - arAZ: { name: "歌手升序( A - Z )", show: "song", icon: renderIcon("SortAZ") }, - arZA: { name: "歌手降序( Z - A )", show: "song", icon: renderIcon("SortZA") }, - timeUp: { name: "时长升序", show: "all", icon: renderIcon("SortClockUp") }, - timeDown: { name: "时长降序", show: "all", icon: renderIcon("SortClockDown") }, - dateUp: { name: "日期升序", show: "radio", icon: renderIcon("SortDateUp") }, - dateDown: { name: "日期降序", show: "radio", icon: renderIcon("SortDateDown") }, + default: { name: "默认排序", show: "all", icon: "Sort" }, + titleAZ: { name: "标题升序( A - Z )", show: "all", icon: "SortAZ" }, + titleZA: { name: "标题降序( Z - A )", show: "all", icon: "SortZA" }, + arAZ: { name: "歌手升序( A - Z )", show: "song", icon: "SortAZ" }, + arZA: { name: "歌手降序( Z - A )", show: "song", icon: "SortZA" }, + timeUp: { name: "时长升序", show: "all", icon: "SortClockUp" }, + timeDown: { name: "时长降序", show: "all", icon: "SortClockDown" }, + dateUp: { name: "日期升序", show: "radio", icon: "SortDateUp" }, + dateDown: { name: "日期降序", show: "radio", icon: "SortDateDown" }, } as const; // 自定义图片工具栏 diff --git a/src/utils/player.ts b/src/utils/player.ts index c57bc81..27dbe83 100644 --- a/src/utils/player.ts +++ b/src/utils/player.ts @@ -279,21 +279,19 @@ class Player { }); // 播放 this.player.on("play", () => { + window.document.title = this.getPlayerInfo() || "SPlayer"; // ipc if (isElectron) { window.electron.ipcRenderer.send("play-status-change", true); window.electron.ipcRenderer.send("play-song-change", this.getPlayerInfo()); } - // 更改标题 - if (!isElectron) window.document.title = this.getPlayerInfo() || "SPlayer"; console.log("▶️ song play:", playSongData); }); // 暂停 this.player.on("pause", () => { + window.document.title = "SPlayer"; // ipc if (isElectron) window.electron.ipcRenderer.send("play-status-change", false); - // 更改标题 - if (!isElectron) window.document.title = "SPlayer"; console.log("⏸️ song pause:", playSongData); }); // 结束