当前位置: 萬仟网 > IT编程>开发语言>PHP > Laravel-admin 消息提醒、播放音频、点击跳转

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

2019年07月10日 15:30  | 萬仟网IT编程  | 我要评论

 jquery-toastr 消息提醒、播放音频、点击跳转

 

应用情景,有新的订单生成,后台进行消息提醒播放音频(这里用到轮询简单实现):下面附代码

 

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

     

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

◎已有 0 人评论

Copyright © 2019  萬仟网 保留所有权利. 粤ICP备17035492号-1
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com