Laravel admin实现消息提醒、播放音频功能
应用情景,有新的订单生成,后台进行消息提醒并播放音频(这里用到轮询简单实现):下面附代码
1.找到laravel-admin 中的 index.blade.php 文件进行编辑
{{-- 音频通知 --}}
<audio style="display:none; height: 0" id="bg-music" preload="auto" src="http://fjdx.sc.chinaz.com/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 浏览器如果无法播放提示音?
1、进入 chrome://flags/#autoplay-policy

2、找到 Autoplay policy

3、修改Default
总结
以上所述是小编给大家介绍的Laravel-admin 消息提醒、播放音频功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- Laravel使用swoole实现websocket主动消息推送的方法介绍
- laravel框架使用阿里云短信发送消息操作示例
- Laravel Validator自定义错误返回提示消息并在前端展示
- Laravel使用消息队列需要注意的一些问题
- PHP的Laravel框架中使用消息队列queue及异步队列的方法
- 在Laravel框架里实现发送邮件实例(邮箱验证)
- Laravel框架实现发送短信验证功能代码
- 使用 laravel sms 构建短信验证码发送校验功能
- laravel5.4利用163邮箱发送邮件的步骤详解
- laravel中短信发送验证码的实现方法
- 用Laravel Sms实现laravel短信验证码的发送的实现
- laravel框架使用极光推送消息操作示例
相关文章
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
这篇文章主要介绍了jQuery插件FusionCharts绘制的2D双面积图效果,结合实例形式分析了jQuery使用插件FusionCharts结合xml格式数据绘制2D双面积图的具体步骤与相关操作技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下2017-04-04
JQuery中serialize()、serializeArray()和param()方法示例介绍
serialize()方法也是作用于一个JQuery对象,它能够将DOM元素内容序列化为字符串,serializeArray()方法不是返回字符串,而是将DOM元素序列化后,返回JSON格式的数据2014-07-07
jquery移除button的inline onclick事件(已测试及兼容浏览器)
这种方法在Google Chrome下正常工作,但是在IE的兼容模式下会马上调用reclick方法,这不是我们想要的效果;为了解决这个问题,我们可以换个思路,就是延迟绑定click事件2013-01-01


最新评论