站長資訊網
        最全最豐富的資訊網站

        php怎樣實現新訂單提示功能

        我們在做商城系統的過程當中,會要求做一個訂單提醒的功能,即來新的訂單會提醒。我實現的方法是有訂單后就會提醒“您有新的訂單,請注意查收!”

        php怎樣實現新訂單提示功能

        解決方案

        ajax輪詢(推薦學習:PHP編程從入門到精通)

        輪詢的方法比較簡單,就是每過多少秒發起一次請求。如果項目中的訂單不多,每隔多少秒發一次請求會對服務器有挺大的壓力。

        <script>     setInterval("order()",59000000);//每59秒刷新查詢一次     var last_count = {$count};     function order() {           var data = {             'last_count':last_count         };           $.ajax({             type: "POST",             data: data,             url: "{:url('Order/sendOrderNotice')}",//后臺方法             timeout: 60000,             cache: false,             async: false,             dataType: "json",             success: function(data) {                 if(data.status == 1){                     var audio = document.getElementById( "play" ); //瀏覽器支持 audio                     audio.play(); //播放提示音                     last_count = data.last_count;                     setTimeout(function(){                         window.location.reload();                         }, 3000);                 }             }         });       }   </script>

        上面就是這個解決方案的核心。后端的代碼請根據自己的業務邏輯編寫。

        Workerman

        Workerman是一款純PHP開發的開源高性能的PHP socket 服務框架。

        Workerman不是重復造輪子,它不是一個MVC框架,而是一個更底層更通用的socket服務框架,你可以用它開發tcp代理、梯子代理、做游戲服務器、郵件服務器、ftp服務器、甚至開發一個php版本的redis、php版本的數據庫、php版本的nginx、php版本的php-fpm等等。Workerman可以說是PHP領域的一次創新,讓開發者徹底擺脫了PHP只能做WEB的束縛。

        實際上Workerman類似一個PHP版本的nginx,核心也是多進程+Epoll+非阻塞IO。Workerman每個進程能維持上萬并發連接。

        由于本身常住內存,不依賴Apache、nginx、php-fpm這些容器,擁有超高的性能。同時支持TCP、UDP、UNIXSOCKET,支持長連接,支持Websocket、HTTP、WSS、HTTPS等通訊協以及各種自定義協議。

        擁有定時器、異步socket客戶端、異步Mysql、異步Redis、異步Http、異步消息隊列等眾多高性能組件。

        訂單監控頁面端的代碼:

        <script src='http://cdn.bootcss.com/socket.io/1.3.7/socket.io.js'></script> <script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script> <script>     // 連接服務端,workerman.net:2120換成實際部署web-msg-sender服務的域名或者ip     var socket = io('http://www.tp5_test.com:2120'); //http://www.tp5_test.com換成自己的域名或者ip     // uid可以是自己網站的用戶id,以便針對uid推送以及統計在線人數,這個ID可以隨便寫     uid = 1557062581000;     // socket連接后以uid登錄     socket.on('connect', function(){         socket.emit('login', uid);     });     <!--// 后端推送來消息時-->     socket.on('new_msg', function(msg){           //兩種處理方式           // 1 追加到頁面元素中,可以做成頁面的彈窗         $("#msg").append(msg);              //2 播放提示應 :         if(msg == 1){             var audio = document.getElementById( "play" ); //瀏覽器支持 audio             audio.play(); //播放提示音         }         });     // 后端推送來在線數據時     socket.on('update_online_count', function(online_stat){         console.log(online_stat);     }); </script>

        后端代碼:

        //這個方法我隨便寫了寫,具體的處理就是在支付完成回調以后,用用send_workerman方法就可以了。我是用sends來模型支付完成以后的回調 public function sends($id) {     // var_dump($id);die;     if($id == 1){       $this->send_workman($id);     }else{       echo '沒有發送消息';     } }   /**  * @route('send_workman')  */ public function send_workman($id) {     $to_uid = '1557062581000'; //和頁面的uid一致,不填寫也可以     // 推送的url地址,使用自己的服務器地址     $push_api_url = "http://www.tp5_test.com:2121/";     $post_data = array(         "type" => "publish",         "content" => $id,         "to" => $to_uid,     );     $ch = curl_init ();     curl_setopt ( $ch, CURLOPT_URL, $push_api_url );     curl_setopt ( $ch, CURLOPT_POST, 1 );     curl_setopt ( $ch, CURLOPT_HEADER, 0 );     curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );     curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );     curl_setopt ( $ch, CURLOPT_HTTPHEADER, array("Expect:"));     $return = curl_exec ( $ch );     curl_close ( $ch );     var_export($return); }

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国内精品人妻无码久久久影院 | 久久国产综合精品五月天| 久久精品国产亚洲网站| 国产精品人成在线播放新网站 | 精品亚洲麻豆1区2区3区| 精品成在人线AV无码免费看| 国产精品久久免费| 国产在线国偷精品免费看| 亚洲精品第一国产综合境外资源| 久久精品夜夜夜夜夜久久| 久久线看观看精品香蕉国产| 欧美亚洲综合免费精品高清在线观看| 亚洲人精品午夜射精日韩| 日韩福利视频精品专区| 国产精品影音先锋| 精品国产一级在线观看| 国产精品无码国模私拍视频| 亚洲精品无码久久久久| 国产精品自拍一区| 亚洲国产成人精品女人久久久 | 国产成人亚洲综合无码精品| 国产精品91av| 国产视频精品免费视频| 国产女主播精品大秀系列| 精品国产91久久久久久久a| 91麻豆精品国产| 无码国内精品久久人妻蜜桃| 黄床大片免费30分钟国产精品 | 久久91综合国产91久久精品| 四虎成人精品| 国产精品一区二区三区免费| 第一福利永久视频精品| 日产精品99久久久久久| 亚洲精品综合久久| 国产午夜精品理论片| 日本人精品video黑人| 国产精品日韩AV在线播放| 十八18禁国产精品www| 综合国产精品第一页| 日韩一区二区三区在线精品| 狠狠精品久久久无码中文字幕|