迁移搜索、播放启动参数支持
parent
303d712860
commit
9bec54c454
|
@ -21,7 +21,7 @@ export default () => {
|
|||
const id = decodeURIComponent(link)
|
||||
const playListId = `${source}__${decodeURIComponent(link)}`
|
||||
let list = (await getListDetail(id, source, 1)).list
|
||||
if (playIndex != null && list.length > playIndex) {
|
||||
if (playIndex == null || list.length > playIndex) {
|
||||
isPlayingList = true
|
||||
await setTempList(playListId, list)
|
||||
playList(tempList.id, getListPlayIndex(list, playIndex))
|
||||
|
|
|
@ -6,7 +6,7 @@ import { appSetting } from '@renderer/store/setting'
|
|||
import useSync from './useSync'
|
||||
import useUpdate from './useUpdate'
|
||||
import useDataInit from './useDataInit'
|
||||
// import useHandleEnvParams from './useHandleEnvParams'
|
||||
import useHandleEnvParams from './useHandleEnvParams'
|
||||
import useEventListener from './useEventListener'
|
||||
import useDeeplink from './useDeeplink'
|
||||
import usePlayer from './usePlayer'
|
||||
|
@ -29,7 +29,7 @@ export default () => {
|
|||
const initSyncService = useSync()
|
||||
useEventListener()
|
||||
const initPlayer = usePlayer()
|
||||
// const handleEnvParams = useHandleEnvParams()
|
||||
const handleEnvParams = useHandleEnvParams()
|
||||
const initData = useDataInit()
|
||||
const initDeeplink = useDeeplink()
|
||||
// const handleListAutoUpdate = useListAutoUpdate()
|
||||
|
@ -61,7 +61,7 @@ export default () => {
|
|||
// 初始化我的列表、下载列表等数据
|
||||
void initData().then(() => {
|
||||
initPlayer()
|
||||
// handleEnvParams(envParams) // 处理传入的启动参数
|
||||
handleEnvParams(envParams) // 处理传入的启动参数
|
||||
void initDeeplink(envParams)
|
||||
void initSyncService()
|
||||
handleListAutoUpdate()
|
||||
|
|
|
@ -37,13 +37,15 @@ const useSearchMusic = () => {
|
|||
if (isShowPlayerDetail.value) setShowPlayerDetail(false)
|
||||
const sourceList = [...sources, 'all']
|
||||
source = sourceList.includes(source) ? source : null
|
||||
router.replace({
|
||||
path: '/search',
|
||||
query: {
|
||||
text,
|
||||
source,
|
||||
},
|
||||
})
|
||||
setTimeout(() => {
|
||||
router.replace({
|
||||
path: '/search',
|
||||
query: {
|
||||
text,
|
||||
source,
|
||||
},
|
||||
})
|
||||
}, 500)
|
||||
focusWindow()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,90 +1,89 @@
|
|||
// import { useRouter } from '@common/utils/vueTools'
|
||||
// import { parseUrlParams } from '@common/utils/renderer'
|
||||
// import { defaultList, loveList, userLists } from '@renderer/store/list'
|
||||
// import { getList } from '@renderer/store/utils'
|
||||
// import usePlaySonglist from './compositions/usePlaySonglist'
|
||||
// import { setPlayList } from '@renderer/store/player'
|
||||
import { useRouter } from '@common/utils/vueRouter'
|
||||
import { parseUrlParams } from '@common/utils/common'
|
||||
import { defaultList, loveList, userLists } from '@renderer/store/list/state'
|
||||
import { getListMusics } from '@renderer/store/list/action'
|
||||
import usePlaySonglist from './compositions/usePlaySonglist'
|
||||
import { playList } from '@renderer/core/player'
|
||||
|
||||
// const getListPlayIndex = (list: LX.Music.MusicInfo[], indexStr?: string): number => {
|
||||
// let index: number
|
||||
// if (indexStr == null) {
|
||||
// index = 1
|
||||
// } else {
|
||||
// index = parseInt(indexStr)
|
||||
// if (Number.isNaN(index)) {
|
||||
// index = 1
|
||||
// } else {
|
||||
// if (index < 1) index = 1
|
||||
// else if (index > list.length) index = list.length
|
||||
// }
|
||||
// }
|
||||
// return index - 1
|
||||
// }
|
||||
const getListPlayIndex = (list: LX.Music.MusicInfo[], indexStr?: string): number => {
|
||||
let index: number
|
||||
if (indexStr == null) {
|
||||
index = 1
|
||||
} else {
|
||||
index = parseInt(indexStr)
|
||||
if (Number.isNaN(index)) {
|
||||
index = 1
|
||||
} else {
|
||||
if (index < 1) index = 1
|
||||
else if (index > list.length) index = list.length
|
||||
}
|
||||
}
|
||||
return index - 1
|
||||
}
|
||||
|
||||
// const useInitEnvParamSearch = () => {
|
||||
// const router = useRouter()
|
||||
const useInitEnvParamSearch = () => {
|
||||
const router = useRouter()
|
||||
|
||||
// return (search?: string) => {
|
||||
// if (search == null) return
|
||||
// void router.push({
|
||||
// path: 'search',
|
||||
// query: {
|
||||
// text: search,
|
||||
// },
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// const useInitEnvParamPlay = () => {
|
||||
// // const setPlayList = useCommit('player', 'setList')
|
||||
return (search?: string) => {
|
||||
if (search == null) return
|
||||
setTimeout(() => {
|
||||
void router.replace({
|
||||
path: '/search',
|
||||
query: {
|
||||
text: search,
|
||||
},
|
||||
})
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
const useInitEnvParamPlay = () => {
|
||||
// const setPlayList = useCommit('player', 'setList')
|
||||
|
||||
// const playSongListDetail = usePlaySonglist()
|
||||
const playSongListDetail = usePlaySonglist()
|
||||
|
||||
// return (playStr?: string) => {
|
||||
// if (playStr == null || typeof playStr != 'string') return
|
||||
// // -play="source=kw&link=链接、ID"
|
||||
// // -play="source=myList&name=名字"
|
||||
// // -play="source=myList&name=名字&index=位置"
|
||||
// const params = parseUrlParams(playStr)
|
||||
// if (params.type != 'songList') return
|
||||
// switch (params.source) {
|
||||
// case 'myList':
|
||||
// if (params.name != null) {
|
||||
// let targetList
|
||||
// const lists = [defaultList, loveList, ...userLists]
|
||||
// for (const list of lists) {
|
||||
// if (list.name === params.name) {
|
||||
// targetList = list
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
// if (!targetList) return
|
||||
return async(playStr?: string) => {
|
||||
if (playStr == null || typeof playStr != 'string') return
|
||||
// -play="source=kw&link=链接、ID"
|
||||
// -play="source=myList&name=名字"
|
||||
// -play="source=myList&name=名字&index=位置"
|
||||
const params = parseUrlParams(playStr)
|
||||
if (params.type != 'songList') return
|
||||
switch (params.source) {
|
||||
case 'myList':
|
||||
if (params.name != null) {
|
||||
let targetList
|
||||
const lists = [defaultList, loveList, ...userLists]
|
||||
for (const list of lists) {
|
||||
if (list.name === params.name) {
|
||||
targetList = list
|
||||
break
|
||||
}
|
||||
}
|
||||
if (!targetList) return
|
||||
|
||||
// setPlayList({
|
||||
// listId: targetList.id,
|
||||
// index: getListPlayIndex(getList(targetList.id), params.index),
|
||||
// })
|
||||
// }
|
||||
// break
|
||||
// case 'kw':
|
||||
// case 'kg':
|
||||
// case 'tx':
|
||||
// case 'mg':
|
||||
// case 'wy':
|
||||
// playSongListDetail(params.source, params.link, params.index)
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
playList(targetList.id, getListPlayIndex(await getListMusics(targetList.id), params.index))
|
||||
}
|
||||
break
|
||||
case 'kw':
|
||||
case 'kg':
|
||||
case 'tx':
|
||||
case 'mg':
|
||||
case 'wy':
|
||||
void playSongListDetail(params.source, params.link, parseInt(params.index))
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// export default () => {
|
||||
// // 处理启动参数 search
|
||||
// const initEnvParamSearch = useInitEnvParamSearch()
|
||||
export default () => {
|
||||
// 处理启动参数 search
|
||||
const initEnvParamSearch = useInitEnvParamSearch()
|
||||
|
||||
// // 处理启动参数 play
|
||||
// const initEnvParamPlay = useInitEnvParamPlay()
|
||||
// 处理启动参数 play
|
||||
const initEnvParamPlay = useInitEnvParamPlay()
|
||||
|
||||
// return (envParams: LX.EnvParams) => {
|
||||
// initEnvParamSearch(envParams.cmdParams.search)
|
||||
// initEnvParamPlay(envParams.cmdParams.play)
|
||||
// }
|
||||
// }
|
||||
return (envParams: LX.EnvParams) => {
|
||||
initEnvParamSearch(envParams.cmdParams.search)
|
||||
void initEnvParamPlay(envParams.cmdParams.play)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ if (appSetting['search.isShowHistorySearch']) {
|
|||
const router = useRouter()
|
||||
const handleSearch = (text) => {
|
||||
router.replace({
|
||||
path: 'search',
|
||||
path: '/search',
|
||||
query: {
|
||||
text,
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue