本篇文章給大家分享的是有關(guān)怎么在微信小程序中實(shí)現(xiàn)消息推送,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)成立與2013年,先為李滄等服務(wù)建站,李滄等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為李滄企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、準(zhǔn)備工作
首先,在微信公眾平臺(tái)開通消息推送功能,并添加消息模板??梢詮哪0鍘?kù)選擇模板也可以創(chuàng)建一個(gè)模板,模板添加之后,模板ID我們接下來要用的。
發(fā)送模板消息需要用到accesstoken、formId和openID。accesstoken獲取及更新可以看我的上一篇文章;formID就是消息模板ID,openID我們最好在獲取用戶信息或用戶登錄時(shí)儲(chǔ)存到全局變量里。
二、獲取formID
在需要觸發(fā)消息推送的頁(yè)面添加提交表單的事件。目的是得到formID,formID是消息推送時(shí)必須的參數(shù)。
以上代碼中“getFormID”是提交表單時(shí)觸發(fā)的事件。
getFormID: function (e) { this.setData({ formId: e.detail.formId }) }
以上方法是獲取formId。
三、配置消息模板參數(shù),并傳給后臺(tái)
var config = require('../config.js') var app = getApp(); function pushMsg(formID, access_token){ var openId = app.globalData.userInfo.openId; var messageDemo = { touser: openId,//openId template_id: 'PjtLeqq-UeF49r5jr88s27HBzBDobijr6QfiwJwIkPg',//模板消息id, page: 'pages/index/index',//點(diǎn)擊詳情時(shí)跳轉(zhuǎn)的主頁(yè) form_id: formID,//formID data: {//下面的keyword*是設(shè)置的模板消息的關(guān)鍵詞變量 "keyword1": { "value": "keyword1", "color": "#4a4a4a" }, "keyword2": { "value": "keyword2", "color": "#9b9b9b" }, "keyword3": { "value": "keyword3", "color": "red" } }, color: 'red',//顏色 emphasis_keyword: 'keyword3.DATA'//需要著重顯示的關(guān)鍵詞 } wx.request({ url: config.service.sendMsgUrl, data: { value: messageDemo, access_token: access_token}, method: 'POST', success: function (res) { console.log("push msg"); console.log(res); }, fail: function (err) { console.log("push err") console.log(err); } }); } module.exports = { pushMsg: pushMsg }
四、推送消息
const request = require('../tools/ih_request'); var conf = require('../config.js') module.exports = async (ctx, next) => { var body = ctx.request.body.value await request.postJson({ url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' + ctx.request.body.access_token, body: body, success: function (res) { ctx.body = { result: res } console.log('res=',res); }, error: function (err) { ctx.body = { result: err } console.log(err); } });}
ih_request.js
const request = require('request'); var ih_request = {}; module.exports = ih_request; ih_request.postJson = async function (option) { var res = await request({ url: option.url, method: 'post', headers: { 'content-type': 'application/json' }, body: JSON.stringify(option.body), }, function (err, res, body) { res ? option.success(body) : option.error(res.msg); console.log('MSGresult=', body); }); }
以上就是怎么在微信小程序中實(shí)現(xiàn)消息推送,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。