1.設(shè)置訂閱通知
1.在微信公眾平臺的訂閱消息頁面設(shè)置模板消息
2.后端發(fā)送訂閱消息需要得到用戶的唯一id
通過??wx.login() 獲取微信的唯一配置 code (每一個微信號只有一個code)
通過接口把獲取到的 code 發(fā)送給后端 獲取openid?
// 登錄之后獲取openid wx.login({ success(res) { let code = res.code; console.log(code); if (code) { // console.log('獲取用戶登錄憑證:' + code); // 通過后端接口發(fā)送請求把code傳給后端 get_openidApi({ code }).then((res) => { console.log(res); // 后端返回 openid 存儲到本地 wx.setStorageSync('openid', res.data) }) } else { console.log('獲取用戶登錄態(tài)失?。? + res.errMsg); } } });
?3.在登錄頁面點擊登錄按鈕的時候讓用戶同意接收訂閱消息
使用??wx.requestSubscribeMessage() 拉起訂閱同意窗口
注意:1.必須通過用戶點擊事件觸發(fā)
? ? ? ? ? ?2.必須在觸發(fā)事件的第一層,即:
login(){ // 同意消息訂閱 wx.requestSubscribeMessage({ // 模板消息id 有幾種訂閱類型就放幾個 tmplIds: ["第一個模板消息id","第二個模板消息id","第二個模板消息id"], success(res) { console.log(res); } }) }
如果需要判斷是否觸發(fā)訂閱申請通知,也不能使用if else包起來,要保證必須在觸發(fā)事件的第一層括號里面,即:
login(){ // 定義變量控制是否觸發(fā)訂閱 let subscribe = false // 比如是需要登錄成功之后彈出訂閱申請就在登錄成功之后設(shè)置 subscribe = true if (!subscribe) { // return 會阻止后面程序的執(zhí)行 return } // 同意消息訂閱 wx.requestSubscribeMessage({ // 模板消息id 有幾種訂閱類型就放幾個 tmplIds: ["第一個模板消息id","第二個模板消息id","第二個模板消息id"], success(res) { console.log(res); } }) }
?
?2.一次性訂閱 突破次數(shù)限制方法
一次性訂閱消息模板規(guī)定 訂閱一次才可以接收一次訂閱
在實際使用中一次根本不夠,也不可能收到一個訂閱就馬上進入小程序點一次同意接收訂閱消息
在開發(fā)過程中偶然發(fā)現(xiàn),多次點擊同意接收訂閱消息申請,發(fā)送訂閱消息的次數(shù)可以疊加,文章來源:http://www.zghlxwxcb.cn/news/detail-549867.html
在手機上面勾選 總是保持以上選擇 這個選項 代碼執(zhí)行拉起申請訂閱消息不會出現(xiàn)彈窗沒有點擊同意都會訂閱次數(shù)加1,所以利用這個bug可以在用戶使用小程序的時候在多個必經(jīng)之路上面加訂閱申請,就可以實現(xiàn)無限次發(fā)送訂閱消息,必須是在用戶活躍使用小程序的情況下文章來源地址http://www.zghlxwxcb.cn/news/detail-549867.html
到了這里,關(guān)于微信小程序——訂閱通知消息的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!