• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

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

    2020-8-20    seo達(dá)人

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


    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)=> { // 在登錄的時(shí)候,獲取到的openid進(jìn)行緩存,現(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("未知錯(cuò)誤")

                   }

                 }

               })

             },

             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");


    //目標(biāo)服務(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": "小程序由公眾號(hào):廣東專插本最前線開發(fā)"

         }

     }

    }';

    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); // 對(duì)認(rèn)證證書來源的檢查 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 從證書中檢查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); //獲取的信息以文件流的形式返回,而不是直接輸出 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //發(fā)起請(qǐng)求 $result = curl_exec($ch); echo $result; //關(guān)閉請(qǐng)求 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 //如果過期了則請(qǐng)求接口生成新的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后端請(qǐng)求

    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

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

    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 2022年亚洲午夜一区二区福利| 亚洲精品第一页不卡| 中文字幕av一区二区三区欲色| 额敏县| 婷婷国产天堂久久综合五月| 三上悠亚网站在线观看一区二区| 日本一区不卡高清在线观看| 九九热这里都是精品| 91精品国产午夜福利| 在线观看欧美一区二区三区| 偷窥盗摄国产在线视频| 色二av手机版在线| 国产午夜精品久久久久小说| 成人国成人国产SUV| 浏阳市| 丁香花在线观看免费观看图片| 亚洲精品精华液一区| 在线A级毛片无码免费真人| 宜宾县| 久久久久亚洲AV无码专| 精品国产自在现线看久久| 91n.处女在线草视频在线看| 成人一区二区国产精品| 亚洲一区二区三区中文字幕| 天堂在线WWW天堂中文在线| 商都县| 国产av剧情md精品麻豆| 欧美精品全部免费观看| 国产高清第一页| 国产精品va在线观看入口| 亚洲黄片一区二区三区| 中文无码伦AV中文字幕在线| 青草导航| 亚洲成人动漫在线观看| 亚洲一区二区三区av免费| 久久中文字幕一区二区| 遂昌县| 在线人成精品免费视频| 国产草草影院ccyycom| 超碰97人人做人人爱亚洲| 大量国产激情视频在线观看|