Laravel-admin消息提醒、播放音频、点击跳转

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Laravel-admin消息提醒、播放⾳频、点击跳转
jquery-toastr 消息提醒、播放⾳频、点击跳转
应⽤情景,有新的订单⽣成,后台进⾏消息提醒并播放⾳频(这⾥⽤到轮询简单实现):下⾯附代码
1.找到laravel-admin 中的index.blade.php⽂件进⾏编辑
{{-- ⾳频通知 --}}
<audio style="display:none; height: 0" id="bg-music" preload="auto" src="/Files/DownLoad/sound1/201511/6571.mp3" loop="loop"></audio> <script>
function LA() {}
LA.token = "{{ csrf_token() }}";
var getting = {
url:'/admin/sendNotice',
dataType:'json',
success: function (res) {
console.log(res);
if(res.code == 200){
toastr.options.onclick = function(){
location.href='/admin/order'; // 点击跳转页⾯
};
toastr.options.timeOut=120000; // 保存2分钟
toastr.warning(res.msg); // 提⽰⽂字
var audio = document.getElementById('bg-music'); // 启⽤⾳频通知
audio.play();
setTimeout(function(){
audio.load(); // 1.5秒后关闭⾳频通知
},1500);
}
},
error: function (res) {
console.log(res);
}
};
//关键在这⾥,Ajax定时访问服务端,不断获取数据,这⾥是5秒请求⼀次。

window.setInterval(function(){$.ajax(getting)},5000);
</script>
2.请求路由控制器
/**
* 轮询判断有没有新订单
*
* @return void
*/
public function sendNotice()
{
// 处理逻辑
$count = 0; // 获取的结果
$getCount = session()->get('count');
if ($count > $getCount) {
session()->put('count', $count); // 存session
return ['code' => 200, 'msg' => '您有新的订单请及时处理'];
}
// 不成⽴的话则存最新的值
session()->put('count', $count);
return ['code' => 201];
}
实现效果:
注意:
使⽤Google 浏览器如果⽆法播放提⽰⾳?
JS报错:Uncaught(in promise)DOMException:play()
1、进⼊ chrome://flags/#autoplay-policy
2、找到 Autoplay policy
3、修改Default
使⽤苹果浏览器⽆法播放⾳频?
⼀、点击浏览器左上⾓的:Safari浏览器->此⽹站的设置
⼆、⾃动播放选择允许全部⾃动播放,刷新⽹页完成设置
如果你觉得本⽂对你有帮助,欢迎转载,烦请注明出处,谢谢!。

相关文档
最新文档