微信小程式和PHP 發送模板訊息通知

來源:互聯網
上載者:User
這篇文章主要介紹了關於小程式和PHP 發送模板訊息通知,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

首先,模板訊息介面需寫在後台伺服器上。【追加!目前小程式 模板訊息只能 本人觸發 並發給本人。】

2018.4.9修改 :1次提交表單可下發1條,多次提交下發條數獨立,相互不影響;

1次支付可下發3條,多次支付下發條數獨立,互相不影響。

小程式端

根據模板資訊,出到後台相應的值,還有formid或者prepay_id,通知人的openid。

.wxml檔案

之前忘記加上來了,因為必須是formid或者prepay_id。所以得有一個按鈕去觸發取得。如果大家有不用手動觸發的方法,還請不吝賜教!!!!這個問題想了很久!!

  <form bindsubmit="tiXian" report-submit='true'>    <button class='btn' form-type="submit" disabled="{{lock}}">提現</button>  </form>

.js檔案

  /**   * 觸發提醒   */  remindMessage: function (formid){    var that = this    wx.request({      method: 'POST',      url: 'https://www.**********************_message.php',//後台介面      data: {        o_id: that.data.allthing.openid,        u_name: that.data.allthing.userInfo.nickName,        money: that.data.money,        formid: formid      },      header: {        'content-type': 'application/x-www-form-urlencoded'      },      success: function (res) {        console.log(res.data)      },    })  }

後台介面

*****.php

<?phpinclude_once('/o**********************c/function.php');include_once('/o*************************on/config.php');$ms = new Mysqls();$o_id = intval($_POST['o_id']);$u_name = addslashes($_POST['u_name']);$money  = floatval($_POST['money']);$formid = addslashes($_POST['formid']);$dated = date("Y-m-d H:i:s");$to_place = "錢包";$remark = "餘額約 0-5 個工作日返回您的儲值賬戶,請等待餘額到賬通知";$template_id = "zAW*******************4DY";      //模板id$access_token=M::Get('q******_'.$appid);//需要使用token。放在緩衝中!!if(!$access_token){        $url_access_token = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret;        $json_access_token = sendCmd($url_access_token,array());        //access_token加緩衝        $arr_access_token = json_decode($json_access_token,true);        $access_token = $arr_access_token['access_token'];        M::Set('qub*************_'.$appid,$access_token,3600);}if(!$o_id || !$u_name || !$money || !$formid){$arr = array('ret'=>0,'msg'=>'參數錯誤!');echo json_encode($arr);die();}if(!empty($access_token)) {$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='.$access_token;  //此處變數插入字串不能使用{}!!!   $data = '{  "touser":"'.$o_id.'",    "template_id":"'.$template_id.'",  "form_id":"'.$formid.'",     "data": {  "keyword1": {  "value":"'.$u_name.'"  },   "keyword2": {  "value":"'.$money.'"   },   "keyword3": {  "value":"'.$to_place.'"  } ,   "keyword4": {  "value":"'.$dated.'"   } ,   "keyword5": {  "value":"'.$remark.'"   }   }}';    $result = sendCmd($url,$data);$arr = array('ret'=>1,'msg'=>'success','data'=>array('result'=>$result),);} else {$arr = array('ret'=>0,'msg'=>'ACCESS TOKEN為空白!');}echo json_encode($arr);/** * 發起請求 * @param  string $url  請求地址 * @param  string $data 請求資料包 * @return   string      請求返回資料 */function sendCmd($url,$data){    $curl = curl_init(); // 啟動一個CURL會話          curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址                      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證認證來源的檢測        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 從認證中檢查SSL密碼編譯演算法是否存在          curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:')); //解決資料包大不能提交         curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉          curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動化佈建Referer          curl_setopt($curl, CURLOPT_POST, 1); // 發送一個常規的Post請求          curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的資料包          curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設定逾時限制防止死循         curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header地區內容          curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 擷取的資訊以檔案流的形式返回                $tmpInfo = curl_exec($curl); // 執行操作          if (curl_errno($curl)) {             echo 'Errno'.curl_error($curl);          }          curl_close($curl); // 關鍵CURL會話          return $tmpInfo; // 返回資料      }?>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.