知識
不管是網(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)案例查看更多
相關(guān)閱讀
- 云南小程序被騙
- 昆明小程序代建
- 云南網(wǎng)站建設(shè)特性
- 網(wǎng)站開發(fā)哪家好
- 網(wǎng)站建設(shè)公司網(wǎng)站
- 做網(wǎng)站
- 云南網(wǎng)站建設(shè)首選
- 全國前十名小程序開發(fā)公司
- 云南小程序開發(fā)制作
- 網(wǎng)站排名優(yōu)化
- 云南網(wǎng)站建設(shè)公司
- 網(wǎng)站建設(shè)案例
- 百度小程序
- 小程序開發(fā)排名前十名
- 汽車報廢系統(tǒng)
- 曲靖小程序開發(fā)
- 云南科技公司
- 報廢車回收管理系統(tǒng)
- 網(wǎng)站排名
- 昆明軟件定制公司
- 微信分銷
- 網(wǎng)絡(luò)公司排名
- 前端技術(shù)
- 云南建站公司
- 昆明小程序開發(fā)
- web開發(fā)技術(shù)
- 旅游網(wǎng)站建設(shè)
- 云南網(wǎng)站建設(shè)哪家強
- 麗江小程序開發(fā)
- 貴州小程序開發(fā)