国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

使用php實現(xiàn)微信小程序發(fā)送模板消息(附代碼)

2020-03-22 18:44:03
字體:
來源:轉載
供稿:網(wǎng)友
本篇文章給大家?guī)淼膬热菔顷P于使用php實現(xiàn)html' target='_blank'>微信小程序發(fā)送模板消息(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

本章將會簡單說一下微信小程序的模板消息發(fā)送,相對來說比較簡單,但也有一個小坑要注意的。

微信的地址為:

https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN

相關參數(shù)為

參數(shù)必填說明touser是接收者(用戶)的 openidtemplate_id是所需下發(fā)的模板消息的idpage否點擊模板卡片后的跳轉頁面,僅限本小程序內的頁面。支持帶參數(shù),(示例index?foo=bar)。該字段不填則模板無跳轉。form_id是表單提交場景下,為 submit 事件帶上的 formId;支付場景下,為本次支付的 prepay_iddata是模板內容,不填則下發(fā)空模板color否模板內容字體的顏色,不填默認黑色 【廢棄】emphasis_keyword否模板需要放大的關鍵詞,不填則默認無放大

基本參數(shù)和地址就是以上測試的,有的人會疑惑form_id,openid,tmeplate_id該從哪里獲取下面為先簡單說下

form_id可以由前端提供,前端可以在每一個按鈕上面提交表單獲取form_id給后端,同時后端拿到相關openid。在這里為建議的是前端盡可能多的給后端提供,就是每個按鈕都提供給后端一個id,form_id的有效期為7天,不管運營人員有沒有使用,數(shù)量多好過數(shù)量少。

template_id為模板id,可以登陸微信小程序后臺在模板消息那里獲取到。

當我們知道這些參數(shù)后,開發(fā)者肯定想馬上測試一下,然后就讓前端提供form_id,這里為將說下2個坑

第一坑:電腦獲取的form_id是不可以使用的

第二坑:form_id是要手機真機獲取的,但真機的同時還要是線上的項目,未上線本地測試會提示校驗form_id,微信是沒有說明這個注意點的,即是需要在審核成功發(fā)布后在線上測試。

接下來就說下后端代碼

 ?php //獲取accesstoken public function getAccessToken($appid,secret){ $url = https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential appid={$appid} secret={$secret}  $res = $this- curl_get($url); $res = json_decode($res,1); return $res[ access_token //獲取模板消息內容主體//因為是測試所以寫死,大家可以通過傳參的方式獲取 public function getMsg($openid,$template_id,$form_id,$emphasis_keyword= keyword1 ){ $data[ data ]= [ keyword1 = [ value = test1 , color = ], keyword2 = [ value = test2 , color = ], keyword3 = [ value = test1 , color = //內容主體 $data[ touser ] = $openid;//用戶的openid $data[ template_id ] = $template_id;//從微信后臺獲取的模板id $data[ form_id ] = $form_id;//前端提供給后端的form_id $data[ page ] = pages/index/index //小程序跳轉頁面 $data[ emphasis_keyword ] = $emphasis_keyword;//選擇放大的字體 return $data; public function send($appid,secret,$openid,$template_id,$form_id){ $access_token = $this- getAccessToken($appid,secret); $send_url = https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send? access_token= . $access_token; $data = $this- getMsg($openid,$template_id,$form_id); $str = $this- curl_post($send_url,json_encode($data)); $str = json_decode($str,1); return $str; public function curl_post($url, $fields, $data_type= text ) $cl = curl_init(); if(stripos($url, https:// ) !== FALSE) { curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($cl, CURLOPT_SSLVERSION, 1); curl_setopt($cl, CURLOPT_URL, $url); curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($cl, CURLOPT_POST, true);  curl_setopt($cl, CURLOPT_POSTFIELDS, $fields); $content = curl_exec($cl); $status = curl_getinfo($cl); curl_close($cl); if (isset($status[ http_code ]) $status[ http_code ] == 200) { if ($data_type == json ) { $content = json_decode($content); return $content; } else { return FALSE; public function curl_get($url, $data_type= text ) $cl = curl_init(); if(stripos($url, https:// ) !== FALSE) { curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($cl, CURLOPT_SSLVERSION, 1); curl_setopt($cl, CURLOPT_URL, $url); curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1 ); $content = curl_exec($cl); $status = curl_getinfo($cl); curl_close($cl); if (isset($status[ http_code ]) $status[ http_code ] == 200) { if ($data_type == json ) { $content = json_decode($content); return $content; } else { return FALSE; punblic function index(){ $appid = xxx //小程序appid $openid = xxx //接收用戶的openid $template_id = xxx //從微信后臺獲取的模板id $form_id = xxx //七天內的formid $data = $this- send($appid,secret,$openid,$template_id,$form_id); var_dump($data);//打印測試結果 }

以上就是發(fā)送模板消息的代碼,其實只要獲取到幾個相應的參數(shù)就可以 注意相關坑就可以成功測試發(fā)送了

相關推薦:

小程序中如何實現(xiàn)三級選擇器組件?(代碼示例)

微信小程序實例:微信小程序中彈窗的實現(xiàn)代碼

微信小程序中如何進行頁面的跳轉

以上就是使用php實現(xiàn)微信小程序發(fā)送模板消息(附代碼)的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 赫章县| 新沂市| 嘉定区| 璧山县| 烟台市| 南充市| 巴彦县| 格尔木市| 乌兰县| 武乡县| 洛阳市| 临安市| 喀什市| 科技| 青田县| 尼勒克县| 赞皇县| 余江县| 会理县| 郑州市| 兴城市| 康马县| 阳新县| 共和县| 阜南县| 治多县| 苗栗县| 伊春市| 正镶白旗| 泸西县| 乾安县| 苏州市| 四子王旗| 本溪市| 太仆寺旗| 扎囊县| 丽江市| 宁波市| 浦城县| 邛崃市| 兴文县|