先说一下项目背景,要求开发一个预警功能,我的思路是用springboot的定时任务循环查询数据库是否有预警记录,然后向websocket发送消息,此处的websocket是vue框架下,每打开一个页面建立一个连接(抱歉,vue全局变量没整明白,所以只能每个页面都建立连接),然后在其中一个连接下播放声音。目前仍然没有解决的问题:chrome浏览器下播放音频,页面刷新后必须要点击一下页面,才可以报警,通过路由跳转则不会出现该问题,猜测时跳转时,将点击动作带入到新页面,刷新会将数据清除。
遇到的问题:
1,jeecg框架下开始的时候只能建立一个socket连接,打开新页面之前的连接失效
解决措施,通过在socket文件中加@Scope("prototype")注解,这样就能建立多个连接
2,有预警时,谷歌浏览器下不能自动播放音频
解决措施如下
<template>
<div >
<input placeholder="请输入您的帐号">
<iframe src="/silence.mp3" allow="autoplay" id="silenceAudio" ref='silenceAudio' hidden="true" ></iframe>
<audio id="player" ref=