This commit is contained in:
ikun 2024-09-07 10:41:38 +08:00
parent 72487387ee
commit d610362a73
16 changed files with 65 additions and 7 deletions

View File

@ -153,8 +153,8 @@ globalThis.lx_setup = (key, id, name, description, version, author, homepage, ra
const supportQualitys = { const supportQualitys = {
kw: ['128k', '320k', 'flac', 'flac24bit'], kw: ['128k', '320k', 'flac', 'flac24bit'],
kg: ['128k', '320k', 'flac', 'flac24bit'], kg: ['128k', '320k', 'flac', 'flac24bit'],
tx: ['128k', '320k', 'flac', 'flac24bit'], tx: ['128k', '320k', 'flac', 'flac24bit', 'master'],
wy: ['128k', '320k', 'flac', 'flac24bit'], wy: ['128k', '320k', 'flac', 'flac24bit', 'master'],
mg: ['128k', '320k', 'flac', 'flac24bit'], mg: ['128k', '320k', 'flac', 'flac24bit'],
local: [], local: [],
} }

View File

@ -204,6 +204,7 @@
"quality_high_quality": "HQ", "quality_high_quality": "HQ",
"quality_lossless": "SQ", "quality_lossless": "SQ",
"quality_lossless_24bit": "Hires", "quality_lossless_24bit": "Hires",
"quality_master": "Master",
"search__welcome": "Search what I want~~😉", "search__welcome": "Search what I want~~😉",
"search_history_search": "History search", "search_history_search": "History search",
"search_hot_search": "popular searches", "search_hot_search": "popular searches",

View File

@ -204,6 +204,7 @@
"quality_high_quality": "HQ", "quality_high_quality": "HQ",
"quality_lossless": "SQ", "quality_lossless": "SQ",
"quality_lossless_24bit": "Hires", "quality_lossless_24bit": "Hires",
"quality_master": "臻品母带",
"search__welcome": "搜我所想~~😉", "search__welcome": "搜我所想~~😉",
"search_history_search": "历史搜索", "search_history_search": "历史搜索",
"search_hot_search": "热门搜索", "search_hot_search": "热门搜索",

View File

@ -70,6 +70,7 @@ export default forwardRef<MusicDownloadModalType, MusicDownloadModalProps>(({ on
map.set("320k", "高品音质"); map.set("320k", "高品音质");
map.set("flac", "无损音质"); map.set("flac", "无损音质");
map.set("flac24bit", "Hi-Res音质"); map.set("flac24bit", "Hi-Res音质");
map.set("master", "臻品母带");
const qualitys = selectedInfo.current.meta.qualitys; const qualitys = selectedInfo.current.meta.qualitys;
let qualityMap: QualityMap = {}; let qualityMap: QualityMap = {};

View File

@ -56,7 +56,7 @@ export const handelDownload = (musicInfo: any, quality: LX.Quality) => {
console.log(url); console.log(url);
const extension = getFileExtension(url); const extension = getFileExtension(url);
const fileName = musicInfo.name; 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 path = `${downloadDir}/${fileName}.${extension}`
const config = { const config = {
fileCache: true, fileCache: true,

View File

@ -35,6 +35,11 @@ export default memo(() => {
id: "flac24bit", id: "flac24bit",
key: "flac24bit", key: "flac24bit",
name: "Hi-Res音质" name: "Hi-Res音质"
},
{
id: "master",
key: "master",
name: "臻品母带"
} }
]); ]);
}, []) }, [])

View File

@ -3,7 +3,7 @@
declare namespace LX { declare namespace LX {
type OnlineSource = 'kw' | 'kg' | 'tx' | 'wy' | 'mg' type OnlineSource = 'kw' | 'kg' | 'tx' | 'wy' | 'mg'
type Source = OnlineSource | 'local' 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
type QualityList = Partial<Record<LX.Source, LX.Quality[]>> type QualityList = Partial<Record<LX.Source, LX.Quality[]>>

View File

@ -13,8 +13,8 @@ const sources: Array<{
supportQualitys: { supportQualitys: {
kw: ['128k', '320k', 'flac', 'flac24bit'], kw: ['128k', '320k', 'flac', 'flac24bit'],
kg: ['128k', '320k', 'flac', 'flac24bit'], kg: ['128k', '320k', 'flac', 'flac24bit'],
tx: ['128k', '320k', 'flac', 'flac24bit'], tx: ['128k', '320k', 'flac', 'flac24bit', 'master'],
wy: ['128k', '320k', 'flac', 'flac24bit'], wy: ['128k', '320k', 'flac', 'flac24bit', 'master'],
mg: ['128k', '320k', 'flac', 'flac24bit'], mg: ['128k', '320k', 'flac', 'flac24bit'],
}, },
}, },

View File

@ -138,6 +138,13 @@ export default {
size, size,
} }
} }
if (file.size_new[0] !== 0) {
let size = sizeFormate(file.size_new)
types.push({ type: 'master', size })
_types.master = {
size,
}
}
// types.reverse() // types.reverse()
return { return {
singer: formatSingerName(item.singer, 'name'), singer: formatSingerName(item.singer, 'name'),

View File

@ -68,6 +68,13 @@ export default (songmid) => {
size, size,
} }
} }
if (file.size_new[0] !== 0) {
let size = sizeFormate(file.size_new)
types.push({ type: 'master', size })
_types.master = {
size,
}
}
// types.reverse() // types.reverse()
let albumId = '' let albumId = ''
let albumName = '' let albumName = ''

View File

@ -86,6 +86,13 @@ export default {
size, size,
} }
} }
if (file.size_new[0] !== 0) {
let size = sizeFormate(file.size_new)
types.push({ type: 'master', size })
_types.master = {
size,
}
}
// types.reverse() // types.reverse()
let albumId = '' let albumId = ''
let albumName = '' let albumName = ''

View File

@ -258,6 +258,13 @@ export default {
size, size,
} }
} }
if (file.size_new[0] !== 0) {
let size = sizeFormate(file.size_new)
types.push({ type: 'master', size })
_types.master = {
size,
}
}
// types.reverse() // types.reverse()
return { return {
singer: formatSingerName(item.singer, 'name'), singer: formatSingerName(item.singer, 'name'),

View File

@ -7,7 +7,7 @@ import { decodeName } from '../common'
* @param {*} type * @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) => { export const getMusicType = (info, type) => {
const list = global.lx.qualityList[info.source] const list = global.lx.qualityList[info.source]
if (!list) return '128k' if (!list) return '128k'

View File

@ -22,6 +22,13 @@ export default {
if (privilege.id !== item.id) privilege = privileges.find(p => p.id === item.id) if (privilege.id !== item.id) privilege = privileges.find(p => p.id === item.id)
if (!privilege) return 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') { if (privilege.maxBrLevel == 'hires') {
size = item.hr ? sizeFormate(item.hr.size) : null size = item.hr ? sizeFormate(item.hr.size) : null
types.push({ type: 'flac24bit', size }) types.push({ type: 'flac24bit', size })

View File

@ -34,6 +34,14 @@ export default {
const _types = {} const _types = {}
let size 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') { if (item.privilege.maxBrLevel == 'hires') {
size = item.hr ? sizeFormate(item.hr.size) : null size = item.hr ? sizeFormate(item.hr.size) : null
types.push({ type: 'flac24bit', size }) types.push({ type: 'flac24bit', size })

View File

@ -137,6 +137,13 @@ export default {
if (privilege.id !== item.id) privilege = privileges.find(p => p.id === item.id) if (privilege.id !== item.id) privilege = privileges.find(p => p.id === item.id)
if (!privilege) return 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') { if (privilege.maxBrLevel == 'hires') {
size = item.hr ? sizeFormate(item.hr.size) : null size = item.hr ? sizeFormate(item.hr.size) : null
types.push({ type: 'flac24bit', size }) types.push({ type: 'flac24bit', size })