业务逻辑: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; } }