微信小程序> 微信小程序推送消息,微信小程序开发消息推送

微信小程序推送消息,微信小程序开发消息推送

浏览量:1578 时间: 来源:fz250052
微信小程序的消息推送简单的说就是发送一条微信通知给用户,用户点开消息可以查看消息内容,可以链接进入到小程序的指定页面。
微信小程序消息推送需要用户触发动作才能发送消息,比如用户提交订单、支付成功。一次只能发一条,当然可以通过某种方法发送多条,小的就不在这里赘述了。下面就介绍一下如何推送消息。
一、准备工作
首先,在微信公众平台开通消息推送功能,并添加消息模板。可以从模板库选择模板也可以创建一个模板,模板添加之后,模板ID我们接下来要用的。
发送模板消息需要用到accesstoken、formId和openID。accesstoken获取及更新可以看我的上一篇文章;formID就是消息模板ID,openID我们最好在获取用户信息或用户登录时储存到全局变量里。

二、获取formID。
在需要触发消息推送的页面添加提交表单的事件。目的是得到formID,formID是消息推送时必须的参数。
formname='pushMsgFm'report-submit='true'bindsubmit='getFormID'buttonform-type="submit"立即支付/button/form以上代码中“getFormID”是提交表单时触发的事件。
getFormID:function(e){this.setData({formId:e.detail.formId})}以上方法是获取formId。
三、配置消息模板参数,并传给后台。
varconfig=require('../config.js')varapp=getApp();functionpushMsg(formID,access_token){varopenId=app.globalData.userInfo.openId;varmessageDemo={touser:openId,//openIdtemplate_id:'PjtLeqq-UeF49r5jr88s27HBzBDobijr6QfiwJwIkPg',//模板消息id,page:'pages/index/index',//点击详情时跳转的主页form_id:formID,//formIDdata:{//下面的keyword是设置的模板消息的关键词变量"keyword1":{"value":"keyword1","color":"#4a4a4a"},"keyword2":{"value":"keyword2","color":"#9b9b9b"},"keyword3":{"value":"keyword3","color":"red"}},color:'red',//颜色emphasis_keyword:'keyword3.DATA'//需要着重显示的关键词}wx.request({url:config.service.sendMsgUrl,data:{value:messageDemo,access_token:access_token},method:'POST',success:function(res){console.log("pushmsg");console.log(res);},fail:function(err){console.log("pusherr")console.log(err);}});}module.exports={pushMsg:pushMsg}四、推送消息。
constrequest=require('../tools/ih_request');varconf=require('../config.js')module.exports=async(ctx,next)={varbody=ctx.request.body.valueawaitrequest.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
constrequest=require('request');varih_request={};module.exports=ih_request;ih_request.postJson=asyncfunction(option){varres=awaitrequest({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);});}

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎