尝试修复软件启动时恢复上一次播放的歌曲可能导致软件崩溃的问题

This commit is contained in:
lyswhut 2021-05-24 10:43:46 +08:00
parent 4322a216a9
commit f8b296645a
8 changed files with 11 additions and 9 deletions

View File

@ -60,11 +60,14 @@ const init = () => {
initMusicTools()
getPlayInfo().then(info => {
if (!info) return
global.restorePlayInfo = info
if (info.listId != LIST_ID_PLAY_TEMP) {
info.list = global.allList[info.listId]
if (info.list) info.list = info.list.list
}
if (!info.list || !info.list[info.index]) return
global.restorePlayInfo = info
store.dispatch(playerAction.setList({
list: {
list: info.list,

View File

@ -1,5 +1,3 @@
### 修复
- 修复手机分享的wy歌单、某些tx、kg歌单无法打开的问题
- 修复打开空的歌单时,点击播放全部会导致应用崩溃的问题
- 修复企鹅音乐搜索歌曲没有结果的问题
- 尝试修复软件启动时恢复上一次播放的歌曲可能导致软件崩溃的问题

View File

@ -20,7 +20,7 @@ export default memo(() => {
const handlePlayAll = useCallback(async() => {
if (!listDetailData.info.name) return
const list = await getListDetailAll(selectListInfo.id)
if (!list.length) return
// if (!list.length) return
setPlayList({
list: {
list,

View File

@ -2,7 +2,7 @@ import React, { memo } from 'react'
import { View, Text, StyleSheet, ImageBackground } from 'react-native'
import { AppColors, BorderWidths } from '@/theme'
import { useGetter } from '@/store'
import ButtonBar from './ButtonBar'
import ButtonBar from './ActionBar'
const Header = memo(() => {
const selectListInfo = useGetter('songList', 'selectListInfo')

View File

@ -35,7 +35,7 @@ export default () => {
}, [playMusicInfo, setJumpPosition, setNavActiveIndex, setPrevSelectListId])
useEffect(() => {
const url = playMusicInfo ? playMusicInfo.musicInfo.img : null
const url = playMusicInfo && playMusicInfo.musicInfo ? playMusicInfo.musicInfo.img : null
if (imgUrl == url) return
setImgUrl(url)
// eslint-disable-next-line react-hooks/exhaustive-deps

View File

@ -8,7 +8,7 @@ export default () => {
const downloadFileName = useGetter('common', 'downloadFileName')
const playMusicInfo = useGetter('player', 'playMusicInfo')
let title = '^-^'
if (playMusicInfo) {
if (playMusicInfo && playMusicInfo.musicInfo) {
title = downloadFileName.replace('歌手', playMusicInfo.musicInfo.singer).replace('歌名', playMusicInfo.musicInfo.name)
}
// console.log(playMusicInfo)

View File

@ -515,6 +515,7 @@ export const getLrc = musicInfo => async(dispatch, getState) => {
}
export const setList = ({ list, index }) => (dispatch, getState) => {
if (!(list && list.list && list.list[index])) return
dispatch(setListInfo(list))
const state = getState()

View File

@ -1,5 +1,5 @@
import { createSelector } from 'reselect'
import { LIST_ID_PLAY_TEMP, LIST_ID_PLAY_LATER } from '@/config/constant'
import { LIST_ID_PLAY_LATER } from '@/config/constant'
// sourceInfo(state, getters, rootState, { sourceNames }) {