diff --git a/src/i18n/languages.ts b/src/i18n/languages.ts index a07f2c8..4ac9c74 100644 --- a/src/i18n/languages.ts +++ b/src/i18n/languages.ts @@ -3,7 +3,7 @@ // 语言显示名称映射 export const LANGUAGE_DISPLAY_NAMES: Record = { 'zh-CN': '简体中文', - 'zh-Hant': '繁體中文', + 'zh-Hant': '繁體中文', 'en-US': 'English', 'ja-JP': '日本語', 'ko-KR': '한국어' @@ -22,4 +22,4 @@ export const LANGUAGE_PRIORITY: Record = { 'en-US': 3, 'ja-JP': 4, 'ko-KR': 5 -}; \ No newline at end of file +}; diff --git a/src/i18n/utils.ts b/src/i18n/utils.ts index f587ee1..55e157f 100644 --- a/src/i18n/utils.ts +++ b/src/i18n/utils.ts @@ -10,7 +10,7 @@ export const buildLanguageMessages = () => { const match = path.match(/\.\/lang\/([^/]+)\/([^/]+)\.ts$/); if (match) { const [, langCode, moduleName] = match; - + // 跳过 index 文件 if (moduleName !== 'index') { if (!messages[langCode]) { @@ -45,16 +45,16 @@ export const getLanguageDisplayNames = (): Record => { export const getLanguageOptions = () => { const supportedLanguages = getSupportedLanguages(); const displayNames = getLanguageDisplayNames(); - + // 按优先级排序 const sortedLanguages = supportedLanguages.sort((a, b) => { const priorityA = LANGUAGE_PRIORITY[a] || 999; const priorityB = LANGUAGE_PRIORITY[b] || 999; return priorityA - priorityB; }); - - return sortedLanguages.map(lang => ({ + + return sortedLanguages.map((lang) => ({ label: displayNames[lang] || lang, value: lang })); -}; \ No newline at end of file +}; diff --git a/src/main/modules/loginWindow.ts b/src/main/modules/loginWindow.ts index b417e03..f6c6eaa 100644 --- a/src/main/modules/loginWindow.ts +++ b/src/main/modules/loginWindow.ts @@ -13,7 +13,7 @@ const loginTitle = i18n.global.t('login.qrTitle'); */ const openLoginWindow = async (mainWin: BrowserWindow) => { let loginTimer: NodeJS.Timeout; - + // 如果登录窗口已存在,则聚焦并返回 if (loginWindow && !loginWindow.isDestroyed()) { loginWindow.focus(); @@ -21,10 +21,10 @@ const openLoginWindow = async (mainWin: BrowserWindow) => { } const loginSession = session.fromPartition('persist:login'); - + // 清除 Cookie await loginSession.clearStorageData({ - storages: ['cookies', 'localstorage'], + storages: ['cookies', 'localstorage'] }); loginWindow = new BrowserWindow({ @@ -38,8 +38,8 @@ const openLoginWindow = async (mainWin: BrowserWindow) => { session: loginSession, sandbox: false, webSecurity: false, - preload: join(__dirname, '../../preload/index.js'), - }, + preload: join(__dirname, '../../preload/index.js') + } }); // 打开网易云登录页面 @@ -57,17 +57,17 @@ const openLoginWindow = async (mainWin: BrowserWindow) => { if (loginTimer) clearInterval(loginTimer); return; } - + const MUSIC_U = await loginSession.cookies.get({ - name: 'MUSIC_U', + name: 'MUSIC_U' }); - + if (MUSIC_U && MUSIC_U?.length > 0) { if (loginTimer) clearInterval(loginTimer); const value = `MUSIC_U=${MUSIC_U[0].value};`; - + mainWin?.webContents.send('send-cookies', value); - + // 关闭登录窗口 loginWindow.destroy(); loginWindow = null; @@ -81,7 +81,7 @@ const openLoginWindow = async (mainWin: BrowserWindow) => { loginWindow.webContents.once('did-finish-load', () => { loginWindow?.show(); loginTimer = setInterval(checkLogin, 500); - + loginWindow?.on('closed', () => { if (loginTimer) clearInterval(loginTimer); loginWindow = null; diff --git a/src/renderer/api/gdmusic.ts b/src/renderer/api/gdmusic.ts index 40b6834..ef1eea4 100644 --- a/src/renderer/api/gdmusic.ts +++ b/src/renderer/api/gdmusic.ts @@ -1,6 +1,6 @@ import axios from 'axios'; -import type { MusicSourceType } from '@/type/music'; +import type { MusicSourceType } from '@/types/music'; /** * GD音乐台解析服务 diff --git a/src/renderer/api/home.ts b/src/renderer/api/home.ts index 83500de..aa7e6ef 100644 --- a/src/renderer/api/home.ts +++ b/src/renderer/api/home.ts @@ -1,10 +1,10 @@ -import { IData } from '@/type'; -import { IAlbumNew } from '@/type/album'; -import { IDayRecommend } from '@/type/day_recommend'; -import { IRecommendMusic } from '@/type/music'; -import { IPlayListSort } from '@/type/playlist'; -import { IHotSearch, ISearchKeyword } from '@/type/search'; -import { IHotSinger } from '@/type/singer'; +import { IData } from '@/types'; +import { IAlbumNew } from '@/types/album'; +import { IDayRecommend } from '@/types/day_recommend'; +import { IRecommendMusic } from '@/types/music'; +import { IPlayListSort } from '@/types/playlist'; +import { IHotSearch, ISearchKeyword } from '@/types/search'; +import { IHotSinger } from '@/types/singer'; import request from '@/utils/request'; interface IHotSingerParams { diff --git a/src/renderer/api/list.ts b/src/renderer/api/list.ts index 0ef0567..9d0cda3 100644 --- a/src/renderer/api/list.ts +++ b/src/renderer/api/list.ts @@ -1,5 +1,5 @@ -import { IList } from '@/type/list'; -import type { IListDetail } from '@/type/listDetail'; +import { IList } from '@/types/list'; +import type { IListDetail } from '@/types/listDetail'; import request from '@/utils/request'; interface IListByTagParams { diff --git a/src/renderer/api/music.ts b/src/renderer/api/music.ts index 8daee30..ca44719 100644 --- a/src/renderer/api/music.ts +++ b/src/renderer/api/music.ts @@ -2,8 +2,8 @@ import { cloneDeep } from 'lodash'; import { musicDB } from '@/hooks/MusicHook'; import { useSettingsStore, useUserStore } from '@/store'; -import type { ILyric } from '@/type/lyric'; -import type { SongResult } from '@/type/music'; +import type { ILyric } from '@/types/lyric'; +import type { SongResult } from '@/types/music'; import { isElectron } from '@/utils'; import request from '@/utils/request'; import requestMusic from '@/utils/request_music'; diff --git a/src/renderer/api/mv.ts b/src/renderer/api/mv.ts index fd7399e..9f2410d 100644 --- a/src/renderer/api/mv.ts +++ b/src/renderer/api/mv.ts @@ -1,5 +1,5 @@ -import { IData } from '@/type'; -import { IMvUrlData } from '@/type/mv'; +import { IData } from '@/types'; +import { IMvUrlData } from '@/types/mv'; import request from '@/utils/request'; interface MvParams { diff --git a/src/renderer/api/user.ts b/src/renderer/api/user.ts index 9217828..efe5094 100644 --- a/src/renderer/api/user.ts +++ b/src/renderer/api/user.ts @@ -1,4 +1,4 @@ -import type { IUserDetail, IUserFollow } from '@/type/user'; +import type { IUserDetail, IUserFollow } from '@/types/user'; import request from '@/utils/request'; // /user/detail diff --git a/src/renderer/components/MusicList.vue b/src/renderer/components/MusicList.vue index 53ecdbd..2e263c9 100644 --- a/src/renderer/components/MusicList.vue +++ b/src/renderer/components/MusicList.vue @@ -113,7 +113,7 @@ import { useI18n } from 'vue-i18n'; import { getMusicDetail } from '@/api/music'; import SongItem from '@/components/common/SongItem.vue'; import { usePlayerStore } from '@/store/modules/player'; -import { SongResult } from '@/type/music'; +import { SongResult } from '@/types/music'; import { getImgUrl, isMobile, setAnimationClass } from '@/utils'; import PlayBottom from './common/PlayBottom.vue'; diff --git a/src/renderer/components/MvPlayer.vue b/src/renderer/components/MvPlayer.vue index a7e1222..985616f 100644 --- a/src/renderer/components/MvPlayer.vue +++ b/src/renderer/components/MvPlayer.vue @@ -193,7 +193,7 @@ import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'; import { useI18n } from 'vue-i18n'; import { getMvUrl } from '@/api/mv'; -import { IMvItem } from '@/type/mv'; +import { IMvItem } from '@/types/mv'; const { t } = useI18n(); type PlayMode = 'single' | 'auto'; diff --git a/src/renderer/components/common/ArtistDrawer.vue b/src/renderer/components/common/ArtistDrawer.vue index fe14ee6..40b0e46 100644 --- a/src/renderer/components/common/ArtistDrawer.vue +++ b/src/renderer/components/common/ArtistDrawer.vue @@ -98,7 +98,7 @@ import { getMusicDetail } from '@/api/music'; import SearchItem from '@/components/common/SearchItem.vue'; import SongItem from '@/components/common/SongItem.vue'; import { usePlayerStore, useSettingsStore } from '@/store'; -import { IArtist } from '@/type/artist'; +import { IArtist } from '@/types/artist'; import { getImgUrl } from '@/utils'; import PlayBottom from './PlayBottom.vue'; diff --git a/src/renderer/components/common/SearchItem.vue b/src/renderer/components/common/SearchItem.vue index 450dcf3..b1b1751 100644 --- a/src/renderer/components/common/SearchItem.vue +++ b/src/renderer/components/common/SearchItem.vue @@ -37,7 +37,7 @@ import { getAlbum, getListDetail } from '@/api/list'; import MvPlayer from '@/components/MvPlayer.vue'; import { useMusicStore } from '@/store/modules/music'; import { usePlayerStore } from '@/store/modules/player'; -import { IMvItem } from '@/type/mv'; +import { IMvItem } from '@/types/mv'; import { getImgUrl } from '@/utils'; const props = withDefaults( diff --git a/src/renderer/components/common/SongItem.vue b/src/renderer/components/common/SongItem.vue index 7df0a8a..d7957aa 100644 --- a/src/renderer/components/common/SongItem.vue +++ b/src/renderer/components/common/SongItem.vue @@ -17,7 +17,7 @@