成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁(yè) ? 技術(shù)教程 ? Thinkphp結(jié)合AJAX長(zhǎng)輪詢實(shí)現(xiàn)PC與APP推送詳解
全站頭部文字 我要出現(xiàn)在這里
Thinkphp結(jié)合AJAX長(zhǎng)輪詢實(shí)現(xiàn)PC與APP推送詳解 854 2023-12-08   

前言

本文主要給大家介紹的關(guān)于Thinkphp結(jié)合AJAX長(zhǎng)輪詢實(shí)現(xiàn)PC與APP推送的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),話不多說(shuō),來(lái)一起看看詳細(xì)的介紹。

實(shí)現(xiàn)邏輯

某個(gè)操作(比如新建一條公告)后,觸發(fā)同時(shí)推送消息給APP或是移動(dòng)WEB的所有用戶或指定用戶。

不論性能,總還是有人會(huì)用到吧,實(shí)現(xiàn)如下(基于Thinkphp5消息推送):

PHP長(zhǎng)輪詢

/*
  * long輪詢 API查詢接口
  */
 public function id_log()
 {
  if (request()->isPost()) {
   $id = $this->param['id'];
 
   set_time_limit(0);
   $id_log = Db::name('table')->alias('c')
    ->join('table cc', 'c.youname=cc.youname', 'left')
    ->join('table a', 'cc.youname =a.youname ', 'left')
    ->join('table u', 'c.youname =u.youname ', 'left')
    ->field('')
    ->where('', $id)
    ->order('log_time desc')
    ->limit(1)
    ->select();
 
   while (true) {
    if ($id_log) {
     $id_log_set = Db::name('table2')
      ->where('', $id)
      ->limit(1)
      ->setField('log_flag', '1');
     $this->response($id_log);
    }
    $this->wrong(404100);
    usleep(2000);
   }
 
  };
 }

換上你自己的表和相關(guān)的關(guān)聯(lián)字段。

推送消息創(chuàng)建方法

/**
 * 創(chuàng)建消息日志 觸發(fā)操作方法
 * @param string $log_content 日志內(nèi)容
 * @param string $log_type 日志類型
 * @param int $log_c_id A用戶ID
 * @param string $log_user B用戶ID
 * @param string $log_admin PC
 * @param string $log_status
 * @return array
 */
function createLog($log_c_id, $log_type, $log_content, $log_admin, $log_user,$log_status)
{
 $data = [
  'log_c_id' => $log_c_id,
  'log_ip' => get_client_ip(),
  'log_admin' => $log_admin,
  'log_time' => date("Y-m-d H:i:s", time()),
  'log_url' => get_url(),
  'log_type' => $log_type,
  'log_content' => $log_content,
  'log_user' => $log_user,
  'log_status'=>$log_status
 ];
 $logadd = thinkDb::name('table')->insertGetId($data);
 return $logadd;
}

采用數(shù)據(jù)庫(kù)存消息并檢測(cè)和設(shè)計(jì)flag的形式推,不然離線消息就沒(méi)法推了,同樣的要修改成你自己的數(shù)據(jù)結(jié)構(gòu)!

AJAX長(zhǎng)輪詢

 var getting = {
  url: '{:url("youapi/url")}',
  dataType: 'json',
  success: function (res) {
   $(".count").text($('.llt').children().size());
   $(".llt").remove();
   if(res.length!=null){
    $.each(res, function (index, item) {
     $(".notification").append('<li class="llt" data-ccid="' + item.id + '"><a  rel="external nofollow" admin/carloan/edit")}?id='+item.log_c_id+'"><span class="label label-info"><i class="icon-bullhorn"></i></span><span class="message">' + item.u_name + ':' + item.log_content + '</span><span class="time"><span class="liveTime">' + item.log_time + '</span></span></a></li>');
    });
   }else{
 
   }
 
  }
 };
 //關(guān)鍵在這里,Ajax定時(shí)訪問(wèn)服務(wù)端,不斷獲取數(shù)據(jù) ,這里是1秒請(qǐng)求一次。
 window.setInterval(function () {
  $.ajax(getting)
 }, 1000);

總結(jié)

好了,大概就這樣,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)綠夏網(wǎng)的支持



主站蜘蛛池模板: 哥谭小丑杰罗姆电影| 一线生机 电影| 画江湖之不良人7季什么时候上映 画江湖之不良人第七季什么时候出 | 毛骨悚然撞鬼经| 《荷塘月色》课文| 张静初吴彦祖演的门徒| 单位同意报考证明| 徐若| 奋进的旋律演员表名单| 花煞| 大班生字表| 树屋上的童真| 漂亮主妇电视剧| 韩国一级黄色录像| 孕期体重增长参照表 | 皇冠小刀清痘视频| 陶飞霏| 爷爷泡的茶歌词| 格伦·克洛斯| 热天午后| 爱上特种兵电视剧免费观看完整版 | 狐步谍影| 车辆年检新规几年一审| 绝望的主妇第八季| chinesehd国语话对白| 金瓶儿| busty buffy| 唐砖演员表| 杨幂吻戏| 色戒在线观看视频| 保镖1983| ktv视频| russian institute| 女同恋性吃奶舌吻完整版| 美女写真视频网站| 西野翔电影| 如意电视剧| 陈建斌电影| 毒鲨| 中医基础理论试题题库及答案| 诗歌繁星|

!!!站長(zhǎng)長(zhǎng)期在線接!!!

網(wǎng)站、小程序:定制開(kāi)發(fā)/二次開(kāi)發(fā)/仿制開(kāi)發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長(zhǎng)微信:lxwl520520

站長(zhǎng)QQ:1737366103