<template> <view class="bottoms"> <view class="box" @click="getgogo(1)"> <view class="imgs"> <image src="../../static/detection/sy.png" v-show="aindex == 1" ></image> <image src="../../static/detection/syw.png" v-show="aindex != 1" ></image> </view> <view class="xzz" v-show="aindex == 1">首页</view> <view class="wxz" v-show="aindex != 1">首页</view> </view> <view class="box" @click="getgogo(3)"> <view class="imgs"> <image src="../../static/detection/wd.png" v-show="aindex == 3"></image> <image src="../../static/detection/wdw.png" v-show="aindex != 3"></image> </view> <view class="xzz" v-show="aindex == 3">我的</view> <view class="wxz" v-show="aindex != 3">我的</view> </view> </view> </template> <script> const innerAudioContext = uni.createInnerAudioContext(); import request from '../../utils/request'; export default{ data(){ return{ msgSocket: null, aindex:1, arr:[ {text:'首页'}, {text:'个人中心'}, ], } }, props:{ msg:String, }, onLoad() { this.aindex = this.msg }, mounted() { this.msgSocket = this.$msgSocket, this.aindex = this.msg }, watch: { msgSocket(newVal, oldVal) { console.log('msgSocket值发生变化', newVal, oldVal) this.msgInfo() }, deep: true, }, methods:{ dianyidain() { // console.log('执行了,dianyidain'); innerAudioContext.src = 'https://www.nuoyunr.com/lananRsc/rescue/msgV.mp3'; // 设置播放次数和计数器 const playCount = 3; let currentCount = 0; // 监听音频播放结束事件 innerAudioContext.onEnded(() => { // 播放计数加一 currentCount++; // 判断是否达到播放次数上限 if (currentCount < playCount) { // 继续播放 innerAudioContext.play(); } else { // 播放完成,可以在这里添加额外的逻辑 console.log('播放完成'); } }); // 初次播放 innerAudioContext.play(); }, msgInfo() { console.log(this.msgSocket, 'msgSocket') if (this.msgSocket) { console.log('消息回调启动成功') this.msgSocket.onMessage(res => { console.log("发出提示音"); this.dianyidain() }) } }, getgogo(index){ if(index == 1){ this.aindex = index uni.reLaunch({ url:'/pages/staff/staff' }); } if(index == 3){ this.aindex = index uni.reLaunch({ url:'/pages/staff/staff-my' }) } if(index == 4){ this.aindex = index uni.showToast({ title:'此功能暂未开发', icon:'none' }) } } } } </script> <style scoped lang="scss"> .bottoms{ width: 100%; height: 50px; position: fixed; bottom: 0px; background: white; display: flex; justify-content: space-between; font-size: 14px; font-weight: 400; z-index: 9999999999999999999999999999999999999999999999999999999; } .box{ width: 50%; text-align: center; font-size: 12px; } .imgs{ margin: 0 auto; margin-top: 10px; width: 18px; height: 16px; image{ width: 100%; height: 100%; } } .xzz{ color: #0D2E8D; } .wxz{ color: #AAAAAA; } </style>