音频标签

   <!-- 全局音效 -->
    <audio src="" id="eventAudio"  ></audio>

引入音频文件

// 引入音频文件
import audioMp3 from '../../assets/ding.mp3'

实现轮询

  created() {
    // 实现轮询
    if ( sessionStorage.getItem("lastCount") === null) {
      sessionStorage.setItem("lastCount", "0");
    }
    if ( sessionStorage.getItem("lastCount") === "0") {
      window.setInterval(() => {
        setTimeout(this.getNewMessage(), 0)
      }, 3000)
    }
 }

接口调用和播放判断

  methods: {
  
    // 请求是否有新消息
    getNewMessage: function() {
      console.log('请求' + this.num++ + '次')

      limitOne().then(response => {
        const newCount = response.data.data
        console.log('新的订单数量: ' + newCount + ' 上个值: ' + sessionStorage.getItem("lastCount"))
        if ( sessionStorage.getItem("lastCount") === "0") {
          sessionStorage.setItem("lastCount",newCount)
        }
        if (String(newCount) !== sessionStorage.getItem("lastCount")) {
          sessionStorage.setItem("lastCount",newCount)

          console.log('通知')
          let buttonAudio = document.getElementById('eventAudio');
          buttonAudio.setAttribute('src',audioMp3)
          buttonAudio.play()

        }
      })
    }
}

监听刷新事件 ,清空计数,重新进入该页面。可再次定时器

// 监听事件
window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))   //监听页面刷新触发事件
  },
  // 清空方法
   methods(){
  		beforeunloadHandler(e) {    //根据事件进行操作进行操作
                console.log(e)
                console.log('浏览器刷新') 
                 sessionStorage.setItem("lastCount", "0");
            },
},
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐