手机国产精品一区二区,另类第一页,亚欧在线,日韩一国产极品99热在线播放69_国产美女久久精品香蕉欧美_亚州中文无码aⅤ在线_免费国产v片在线

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

2020-8-20    seo達人

之前的模板消息已經廢棄,現(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 //設置 header  header("Content-type:application/json"); //接收參數(shù) $openid = $_GET["openid"];


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


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


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


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


$data = '{

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

 "template_id": "模板ID",

 "page": "pages/index/index",// 要跳轉的頁面

 "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; //關閉請求 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是否在有效期內,如果在有效期則獲取緩存的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ù)調用wx.requestSubscribeMessageAPI,微信允許接收訂閱消息

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

4、后端獲取access_token后,調用訂閱消息接口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

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

分享本文至:

日歷

鏈接

個人資料

藍藍設計的小編 http://www.88yangsc.com

存檔