diff --git a/package.json b/package.json
index e1d465e..85200a1 100644
--- a/package.json
+++ b/package.json
@@ -68,21 +68,24 @@
"lodash": "^4.17.21",
"marked": "^15.0.7",
"naive-ui": "^2.41.0",
- "prettier": "^3.5.3",
- "remixicon": "^4.6.0",
- "sass": "^1.86.0",
+ "postcss": "^8.4.49",
+ "prettier": "^3.3.2",
+ "pinia": "^3.0.1",
+ "remixicon": "^4.2.0",
+ "sass": "^1.83.4",
"tailwindcss": "^3.4.17",
"tinycolor2": "^1.6.0",
"tunajs": "^1.0.15",
- "typescript": "^5.8.2",
- "unplugin-auto-import": "^19.1.1",
- "unplugin-vue-components": "^28.4.1",
- "vite": "^6.2.2",
+ "typescript": "^5.5.2",
+ "unplugin-auto-import": "^0.18.2",
+ "unplugin-vue-components": "^0.27.4",
+ "vfonts": "^0.1.0",
+ "vite": "^5.3.1",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-vue-devtools": "7.7.2",
"vue": "^3.5.13",
"vue-router": "^4.5.0",
- "vue-tsc": "^2.2.8",
+ "vue-tsc": "^2.0.22",
"vuex": "^4.1.0"
},
"build": {
diff --git a/src/i18n/lang/en-US/player.ts b/src/i18n/lang/en-US/player.ts
index e2d93d5..d5dcf4d 100644
--- a/src/i18n/lang/en-US/player.ts
+++ b/src/i18n/lang/en-US/player.ts
@@ -11,6 +11,7 @@ export default {
mute: 'Mute',
unmute: 'Unmute',
songNum: 'Song Number: {num}',
+ playFailed: 'Play Failed, Play Next Song',
playMode: {
sequence: 'Sequence',
loop: 'Loop',
diff --git a/src/i18n/lang/zh-CN/player.ts b/src/i18n/lang/zh-CN/player.ts
index 428c214..fb4b1cf 100644
--- a/src/i18n/lang/zh-CN/player.ts
+++ b/src/i18n/lang/zh-CN/player.ts
@@ -11,6 +11,7 @@ export default {
mute: '静音',
unmute: '取消静音',
songNum: '歌曲总数:{num}',
+ playFailed: '当前歌曲播放失败,播放下一首',
playMode: {
sequence: '顺序播放',
loop: '循环播放',
diff --git a/src/renderer/App.vue b/src/renderer/App.vue
index b62ef37..348a616 100644
--- a/src/renderer/App.vue
+++ b/src/renderer/App.vue
@@ -12,90 +12,67 @@
diff --git a/src/renderer/api/music.ts b/src/renderer/api/music.ts
index 50bef20..ace8793 100644
--- a/src/renderer/api/music.ts
+++ b/src/renderer/api/music.ts
@@ -1,5 +1,5 @@
import { musicDB } from '@/hooks/MusicHook';
-import store from '@/store';
+import { useSettingsStore, useUserStore } from '@/store';
import type { ILyric } from '@/type/lyric';
import { isElectron } from '@/utils';
import request from '@/utils/request';
@@ -14,14 +14,16 @@ export const getMusicQualityDetail = (id: number) => {
// 根据音乐Id获取音乐播放URl
export const getMusicUrl = async (id: number, isDownloaded: boolean = false) => {
+ const userStore = useUserStore();
+ const settingStore = useSettingsStore();
// 判断是否登录
try {
- if (store.state.user && isDownloaded && store.state.user.vipType !== 0) {
+ if (userStore.user && isDownloaded && userStore.user.vipType !== 0) {
const url = '/song/download/url/v1';
const res = await request.get(url, {
params: {
id,
- level: store.state.setData.musicQuality || 'higher',
+ level: settingStore.setData.musicQuality || 'higher',
cookie: `${localStorage.getItem('token')} os=pc;`
}
});
@@ -37,7 +39,7 @@ export const getMusicUrl = async (id: number, isDownloaded: boolean = false) =>
return await request.get('/song/url/v1', {
params: {
id,
- level: store.state.setData.musicQuality || 'higher'
+ level: settingStore.setData.musicQuality || 'higher'
}
});
};
diff --git a/src/renderer/components.d.ts b/src/renderer/components.d.ts
index 7e15b09..962303b 100644
--- a/src/renderer/components.d.ts
+++ b/src/renderer/components.d.ts
@@ -2,7 +2,6 @@
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
-// biome-ignore lint: disable
export {}
/* prettier-ignore */
diff --git a/src/renderer/components/LanguageSwitcher.vue b/src/renderer/components/LanguageSwitcher.vue
index b01094f..3955c30 100644
--- a/src/renderer/components/LanguageSwitcher.vue
+++ b/src/renderer/components/LanguageSwitcher.vue
@@ -1,11 +1,10 @@
diff --git a/src/renderer/components/MusicList.vue b/src/renderer/components/MusicList.vue
index aac4ce2..ef8a834 100644
--- a/src/renderer/components/MusicList.vue
+++ b/src/renderer/components/MusicList.vue
@@ -87,16 +87,16 @@