PHP使用AJax轮询实现新订单实时提醒


业务逻辑:Ajax每隔10秒钟请求一次接口,该接口会去查询数据库是否有新的订单,如果有则返回新订单的数量,后台收到声音提示,更改后台提醒数量

                 提醒框可链接到订单列表,后台更改完订单状态后会提醒会消失

                 此逻辑同样可用于实现后台通知功能,用定时任务也可以实现

                 

1、JS代码

<audio id="mp3" src="/admin/mp3/remind.mp3"> </audio>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        var remind = 1; var mp3 = $("#mp3")[0]; var play= 0; if(sessionStorage.num){ $(".remind").text(sessionStorage.num); } $.ajax({ url:"/sendOrderNotice", success:function (data) { sessionStorage.num = data; $(".remind").text(data); remind = data;play=data; remind<=0?$(".remind").hide():$(".remind").show(); } }) setInterval(function () { $.ajax({ url:"/sendOrderNotice", success:function (data) { remind = data; sessionStorage.num = data; if(play==remind){ remind<=0?$(".remind").hide():$(".remind").show() }else{ $(".remind").show().text(remind); mp3.play(); play=remind; } } }) },10000) </script>

 2、php接口

/** * 订单提醒 */
    public function sendOrderNotice(){ //查询order表是否有新订单
        $NewOderCount=Order::getNewOderCount(); if ($NewOderCount) { echo json_encode($NewOderCount); } else { echo 0; } }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM