700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 微信小程序云开发实现微信小程序订阅消息服务通知教程

微信小程序云开发实现微信小程序订阅消息服务通知教程

时间:2023-10-02 01:54:41

相关推荐

微信小程序云开发实现微信小程序订阅消息服务通知教程

微信小程序云开发实现微信小程序订阅消息服务通知教程

申请模板云函数小程序页面调试(我这里就直接真机测试了:)

申请模板

1、在这边菜单栏,找到“功能”里的“订阅消息”

2、在“公共模板库”里面选取自己想要的模板,

选取自己想要的消息即可。

云函数

微信小程序需要云开发的!

1、在云函数文件夹下,右键新建Node.js云函数(我记得没错的话,好像要下node.js,我也忘了。可以上网搜一搜。)

2、我这里建立了一个sende,然后在里面的index.js编写(在此之前需要先把自己云开发环境配好,在app.js,然后云函数文件夹右键第一个当前环境也要):

index.js代码:

// 云函数入口文件const cloud = require('wx-server-sdk')cloud.init()try{exports.main = async (event, context) => {const result = await //event是index.js传来的datacloud.openapi.subscribeMessage.send({touser: event._openid,//发送通知给谁的openiddata: {thing1: {value: event.me},thing2: {value: event.name}},templateId: event.templateId,//模板IDminiprogramState: 'developer',page:'pages/index/index'//这个是发送完服务通知用户点击消息后跳转的页面})return event.startdate}} catch (err) {return err}

这里面的thing1数据赋值,是看着自己的模板来的

3、云端创建与部署,如果提示wx-server-sdk什么问题的(具体也可以上网找一找,当时我也是上网解决的),用终端打开,然后输入

npm install --save wx-server-sdk@latest(前提是node.js下载了)

小程序页面

index.wxml:(wxss我就不发了,不影响,只是页面美观而已,就js能实现就可以了。)

<view bindtap="requestSubscribeMessage">接收服务通知</view><view bindtap="sendSubscribeMessage">发送服务通知</view>

index.js:

允许发送服务通知:

//允许接收服务通知async requestSubscribeMessage() {const templateId = '33CZgCi9EtThT5WwfeOspZ0qQqxi4QgbYtlGUTx6KrQ'//填入你自己想要的模板ID,记得复制粘贴全,我自己因为网页没开全,结果浪费半小时// const templateId2='9iF2Sid0tiFEsD3SWefVzcsNSuSUPqrBFYBDo1zGnEo'//可以多个模板ID,然后加入下面的tmplIds,现在一个小程序最多三个// const templateId3='B7taYlgSSRTEZuOLH5pMIDr4feVLYt7W1DiqcPtZyDQ'wx.requestSubscribeMessage({//tmplIds: [templateId,templateId2,templateId3],tmplIds: [templateId],success: (res) => {//if (res[templateId] === 'accept'&&res[templateId2] === 'accept'&&res[templateId3] === 'accept') {if (res[templateId] === 'accept') {this.setData({requestSubscribeMessageResult: '成功',})} else {this.setData({requestSubscribeMessageResult: `失败(${res[templateId]})`,})}},fail: (err) => {this.setData({requestSubscribeMessageResult: `失败(${JSON.stringify(err)})`,})},})},

发送服务通知,记得函数里面的_openid填进去:

//发送消息sendSubscribeMessage(e) {//调用云函数,wx.cloud.callFunction({name: 'sende',//data是用来传给云函数event的数据,你可以把你当前页面获取消息填写到服务通知里面data: {action: 'sendSubscribeMessage',templateId: '33CZgCi9EtThT5WwfeOspZ0qQqxi4QgbYtlGUTx6KrQ',//这里我就直接把模板ID传给云函数了me:'Test_me',name:'Test_activity',_openid:''//填入自己的openid},success: res => {console.warn('[云函数] [openapi] subscribeMessage.send 调用成功:', res)wx.showModal({title: '发送成功',content: '请返回微信主界面查看',showCancel: false,})wx.showToast({title: '发送成功,请返回微信主界面查看',})this.setData({subscribeMessageResult: JSON.stringify(res.result)})},fail: err => {wx.showToast({icon: 'none',title: '调用失败',})console.error('[云函数] [openapi] subscribeMessage.send 调用失败:', err)}})},

调试(我这里就直接真机测试了:)

如果在电脑上调试,记得把本地设置的版本弄高一点(版本低只能真机调试有结果):

点击接收服务通知,允许:

然后点击发送服务通知:

微信收到服务通知:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。