php之微信公眾號傳送模板訊息
阿新 • • 發佈:2019-01-06
講一下開發專案中微信公眾號傳送模板訊息的實現過程(我用的還是Thinkphp5.0)。先看一下效果,如圖:
就是類似於這樣的,下面講一下實現過程:
第一步:微信公眾號申請模板訊息許可權:
立即申請:
申請過程就不說了,提交併且申請通過後,可以在模板庫中看到模板訊息列表:
想用哪個模板點選進去新增就行了:
新增模板後就存放到“我的模板庫”中了,這是我新增的需要用到的一些:
點選檢視模板的詳情,可以看到模板的id及各項內容引數名,不同的模板訊息的內容結構不一樣。這些id及欄位名在程式中會使用到:
第二步:程式實現模板訊息SDK:
同樣的,模板訊息是使用access token來發送的,所以要獲取token。
我把模板訊息的類檔案放在了extend下面,大致位置如圖:
程式碼截圖如下:
類檔案這樣就可以了,到時候直接引入使用就可以了。
第三步:構建模板訊息:
我把需要用到的模板訊息 都寫成一個個方法,放在公共類檔案中了,可以參考一下:
1 //下單成功通知模板 2 /* 3 * openid:微信唯一標識 4 * orderSn:訂單號 5 * goods_name:商品名稱 6 * goods_num:商品數量 7 * allMoney:總價格 8 */ 9 function orderSuccess($openid=null,$orderSn=null,$goods_name=null,$goods_num=null,$allMoney=null){ 10 $template = array( 11 "touser" => "$openid", 12 "template_id" => "gApc7CzZSiJOZ7OeoXKK8APmz-dcuQuwfBTzPblEWv4", 13 'url' => '跳轉地址', 14 'topcolor' => '#ccc', 15 'data' => array('first' => array('value' =>urlencode('親,您的訂單已建立成功,我們會立即為您備貨,並在第一時間內為您安排專人免費送貨到家!訂單詳情如下'), 16'color' =>"#743A3A", 17 ), 18 'keyword1' => array('value' =>urlencode($orderSn), 19 'color' =>'#FF0000' 20 ), 21 'keyword2' => array('value' =>urlencode($goods_name), 22 'color' =>'#FF0000' 23 ), 24 'keyword3' => array('value' =>urlencode($goods_num), 25 'color' =>'#FF0000' 26 ), 27 'keyword4' => array('value' =>urlencode($allMoney), 28 'color' =>'#FF0000' 29 ), 30 'keyword5' => array('value' =>urlencode('線上支付'), 31 'color' =>'#FF0000' 32 ), 33 'remark' => array('value' =>urlencode('如果您對以上資訊有任何疑問,請直接在平臺上回復您的問題即可,或撥打客服電話4001021789。再次感謝您的惠顧!'), 34 'color' =>'#FF0000' 35 ), 36 ) 37 ); 38 return $template; 39 }
這只是我寫的其中一個下單成功的模板訊息,放在common檔案中了,這樣基本上就完成了:
下面引用模板訊息傳送到微信公眾號中
1 2 //構造訊息模板 3 $template =orderSuccess($openid,$reoderSn,$goodsNames,$sum,$money); 4 //引入模板訊息類 5 Loader::import('org\WxMessage', EXTEND_PATH); 6 //例項化訊息類 7 $message = new \WxMessage(); 8 //傳送訊息 9 $message->send_template_message(urldecode(json_encode($template)));
用loader引入extend下的訊息類檔案,傳送訊息後,就得到了剛開始的那張圖片內容。
挺簡單的,感覺有用的可以參考一下試試看。
原創:http://www.cnblogs.com/luokakale/p/8143684.html