PHP微信小程序订阅消息

PHP微信小程序订阅消息接口
namespace ####
use ###
/**
 * 小程序订阅消息
 */
class SubscribeController{
	protected $appid;
	protected $secret;

	public static $ACTIVITY_BOARD = '';
	public static $SCHEDULE_BOARD = '';

	public function __construct()
	{
		$this->appid = config("wxtool.appid");
		$this->secret = config("wxtool.secret");
	}
	
	/**
	 * 小程序订阅消息发送消息
	 * @param string $openid
	 * @param int $board_id 模板id
	 * @return array $result
	 */
	 public function sendSubscribeMessage($openid,$board_id){
	    $access_token=$this->getAccessToken()["access_token"];
		$data = [] ;
		if($board_id == 1){
			$template_id = static::$ACTIVITY_BOARD;
			$data['data'] = [
				"thing1"=>[
					'value' => ''
				],
				"thing2"=>[
					'value' => ''
				]
			];

		}else{
			$template_id = static::$SCHEDULE_BOARD;
			$data['data'] = [
				"thing1"=>[
					'value' => ''
				],
				"thing2"=>[
					'value' => ''
				],
				"date3"=>[
					'value' => date('Y-m-d H:i:s', time())
				],
				'thing4'=>[
					'value'=>'温馨提示'
				]
			];
		}

		$data['touser'] = $openid;
		$data['template_id'] = $template_id;
		$data['page'] = "小程序地址";
		$result = $this->sendFunction($access_token,$data);
		return $result;
	 }

	 /**
	 * 获取access_token
	 * @return array $output
	 */
	 public function getAccessToken()
	 {
	 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret;
	 $headerArray =array("Content-type:application/json;","Accept:application/json");
	 $ch = curl_init();
	 curl_setopt($ch, CURLOPT_URL, $url);
	 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
	 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	 curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArray);
	 $output = curl_exec($ch);
	 curl_close($ch);
	 $output = json_decode($output,true);
	 return $output;
	}

	/**
	* 发送
	* @param $access_token
	* @param $data
	* @return array $output
	*/
	public function sendFunction($access_token,$data)
	{
	$data  = json_encode($data);
	$url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$access_token;
	$headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");
	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
	curl_setopt($curl, CURLOPT_POST, 1);
	curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
	curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$output = curl_exec($curl);
	curl_close($curl);
	return json_decode($output,true);
	}
}

你可能感兴趣的:(小程序,PHP,订阅,php,微信小程序,notepad++)