This commit is contained in:
lcw
2026-03-24 12:18:39 +08:00
parent c181530639
commit 60de16032f
49 changed files with 16031 additions and 12706 deletions

View File

@ -30,20 +30,40 @@ const countdown = ref(0) // 倒计时时间(秒)
// 音频播放器实例映射
const audioPlayers = ref({
'01': null, // 预警信息
'02': null, // 信息上报
'03': null, // 研判审批
'04': null, // 研判指令
'05': null, // 线索下发,
'06': null, // 警情监测
'07': null, // 线索处理
'08': null, // 线索下发
'09': null, // 线索处理
'10': null, // 林安码
'11': null, // 发布了新的线索
'12': null, // 有新的研判指令
'13': null, // 有新的研判约稿通知
'14': null, // 有新的公文发布
'15': null, // 有新的待审核工作(补发音效)
})
// 音频文件路径映射
const audioPaths = {
'02': require('@/assets/images/cjyp.mp3'),
'03': require('@/assets/images/ypbg.mp3'),
'04': require('@/assets/images/ypzl.mp3'),
'05': require('@/assets/images/xsyp.mp3'),
'06': require('@/assets/images/jqjc.mp3')
'01': require('@/assets/images/01.mp3'),//高级预计信息前置
'02': require('@/assets/images/02.mp3'),//一般预警信息前置
'03': require('@/assets/images/03.mp3'),//信息前置
'04': require('@/assets/images/04.mp3'),//红色预警
'05': require('@/assets/images/05.mp3'),//新的重点人
'06': require('@/assets/images/06.mp3'),//一级临控预警
'07': require('@/assets/images/07.mp3'),//有新的布控预警情
'08': require('@/assets/images/08.mp3'),//有新的标签预警
'09': require('@/assets/images/09.mp3'),//信息汇聚系统有新信息
'10': require('@/assets/images/10.mp3'),//林安码
'11': require('@/assets/images/11.mp3'),//发布了新的线索
'12': require('@/assets/images/12.mp3'),//有新的研判指令
'13': require('@/assets/images/13.mp3'),//有新的研判约稿通知
'14': require('@/assets/images/14.mp3'),//有新的公文发布
'15': require('@/assets/images/16.mp3'),//有新的警情监测预警,请注意查收
}
// 初始化音频播放器
@ -59,14 +79,85 @@ const initAudioPlayers = () => {
}
// 根据类型播放音频
const playAudioByType = (type) => {
if (audioPlayers.value[type]) {
try {
audioPlayers.value[type].play()
} catch (error) {
console.error(`播放类型${type}的音频失败:`, error)
}
const playAudioByType = (val) => {
switch (val.typeMasgeLx) {
case '01'://预警
// 01 布控预警、02 七类重点人、03 政保
switch (val.yjlb) {
case '01':
switch (val.yjJb) {
case '01':
audioPlayers.value['01'].play()
audioPlayers.value['06'].play()
break;
default:
audioPlayers.value['02'].play()
audioPlayers.value['07'].play()
break;
}
break
case '02':
switch (val.yjJb) {
case '01':
audioPlayers.value['01'].play()
audioPlayers.value['04'].play()
break;
default:
audioPlayers.value['02'].play()
audioPlayers.value['05'].play()
break;
}
break
case '03':
break
}
break
case '02'://信息汇聚
audioPlayers.value['03'].play()
audioPlayers.value['09'].play()
break
case '03'://约稿
audioPlayers.value['03'].play()
audioPlayers.value['13'].play()
break
case '04'://指令
audioPlayers.value['03'].play()
audioPlayers.value['12'].play()
break
case '05'://新线索
audioPlayers.value['03'].play()
audioPlayers.value['11'].play()
break
case '06'://监测
audioPlayers.value['02'].play()
audioPlayers.value['15'].play()
break
// case '07':
// audioPlayers.value['07'].play()
// break
case '08'://林安码
audioPlayers.value['03'].play()
audioPlayers.value['10'].play()
break
// case '10':
// audioPlayers.value['10'].play()
// break
default:
break
}
// if (audioPlayers.value[type]) {
// try {
// audioPlayers.value[type].play()
// } catch (error) {
// console.error(`播放类型${type}的音频失败:`, error)
// }
// }
}
// 手动关闭
const handleClose = () => {
@ -108,7 +199,7 @@ onMounted(() => {
dataList.value = newsDate
// dataList.value.unshift({...newsDate.data,typeMasgeLx:newsDate.type})
// 根据消息类型播放音频
playAudioByType(newsDate[0].typeMasgeLx)
playAudioByType(newsDate[0])
resetCountdown()
}
})
@ -117,20 +208,19 @@ const idEntityCard = ref(getItem('idEntityCard'))
const dataModel = () => {
qcckGet({}, '/mosty-gsxt/dsjJbxx/message').then(res => {
if (res) {
const yjmasg = res.filter(item => item.type === '01')
if (yjmasg.length > 0) {
emitter.emit('openYp', yjmasg[0].obj); // 触发音频播放
} else {
const data = res.filter(item => item.sfzList.includes(idEntityCard.value))
const infoMasge = data.map(item => {
return {
...item.obj,
typeMasgeLx: item.type
}
})
console.log(infoMasge,"xxxxxxxxxxxx");
emitter.emit('webSocketMessage', infoMasge)
}
// const yjmasg = res.filter(item => item.type === '01')
// if (yjmasg.length > 0) {
// emitter.emit('openYp', yjmasg[0].obj); // 触发音频播放
// }
const data = res.filter(item => item.sfzList.includes(idEntityCard.value))
const infoMasge = data.map(item => {
return {
...item.obj,
typeMasgeLx: item.type
}
})
console.log(infoMasge, "xxxxxxxxxxxx");
emitter.emit('webSocketMessage', infoMasge)
}
})