1、首先需要一個服務號
2、申請模板消息功能插件(一般1-3個工作日)如下圖 ,沒有的請添加,有的請忽略
3、創建適合自己的模板,拿到模板id,如下圖
4、后台php寫一個模板消息類
<?php namespace Think; class Oauth{ //獲得全局access_token public function get_token(){ $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret"; //請求地址 //2初始化curl請求 $ch = curl_init(); //3.配置請求參數 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //4.開始請求 $res = curl_exec($ch); //獲取請求結果 if( curl_errno($ch) ){ var_dump( curl_error($ch) ); //打印錯誤信息 } //5.關閉curl curl_close( $ch ); $arr = json_decode($res, true); //將結果轉為數組 //$_SESSION['access_token']=$arr['access_token']; //將access_token存入session中,可以不存,每次都獲得新的token //$_SESSION['expire_time']=time()+7200; return $arr['access_token']; //} } //推送模板信息 參數:發送給誰的openid,客戶姓名,客戶電話,推薦樓盤(參數自定) function sendMessage($openid,$name,$tempid,$url,$content,$key1) { //獲取全局token $token = $this->get_token(); $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$token; //模板信息請求地址 //發送的模板信息,根據實際需求(微信要求json格式,這里為數組(方便添加變量)格式,然后轉為json) $post_data = array( 'touser'=>$openid,//openid 'template_id'=>$tempid, 'url'=>$url, 'data'=>array( 'first'=>array("value"=>$content,"color"=>"#173177"), 'keyword1'=>array("value"=>$name,"color"=>"#173177"), 'keyword2'=>array("value"=>$key1,"color"=>"#173177"), 'remark'=>array("value"=>"感謝你的參與!","color"=>"#173177"), ) ); //將上面的數組數據轉為json格式 $post_data = json_encode($post_data); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //接收執行返回的數據 $data = curl_exec($ch); //關閉句柄 curl_close($ch); $data = json_decode($data,true); //將json數據轉成數組 return $data; } }
php后台接口
public function premitVideo(){ // 初定義0為已審核 1為待審核 -1為拒絕 $id=I("post.id"); $where['id']=$id; $update=array("state"=>"0"); $res=M("rt")->where($where)->save($update); $where['id']=I("post.id"); $data=M("rt")->where($where)->find(); $openid=$data['openid']; $name=$data["name"]; $tempid="Q19vdlsOeJ1DafsymnZhhFFIDJWIgRXo-qwQs5vfFys"; $url="你想讓用戶點擊后跳轉的url"; $content="親,恭喜您!您上傳的作品已經通過審核,快去找小伙伴拉票吧!"; $key1="通過"; $send=new Oauth(); $send->sendMessage($openid,$name,$tempid,$url,$content,$key1); if($res){ $this->ajaxReturn(['code'=>200,'data'=>[],'msg'=>'操作成功']); } }