欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序訂閱消息功能實現(xiàn) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

微信小程序訂閱消息功能實現(xiàn)

發(fā)表時間:2021-1-5

發(fā)布人:葵宇科技

瀏覽次數(shù):109

本篇介紹如何自建服務(wù)器使用微信小程序的訂閱消息功能,消息能力是小程序能力中的重要組成,為實現(xiàn)服務(wù)的閉環(huán)和更優(yōu)的體驗。使用方法步驟如下:

  • 步驟一:獲取模板 ID
  • 步驟二:獲取下發(fā)權(quán)限
  • 步驟三:調(diào)用接口下發(fā)訂閱消息

步驟一:獲取模板 ID

在使模板的過程中,我們必須知道要獲取的是哪個模板,微信官方為我們提供了這樣的模板,我們需要訂閱模板,并且獲取模板的唯一標(biāo)識id:

  • 在微信公眾平臺手動配置獲取模板 ID
  • 網(wǎng)址:https://mp.weixin.qq.com 獲取模板
  • 如果沒有合適的模板,可以申請?zhí)砑有履0?,審核通過后可使用

在這里插入圖片描述

步驟二:獲取下發(fā)權(quán)限

下發(fā)權(quán)限的獲取十分簡單,只需要在小程序端調(diào)用requestSubscribeMessage API即可
參數(shù)如下:
在這里插入圖片描述
使用方法:

wx.requestSubscribeMessage({
  tmplIds: [''],
  success (res) { }
})

這個時候我們可以看到調(diào)用時,屏幕下部彈出一個消息框:

在這里插入圖片描述

步驟三:調(diào)用接口下發(fā)訂閱消息

(1)下發(fā)消息的核心在于發(fā)送POST請求:subscribeMessage.send,通過此條請求我們將獲得下發(fā)能力:

  • subscribeMessage.send支持https調(diào)用和云調(diào)用
  • 請求地址:POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
  • 請求參數(shù)
  • 請求示例:
{
  "touser": "OPENID",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "miniprogram_state":"developer",
  "lang":"zh_CN",
  "data": {
      "number01": {
          "value": "339208499"
      },
      "date01": {
          "value": "2015年01月05日"
      },
      "site01": {
          "value": "TIT創(chuàng)意園"
      } ,
      "site02": {
          "value": "廣州市新港中路397號"
      }
  }
}

(2)請求并不復(fù)雜,重要的是參數(shù)的獲取,發(fā)送請求我們至少需要這些參數(shù):

  • access_token接口調(diào)用憑證
  • touser用戶的 openid
  • 所需下發(fā)的訂閱模板id
  • 以上三個參數(shù)我們均已經(jīng)獲取,下面開始將數(shù)據(jù)傳入服務(wù)器

數(shù)據(jù)包部分:data在前端填寫好參數(shù),傳入服務(wù)器,注意數(shù)據(jù)包的參數(shù)規(guī)則:

例如,模板的內(nèi)容為

姓名: {{name01.DATA}}
金額: {{amount01.DATA}}
行程: {{thing01.DATA}}
日期: {{date01.DATA}}

則對應(yīng)的json為

{
  "touser": "OPENID",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "data": {
      "name01": {
          "value": "某某"
      },
      "amount01": {
          "value": "¥100"
      },
      "thing01": {
          "value": "廣州至北京"
      } ,
      "date01": {
          "value": "2018-01-01"
      }
  }
}
  • 用這樣的參數(shù)規(guī)則我們將前端的參數(shù)傳入后臺:
  //發(fā)送訂閱消息
  message: function () {
    var that = this;
    //訂閱消息模板id
    var template_id ="fqgotens_HRal3Ygiy7_WafYLsvDyMxvnNv9P8uJ_Ro";
    wx.requestSubscribeMessage({
      tmplIds: ['fqgotens_HRal3Ygiy7_WafYLsvDyMxvnNv9P8uJ_Ro'],
      success(res) {
      //發(fā)送access_token請求
        wx.request({
          url: 'https://littlede.applinzi.com/message.php',
          data:{
            access_token: that.data.accessToken,
            //數(shù)據(jù)包
            data:{
            //openid
              "touser": that.data.openid,
            //模板id
              "template_id": template_id,
              "page": "index",
              "miniprogram_state": "developer",
              "lang": "zh_CN",
              "data": {
                "date1": {
                  "value": "2020年02月18日"
                },
                "phrase2": {
                  "value": "岳陽市"
                },
                "phrase3": {
                  "value": "晴"
                },
                "character_string4": {
                  "value": "15℃"
                }
              }
            }
          },
          success: function(res) {
            console.log("訂閱成功");
            console.log(res);
          },
          fail: function(res) {
            console.log("訂閱失敗");
          },
        })
      }
    })
  },
  • 服務(wù)器端代碼:
    獲取參數(shù)
    發(fā)送post請求

	//獲取參數(shù)
	$access_token=$_GET["access_token"];
	$data=$_GET["data"];
	//拼接subscribeMessage.send的URL
	$api="https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token={$access_token}";
    //php post請求網(wǎng)絡(luò)的方法
   function http_request($url,$data = null,$headers=array())
    {
        $curl = curl_init();
        if( count($headers) >= 1 ){
            curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        }
        curl_setopt($curl, CURLOPT_URL, $url);

        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

        if (!empty($data)){
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }
	$str=http_request($api,$data);
	echo $str;
?>

最后我們調(diào)用函數(shù),獲取用戶openid,獲取access_token,獲取模板id,發(fā)送subscribeMessage.send`post請求,可以看到用戶成功接收到訂閱消息:

在這里插入圖片描述

相關(guān)案例查看更多