Yii2接口类里面直接调用Jpush的公共方法Demo示例

  •   
  • 5706
  • PHP
  • 28
  • super_dodo
  • 2016/10/11

现在很多APP都使用极光推送实现消息订单等的通知。极光推送的PHP的接口之前的文章已经介绍过。文章底部有相关的链接可以直接访问。此处是写了一个公共的方法在很多地方直接调用。

使用示例如下代码所示,有区分个人版本和企业版本。传入个人(企业)ID和推送的信息内容。


//Jpushe 推送给用户的公共方法
public function jpushMember($member_id,$msg=''){
	if(!$member_id){ file_put_contents('./runtime/logs/jpush_err_member.txt', date('Y-m-d H:i:s').'--会员ID不存在或者不正确.'.PHP_EOL, FILE_APPEND); }
	//用户下订单--推送消息给商家
	$memberInfo = MemberList::findOne($member_id);
	if(!empty($memberInfo->tk)){
		$pushObj = new Jpush();		//组装需要的参数
		$receive = array('alias'=>array($memberInfo->tk));    //别名
		$content = $msg;
		$m_type = 'tips';
		$m_txt = $msg;
		$m_time = '600';        //离线保留时间
		$result = $pushObj->push($receive,$content,$m_type,$m_txt,$m_time);
		if($result){		//返回值
			$res_arr = json_decode($result, true);
			if(isset($res_arr['error'])){           //如果返回了error则证明失败
				file_put_contents('./runtime/logs/jpush_err_member.txt', date('Y-m-d H:i:s').'--'.$memberInfo->name.'--'.$res_arr['error']['message'].$res_arr['error']['code'].PHP_EOL, FILE_APPEND);
			}
		}else{
			file_put_contents('./runtime/logs/jpush_err_member.txt', date('Y-m-d H:i:s').'--'.$memberInfo->name.'--推送消息失败.接口调用失败或无响应.'.PHP_EOL, FILE_APPEND);
		}
	}else{
		file_put_contents('./runtime/logs/jpush_err_member.txt', date('Y-m-d H:i:s').'--'.$memberInfo->name.'--用户TK码不存在或者不正确.'.PHP_EOL, FILE_APPEND);
	}
}

//Jpushe 推送给商家的公共方法
public function jpushVip($vip_id,$msg=''){
	if(!$vip_id){ file_put_contents('./runtime/logs/jpush_err_vip.txt', date('Y-m-d H:i:s').'--商家ID不存在或者不正确.'.PHP_EOL, FILE_APPEND); }
	//用户下订单--推送消息给商家
	$vipInfo = VipInfo::findOne($vip_id);
	if(!empty($vipInfo->tk)){
		$pushObj = new JpushVip();		//组装需要的参数
		$receive = array('alias'=>array($vipInfo->tk));    //别名
		$content = $msg;
		$m_type = 'tips';
		$m_txt = $msg;
		$m_time = '600';        //离线保留时间
		$result = $pushObj->push($receive,$content,$m_type,$m_txt,$m_time);
		if($result){		//返回值
			$res_arr = json_decode($result, true);
			if(isset($res_arr['error'])){           //如果返回了error则证明失败
				file_put_contents('./runtime/logs/jpush_err_vip.txt', date('Y-m-d H:i:s').'--'.$vipInfo->username.'--'.$res_arr['error']['message'].$res_arr['error']['code'].PHP_EOL, FILE_APPEND);
			}
		}else{
			file_put_contents('./runtime/logs/jpush_err_vip.txt', date('Y-m-d H:i:s').'--'.$vipInfo->username.'--推送消息失败.接口调用失败或无响应.'.PHP_EOL, FILE_APPEND);
		}
	}else{
		file_put_contents('./runtime/logs/jpush_err_vip.txt', date('Y-m-d H:i:s').'--'.$vipInfo->username.'--商家TK码不存在或者不正确.'.PHP_EOL, FILE_APPEND);
	}
}

极光推送Jpush(v3)服务端PHP版本的api脚本类

纵使这世间再过繁花似锦,也抵不过你的回眸一笑。