AjaxPHP使用AJax轮询完成新订单实时提示

事务逻辑:Ajax每隔十分钟请求三次接口,该接口会去查询数据库是或不是有新的订单,借使有则赶回新订单的数量,后台接受声音提醒,更改后台提醒数量

               
 提示框可链接到订单列表,后台更改完订单状态后会提醒会不复存在

               
 此逻辑同样可用以落到实处后台公告成效,用定时职务也落实

                 
Ajax 1

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;
        }
    }

 

相关文章