![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
if($pid>0){ $where = ['id' => $pid]; $push1 = M($table)->where($where)->find(); $msg['type'] = 1; $msg['id'] = $art_id; //文章id $msg['content']=$content; $push = new Push('push_message'); // (new Push('push_message'))->push_message(4, $uid, 1, $msg); $push->push_message($push1['uid'], $uid, 1, $msg); }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public function push_message($v_uid = "", $uid = "", $type = 1,$message='') { $data['type'] = $type; $openid = $this->get_openid($v_uid); $body=""; switch ($type) { case 1; $title = "评论通知"; $data['time'] = time(); $data['data'] = $message; $data['user_data'] = get_user_info($uid, 'uid,head_img,nickname'); // print_r($data['user_data']);exit; $body = $data['user_data']['nickname'] . "回复了您"; break; case 2;//系统推送 $title='养生推送'; break; case 3; $title = "申请加入小组"; $data['user_data'] = get_user_info($uid, 'uid,head_img,nickname'); $data['data'] = $msg; $body = $data['user_data']['nickname'] . "申请加入小组"; break; case 4; $title = "邀请加入小组"; $data['user_data'] = get_user_info($uid, 'uid,head_img,nickname'); $data['v_user_data'] = get_user_info($v_uid, 'uid,head_img,nickname'); $data['data'] = $msg; $body = $data['v_user_data']['nickname'] . "邀请.".$data['user_data']['nickname']."加入小组"; break; } $data = json_encode($data); $this->pushMessageToSingle($openid, $data,0,$title,$body); }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
/**单推接口案例 * @param $clientId * @param $data * @param int $type * @param $title * @param $body * @return Array */ function pushMessageToSingle($clientId, $data, $type = 0, $title,$body) { //消息推送Demo header("Content-Type: text/html; charset=utf-8"); define('HOST', 'http://sdk.open.api.igexin.com/apiex.htm'); define('APPKEY', '?'); define('APPID', '?'); define('MASTERSECRET', '?'); import('api.lib.GETUI.Push'); // define('CID','请输入您的CID') $igt = new \IGeTui(HOST, APPKEY, MASTERSECRET); $template = $this->IGtTransmissionTemplateDemo($data, $title,$body); // $template =$this->IGtNotyPopLoadTemplateDemo(); // print_r($data);die; //个推信息体 $message = new \IGtSingleMessage(); $message->set_isOffline(true);//是否离线 $message->set_offlineExpireTime(3600 * 12 * 1000);//离线时间 $message->set_data($template);//设置推送消息类型 $message->set_PushNetWorkType($type);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送 //接收方 $target = new \IGtTarget(); $target->set_appId(APPID); $target->set_clientId($clientId); return $igt->pushMessageToSingle($message, $target); } function IGtTransmissionTemplateDemo($data, $title,$body) { $template = new \IGtTransmissionTemplate(); $template->set_appId(APPID);//应用appid $template->set_appkey(APPKEY);//应用appkey $template->set_transmissionType(2);//透传消息类型 $template->set_transmissionContent($data);//透传内容 //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息 // 如下有两个推送模版,一个简单一个高级,可以互相切换使用。此处以高级为例,所以把简单模版注释掉。 //APN简单推送 // $apn = new IGtAPNPayload(); // $alertmsg=new SimpleAlertMsg(); // $alertmsg->alertMsg=""; // $apn->alertMsg=$alertmsg; // $apn->badge=2; // $apn->sound=""; // $apn->add_customMsg("payload","payload"); // $apn->contentAvailable=1; // $apn->category="ACTIONABLE"; // $template->set_apnInfo($apn); //APN高级推送 $apn = new \IGtAPNPayload(); $alertmsg = new \DictionaryAlertMsg(); $alertmsg->body = "body"; $alertmsg->actionLocKey = "打开天天养生"; $alertmsg->locKey = $body; $alertmsg->locArgs = array("locargs"); $alertmsg->launchImage = "launchimage"; // IOS8.2 支持 $alertmsg->titleLocKey = $title; $alertmsg->titleLocArgs = array("TitleLocArg"); $apn->alertMsg = $alertmsg; $apn->badge = 1; $apn->sound = ""; $apn->add_customMsg("payload", $data); // $apn->contentAvailable=1; $apn->category = "ACTIONABLE"; $template->set_apnInfo($apn); return $template; }
private function get_openid($v_uid){ return M('member')->where(['uid'=>$v_uid])->getField('c_id'); }