修复频道prefer源被删除导致的bug

This commit is contained in:
buvta
2021-01-22 16:02:29 +08:00
parent a38b9aed56
commit 3a78425e7f
2 changed files with 13 additions and 3 deletions

View File

@@ -274,8 +274,13 @@ export default {
if (e.url) {
this.video = { iptv: e }
} else {
const prefer = e.prefer ? e.channels.find(c => c.id === e.prefer) : e.channels.filter(c => c.isActive)[0]
if (!prefer) return
let prefer
if (e.prefer) prefer = e.channels.find(c => c.id === e.prefer)
if (!prefer) prefer = e.channels.filter(c => c.isActive)[0]
if (!prefer) {
this.$message.error('当前频道所有源已全部停用,不可播放!')
return
}
this.video = { iptv: prefer }
}
this.view = 'Play'
@@ -298,6 +303,7 @@ export default {
ele.channels.splice(ele.channels.findIndex(e => e.id === row.id), 1)
channelList.remove(row.channelID)
if (ele.channels.length) {
if (ele.prefer === row.id) delete ele.prefer
if (ele.channels.length === 1) ele.hasChildren = false
channelList.add(ele)
this.$set(this.$refs.iptvTable.store.states.lazyTreeNodeMap, ele.id, ele.channels)
@@ -614,6 +620,7 @@ export default {
channel.status = '失效'
channel.isActive = false
if (this.setting.autocleanWhenIptvCheck) {
if (ele.prefer === channel.id) delete ele.prefer
ele.channels.splice(ele.channels.findIndex(e => e.id === channel.id), 1)
ele.hasCheckedNum--
}

View File

@@ -581,8 +581,11 @@ export default {
playChannel (channel) {
this.isLive = true
if (channel.channels) {
let prefer
this.right.sources = channel.channels.filter(e => e.isActive)
channel = channel.prefer ? channel.channels.find(e => e.id === channel.prefer) : channel.channels.filter(e => e.isActive)[0]
if (channel.prefer) prefer = channel.channels.find(e => e.id === channel.prefer)
if (!prefer) prefer = channel.channels.filter(e => e.isActive)[0]
channel = prefer
} else {
const ele = this.channelList.find(e => e.id === channel.channelID)
ele.prefer = channel.id