mirror of
https://github.com/ikun0014/lx-music-mobile.git
synced 2025-05-23 22:37:41 +08:00
37 lines
1.5 KiB
TypeScript
37 lines
1.5 KiB
TypeScript
import { readMetadata } from '@/utils/localMediaMetadata'
|
|
import { handleImportList } from '@/screens/Home/Views/Setting/settings/Backup/actions'
|
|
import { handleImportLocalFile } from '@/screens/Home/Views/Setting/settings/Basic/UserApiEditModal/action'
|
|
import { type FileType } from '@/utils/fs'
|
|
import { confirmDialog } from '@/utils/tools'
|
|
import playerState from '@/store/player/state'
|
|
import { addTempPlayList } from '@/core/player/tempPlayList'
|
|
import { LIST_IDS } from '@/config/constant'
|
|
import { playNext } from '@/core/player/player'
|
|
import { buildLocalMusicInfo, buildLocalMusicInfoByFilePath } from '@/screens/Home/Views/Mylist/MyList/listAction'
|
|
|
|
|
|
export const handleFileLXMCAction = async(file: FileType) => {
|
|
if (!(await confirmDialog({
|
|
message: global.i18n.t('deep_link_file_lxmc_confirm_tip', { name: file.name }),
|
|
}))) return
|
|
|
|
handleImportList(file.path)
|
|
}
|
|
|
|
export const handleFileMusicAction = async(file: FileType) => {
|
|
const info = await readMetadata(file.path)
|
|
const isPlaying = !!playerState.playMusicInfo.musicInfo
|
|
const musicInfo = info ? buildLocalMusicInfo(file.path, info) : buildLocalMusicInfoByFilePath(file)
|
|
console.log(musicInfo)
|
|
addTempPlayList([{ listId: LIST_IDS.PLAY_LATER, musicInfo, isTop: true }])
|
|
if (isPlaying) void playNext()
|
|
}
|
|
|
|
export const handleFileJSAction = async(file: FileType) => {
|
|
if (!(await confirmDialog({
|
|
message: global.i18n.t('deep_link_file_js_confirm_tip', { name: file.name }),
|
|
}))) return
|
|
|
|
handleImportLocalFile(file.path)
|
|
}
|