From d610362a730249c5aa49dcfa49fe797106c17643 Mon Sep 17 00:00:00 2001 From: ikun Date: Sat, 7 Sep 2024 10:41:38 +0800 Subject: [PATCH] 1 --- android/app/src/main/assets/script/user-api-preload.js | 4 ++-- src/lang/en_us.json | 1 + src/lang/zh_cn.json | 1 + .../Home/Views/Mylist/MusicList/MusicDownloadModal.tsx | 1 + src/screens/Home/Views/Mylist/MusicList/listAction.ts | 2 +- .../Views/Setting/settings/Player/SelectPlayQuality.tsx | 5 +++++ src/types/common.d.ts | 2 +- src/utils/musicSdk/api-source-info.ts | 4 ++-- src/utils/musicSdk/tx/leaderboard.js | 7 +++++++ src/utils/musicSdk/tx/musicInfo.js | 7 +++++++ src/utils/musicSdk/tx/musicSearch.js | 7 +++++++ src/utils/musicSdk/tx/songList.js | 7 +++++++ src/utils/musicSdk/utils.js | 2 +- src/utils/musicSdk/wy/musicDetail.js | 7 +++++++ src/utils/musicSdk/wy/musicSearch.js | 8 ++++++++ src/utils/musicSdk/wy/songList.js | 7 +++++++ 16 files changed, 65 insertions(+), 7 deletions(-) diff --git a/android/app/src/main/assets/script/user-api-preload.js b/android/app/src/main/assets/script/user-api-preload.js index 12b79d6..7b1f4a4 100644 --- a/android/app/src/main/assets/script/user-api-preload.js +++ b/android/app/src/main/assets/script/user-api-preload.js @@ -153,8 +153,8 @@ globalThis.lx_setup = (key, id, name, description, version, author, homepage, ra const supportQualitys = { kw: ['128k', '320k', 'flac', 'flac24bit'], kg: ['128k', '320k', 'flac', 'flac24bit'], - tx: ['128k', '320k', 'flac', 'flac24bit'], - wy: ['128k', '320k', 'flac', 'flac24bit'], + tx: ['128k', '320k', 'flac', 'flac24bit', 'master'], + wy: ['128k', '320k', 'flac', 'flac24bit', 'master'], mg: ['128k', '320k', 'flac', 'flac24bit'], local: [], } diff --git a/src/lang/en_us.json b/src/lang/en_us.json index 713cfc2..412b735 100644 --- a/src/lang/en_us.json +++ b/src/lang/en_us.json @@ -204,6 +204,7 @@ "quality_high_quality": "HQ", "quality_lossless": "SQ", "quality_lossless_24bit": "Hires", + "quality_master": "Master", "search__welcome": "Search what I want~~😉", "search_history_search": "History search", "search_hot_search": "popular searches", diff --git a/src/lang/zh_cn.json b/src/lang/zh_cn.json index c2df4fe..a4ba7ce 100644 --- a/src/lang/zh_cn.json +++ b/src/lang/zh_cn.json @@ -204,6 +204,7 @@ "quality_high_quality": "HQ", "quality_lossless": "SQ", "quality_lossless_24bit": "Hires", + "quality_master": "臻品母带", "search__welcome": "搜我所想~~😉", "search_history_search": "历史搜索", "search_hot_search": "热门搜索", diff --git a/src/screens/Home/Views/Mylist/MusicList/MusicDownloadModal.tsx b/src/screens/Home/Views/Mylist/MusicList/MusicDownloadModal.tsx index c89461c..7b40d2d 100644 --- a/src/screens/Home/Views/Mylist/MusicList/MusicDownloadModal.tsx +++ b/src/screens/Home/Views/Mylist/MusicList/MusicDownloadModal.tsx @@ -70,6 +70,7 @@ export default forwardRef(({ on map.set("320k", "高品音质"); map.set("flac", "无损音质"); map.set("flac24bit", "Hi-Res音质"); + map.set("master", "臻品母带"); const qualitys = selectedInfo.current.meta.qualitys; let qualityMap: QualityMap = {}; diff --git a/src/screens/Home/Views/Mylist/MusicList/listAction.ts b/src/screens/Home/Views/Mylist/MusicList/listAction.ts index f23e304..727bdbf 100644 --- a/src/screens/Home/Views/Mylist/MusicList/listAction.ts +++ b/src/screens/Home/Views/Mylist/MusicList/listAction.ts @@ -56,7 +56,7 @@ export const handelDownload = (musicInfo: any, quality: LX.Quality) => { console.log(url); const extension = getFileExtension(url); const fileName = musicInfo.name; - const downloadDir = RNFetchBlob.fs.dirs.DownloadDir + "/lx.music"; + const downloadDir = RNFetchBlob.fs.dirs.DownloadDir + "/lxmusicmod"; const path = `${downloadDir}/${fileName}.${extension}` const config = { fileCache: true, diff --git a/src/screens/Home/Views/Setting/settings/Player/SelectPlayQuality.tsx b/src/screens/Home/Views/Setting/settings/Player/SelectPlayQuality.tsx index 4c5af20..3f26420 100644 --- a/src/screens/Home/Views/Setting/settings/Player/SelectPlayQuality.tsx +++ b/src/screens/Home/Views/Setting/settings/Player/SelectPlayQuality.tsx @@ -35,6 +35,11 @@ export default memo(() => { id: "flac24bit", key: "flac24bit", name: "Hi-Res音质" + }, + { + id: "master", + key: "master", + name: "臻品母带" } ]); }, []) diff --git a/src/types/common.d.ts b/src/types/common.d.ts index df0bd46..4bacca5 100644 --- a/src/types/common.d.ts +++ b/src/types/common.d.ts @@ -3,7 +3,7 @@ declare namespace LX { type OnlineSource = 'kw' | 'kg' | 'tx' | 'wy' | 'mg' type Source = OnlineSource | 'local' - type Quality = '128k' | '320k' | 'flac' | 'flac24bit' | '192k' | 'ape' | 'wav' + type Quality = '128k' | '320k' | 'flac' | 'flac24bit' | 'master' | '192k' | 'ape' | 'wav' type type QualityList = Partial> diff --git a/src/utils/musicSdk/api-source-info.ts b/src/utils/musicSdk/api-source-info.ts index cc8bb2a..6b82bf0 100644 --- a/src/utils/musicSdk/api-source-info.ts +++ b/src/utils/musicSdk/api-source-info.ts @@ -13,8 +13,8 @@ const sources: Array<{ supportQualitys: { kw: ['128k', '320k', 'flac', 'flac24bit'], kg: ['128k', '320k', 'flac', 'flac24bit'], - tx: ['128k', '320k', 'flac', 'flac24bit'], - wy: ['128k', '320k', 'flac', 'flac24bit'], + tx: ['128k', '320k', 'flac', 'flac24bit', 'master'], + wy: ['128k', '320k', 'flac', 'flac24bit', 'master'], mg: ['128k', '320k', 'flac', 'flac24bit'], }, }, diff --git a/src/utils/musicSdk/tx/leaderboard.js b/src/utils/musicSdk/tx/leaderboard.js index 2f3f4eb..2f075f6 100644 --- a/src/utils/musicSdk/tx/leaderboard.js +++ b/src/utils/musicSdk/tx/leaderboard.js @@ -138,6 +138,13 @@ export default { size, } } + if (file.size_new[0] !== 0) { + let size = sizeFormate(file.size_new) + types.push({ type: 'master', size }) + _types.master = { + size, + } + } // types.reverse() return { singer: formatSingerName(item.singer, 'name'), diff --git a/src/utils/musicSdk/tx/musicInfo.js b/src/utils/musicSdk/tx/musicInfo.js index b490a3c..7d9389c 100644 --- a/src/utils/musicSdk/tx/musicInfo.js +++ b/src/utils/musicSdk/tx/musicInfo.js @@ -68,6 +68,13 @@ export default (songmid) => { size, } } + if (file.size_new[0] !== 0) { + let size = sizeFormate(file.size_new) + types.push({ type: 'master', size }) + _types.master = { + size, + } + } // types.reverse() let albumId = '' let albumName = '' diff --git a/src/utils/musicSdk/tx/musicSearch.js b/src/utils/musicSdk/tx/musicSearch.js index a83554c..07496ea 100644 --- a/src/utils/musicSdk/tx/musicSearch.js +++ b/src/utils/musicSdk/tx/musicSearch.js @@ -86,6 +86,13 @@ export default { size, } } + if (file.size_new[0] !== 0) { + let size = sizeFormate(file.size_new) + types.push({ type: 'master', size }) + _types.master = { + size, + } + } // types.reverse() let albumId = '' let albumName = '' diff --git a/src/utils/musicSdk/tx/songList.js b/src/utils/musicSdk/tx/songList.js index aa6c163..3885e85 100644 --- a/src/utils/musicSdk/tx/songList.js +++ b/src/utils/musicSdk/tx/songList.js @@ -258,6 +258,13 @@ export default { size, } } + if (file.size_new[0] !== 0) { + let size = sizeFormate(file.size_new) + types.push({ type: 'master', size }) + _types.master = { + size, + } + } // types.reverse() return { singer: formatSingerName(item.singer, 'name'), diff --git a/src/utils/musicSdk/utils.js b/src/utils/musicSdk/utils.js index 167c531..5cb5069 100644 --- a/src/utils/musicSdk/utils.js +++ b/src/utils/musicSdk/utils.js @@ -7,7 +7,7 @@ import { decodeName } from '../common' * @param {*} type */ -export const QUALITYS = ['flac24bit', 'flac', 'wav', 'ape', '320k', '192k', '128k'] +export const QUALITYS = ['master', 'flac24bit', 'flac', 'wav', 'ape', '320k', '192k', '128k'] export const getMusicType = (info, type) => { const list = global.lx.qualityList[info.source] if (!list) return '128k' diff --git a/src/utils/musicSdk/wy/musicDetail.js b/src/utils/musicSdk/wy/musicDetail.js index ba8d2af..a42a827 100644 --- a/src/utils/musicSdk/wy/musicDetail.js +++ b/src/utils/musicSdk/wy/musicDetail.js @@ -22,6 +22,13 @@ export default { if (privilege.id !== item.id) privilege = privileges.find(p => p.id === item.id) if (!privilege) return + if (item.privilege.maxBrLevel == 'jymaster') { + size = item.ms ? sizeFormate(item.ms.size) : null + types.push({ type: 'master', size }) + _types.master = { + size, + } + } if (privilege.maxBrLevel == 'hires') { size = item.hr ? sizeFormate(item.hr.size) : null types.push({ type: 'flac24bit', size }) diff --git a/src/utils/musicSdk/wy/musicSearch.js b/src/utils/musicSdk/wy/musicSearch.js index 3202499..8ffb22d 100644 --- a/src/utils/musicSdk/wy/musicSearch.js +++ b/src/utils/musicSdk/wy/musicSearch.js @@ -34,6 +34,14 @@ export default { const _types = {} let size + if (item.privilege.maxBrLevel == 'jymaster') { + size = item.ms ? sizeFormate(item.ms.size) : null + types.push({ type: 'master', size }) + _types.master = { + size, + } + } + if (item.privilege.maxBrLevel == 'hires') { size = item.hr ? sizeFormate(item.hr.size) : null types.push({ type: 'flac24bit', size }) diff --git a/src/utils/musicSdk/wy/songList.js b/src/utils/musicSdk/wy/songList.js index acc1cc2..34fae9e 100644 --- a/src/utils/musicSdk/wy/songList.js +++ b/src/utils/musicSdk/wy/songList.js @@ -137,6 +137,13 @@ export default { if (privilege.id !== item.id) privilege = privileges.find(p => p.id === item.id) if (!privilege) return + if (item.privilege.maxBrLevel == 'jymaster') { + size = item.ms ? sizeFormate(item.ms.size) : null + types.push({ type: 'master', size }) + _types.master = { + size, + } + } if (privilege.maxBrLevel == 'hires') { size = item.hr ? sizeFormate(item.hr.size) : null types.push({ type: 'flac24bit', size })