<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 微信小程序發(fā)送訂閱消息(之前是模板消息)

          2020-8-20    seo達人

          之前的模板消息已經(jīng)廢棄,現(xiàn)在改為訂閱消息,訂閱消息發(fā)布前,需要用戶確認后才能接收訂閱消息。


          image


          小程序端

          index.wxml


          <button bindtap="send">發(fā)送訂閱消息</button>

          index.js


          const app = getApp()

          Page({ data: {

           }, send:function(){

             wx.requestSubscribeMessage({ tmplIds: ['WZiCliW1zVtHXqX7dGnFNmFvxhW-wd9S_W4WfrwNvss'],


          success:(res)=> { // 在登錄的時候,獲取到的openid進行緩存,現(xiàn)在直接把openid提取出來即可 wx.getStorage({ key: 'openid',


                   success (res) { console.log(res.data)

                     wx.request({ url: 'https://www.xxx.com/send.php?openid='+res.data, data: {},


          header: { 'content-type': 'application/json' },


                       success (res) { // 推送 if(res.data.errcode == '43101'){ console.log("拒絕訂閱消息")

                         }else if(res.data.errcode == '0'){ console.log("發(fā)送訂閱消息")

                         }else{ console.log("未知錯誤")

                         }

                       }

                     })

                   },

                   fail (res) { console.log("沒有openid,無法發(fā)送")

                   }

                 })

               }

             })

           }

          })

          后端

          <?php //設(shè)置 header  header("Content-type:application/json"); //接收參數(shù) $openid = $_GET["openid"];


          //初始化 CURL $ch = curl_init(); // 獲取access_token // include ''; require_once("access_token.php");


          //目標服務(wù)器地址  curl_setopt($ch, CURLOPT_URL,


          'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$access_token);


          //設(shè)置要POST的數(shù)據(jù) curl_setopt($ch, CURLOPT_POST, true);


          $data = '{

           "touser": "'.$openid.'",

           "template_id": "模板ID",

           "page": "pages/index/index",// 要跳轉(zhuǎn)的頁面

           "lang":"zh_CN",

           "data": {

               "thing4": {

                   "value": "歡迎使用專插本最前線小程序"

               },

               "thing5": {

                   "value": "小程序由公眾號:廣東專插本最前線開發(fā)"

               }

           }

          }';

          curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); // 對認證證書來源的檢查 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 從證書中檢查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); //獲取的信息以文件流的形式返回,而不是直接輸出 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //發(fā)起請求 $result = curl_exec($ch); echo $result; //關(guān)閉請求 curl_close($ch); ?>

          access_token.php


          <?php // 聲明頁面header header("Content-type:charset=utf-8"); // APPID、APPSECRET $appid = "你的小程序APPID";

          $appsecret = "你的小程序APPSECRET"; // 獲取access_token和jsapi_ticket function getToken(){

             $file = file_get_contents("access_token.json",true);//讀取access_token.json里面的數(shù)據(jù) $result = json_decode($file,true); //判斷access_token是否在有效期內(nèi),如果在有效期則獲取緩存的access_token //如果過期了則請求接口生成新的access_token并且緩存access_token.json if (time() > $result['expires']){

                 $data = array();

                 $data['access_token'] = getNewToken();

                 $data['expires'] = time()+7000;

                 $jsonStr =  json_encode($data);

                 $fp = fopen("access_token.json", "w");

                 fwrite($fp, $jsonStr);

                 fclose($fp); return $data['access_token'];

             }else{ return $result['access_token'];

             }

          } //獲取新的access_token function getNewToken($appid,$appsecret){ global $appid; global $appsecret;

             $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret."";

             $access_token_Arr =  file_get_contents($url);

             $token_jsonarr = json_decode($access_token_Arr, true); return $token_jsonarr["access_token"];

          }


          $access_token = getToken(); ?>

          邏輯

          1、通過button控件出發(fā)send函數(shù)

          2、send函數(shù)調(diào)用wx.requestSubscribeMessageAPI,微信允許接收訂閱消息

          3、 wx.request向send.php后端請求

          4、后端獲取access_token后,調(diào)用訂閱消息接口POST一段json數(shù)據(jù)即可發(fā)送訂閱消息


          官方文檔

          1、https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html


          2、https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.addTemplate.html


          Author:TANKING

          Date:2020-08-24

          Web:http://www.likeyun.cn/

          WeChat:face6009

          藍藍設(shè)計www.sdgs6788.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)

          日歷

          鏈接

          個人資料

          藍藍設(shè)計的小編 http://www.sdgs6788.com

          存檔

          国产精品久久久久久影院| 久久精品国产只有精品2020| 人妻系列无码专区久久五月天| 噜噜噜色噜噜噜久久| 久久久久亚洲精品无码蜜桃| 久久香蕉一级毛片| 超级97碰碰碰碰久久久久最新| 国内精品九九久久久精品| 国产精品嫩草影院久久| 三级片免费观看久久| 久久超碰97人人做人人爱| 久久免费视频网站| 亚洲人AV永久一区二区三区久久| 亚洲愉拍99热成人精品热久久| 精品久久久久久无码专区| 国产福利电影一区二区三区,免费久久久久久久精 | 色婷婷久久久SWAG精品| 久久亚洲视频| 久久久无码精品亚洲日韩按摩| 国产国产成人精品久久| 久久久久无码中| 99精品久久精品| 中文精品99久久国产| 成人久久综合网| 久久香综合精品久久伊人| 久久93精品国产91久久综合| 久久久久AV综合网成人| 久久亚洲电影| 成人国内精品久久久久影院VR| 热99RE久久精品这里都是精品免费| 国产精品毛片久久久久久久| 久久久精品人妻一区二区三区蜜桃| 久久成人影院精品777| 色综合久久久久综合体桃花网| 久久伊人亚洲AV无码网站| 成人资源影音先锋久久资源网| 婷婷久久久亚洲欧洲日产国码AV | 久久精品a亚洲国产v高清不卡 | 久久人妻少妇嫩草AV蜜桃| 国产精品久久久久久久久久免费| 日韩精品久久无码中文字幕|