文章插图
- 然后看下调用这个云函数的地方
如果用户没有授权,我们推送会报如下错误如果用户授权过,我们就可以成功推送了,推送后的打印日志如下还记得我们真机上的授权吗,如果用户只是点击了允许,没有选择一直允许,那我我们在推送成功一次后,如果再次推送,就需要用户重新授权 。否则,还是会犯这个错误的所以我们用户点击一次允许,我们就可以推送一次消息,比如,我点击了4次允许那么我就可以成功地推送4次
文章插图
可以看到,我们成功地收到 上课提醒的模板消息,点击进去,就是我们具体的推送内容
文章插图
其实我这是连续收到了4条消息,因为我点击了4次允许推送,所以就可以成功地推送4次 。
到这里我们就完整地实现模板消息推送功能了,下面我把主要代码贴给大家,大家也可以私信我获取完整源码 。
- index.wxml
<button bindtap="shouquan" type='primary'>获取订阅消息授权</button><button bindtap="getOpenid">获取用户的openid并推送消息</button>
- index.js
//编程小石头wechat:2501902696Page({//获取授权的点击事件shouquan() {wx.requestSubscribeMessage({tmplIds: ['CFeSWarQLMPyPjwmiy6AV4eB-IZcipu48V8bFLkBzTU'], //这里填入我们生成的模板idsuccess(res) {console.log('授权成功', res)},fail(res) {console.log('授权失败', res)}})},//获取用户的openidgetOpenid() {wx.cloud.callFunction({name: "getopenid"}).then(res => {let openid = res.result.openidconsole.log("获取openid成功", openid)this.send(openid)}).catch(res => {console.log("获取openid失败", res)})},//发送模板消息到指定用户,推送之前要先获取用户的openidsend(openid) {wx.cloud.callFunction({name: "sendMsg",data: {openid: openid}}).then(res => {console.log("推送消息成功", res)}).catch(res => {console.log("推送消息失败", res)})}})
- 推送对应的云函数
//编程小石头wechat:2501902696const cloud = require('wx-server-sdk')cloud.init()exports.main = async(event, context) => {try {const result = await cloud.openapi.subscribeMessage.send({touser: event.openid, //要推送给那个用户page: 'pages/index/index', //要跳转到那个小程序页面data: {//推送的内容thing1: {value: '小程序入门课程'},thing6: {value: '杭州浙江大学'},thing7: {value: '第一章第一节'}},templateId: 'CFeSWarQLMPyPjwmiy6AV4eB-IZcipu48V8bFLkBzTU' //模板id})console.log(result)return result} catch (err) {console.log(err)return err}}
后面我会分享更多小程序相关的知识出来,请持续关注 。注意:授权一次,只能发送一条消息 。
二,定时发送消息我们上面的用户授权和发送消息都需要手动点击才可以实现发送 。但是有时候我们需要定时提醒用户,比如做的闹钟小程序,要定时提醒用户,该怎么做呢,接下来我们就来实现定时发送消息的功能 。
- 注意
当然了这里还是要先授权才可以发送消息的,同样也是授权一次可以发送一条消息,所以这里要尽量先多授权几次
文章插图
大家有时间可以自己去仔细品尝下
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/triggers.html
文章插图
官方已经教我们怎么写定时触发器了
2-2,定时触发器时间设置规则建议大家仔细去读下官方文档 。
文章插图
下面是官方给出的一些示例
文章插图
我这里就取用每隔5秒通过该定时触发器调用下我们的云函数,实现订阅消息的发送 。
2-3,添加定时触发器添加步骤如下图,我们需要新建一个云函数timer
文章插图
我们要在timer云函数里调用我们的fasong云函数来实现发送功能
推荐阅读
- 实战总结的7个C程序,好东西不私藏
- 2022必须拥有Chrome扩展程序 - 浏览器插件,让你上网效率翻倍
- 金俊眉属于小种红茶吗,金俊眉茶的功效与作用女人们
- 需万分小心的阳台风水的三宜六忌
- 阳台风水摆件转运的小窍门
- 小孩可以用红茶枕头,铁观音茶梗枕头的功效与作用点
- 工程建筑|美国一男子徒手爬上旧金山第一高楼 326米高耗时1个多小时:是个狠人
- 红茶里能放红糖吗,小孩能喝红糖姜茶的功效与作用
- 微信加好友验证消息怎么改?
- 劳动仲裁流程怎么走?