微信小程序云开发定时推送订阅消息

这篇具有很好参考价值的文章主要介绍了微信小程序云开发定时推送订阅消息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序云开发定时推送订阅消息

1.找到自己想要的模板

(1)点击订阅消息
微信小程序云开发定时推送订阅消息
(2)点击公共模板库,然后找到想要选用的模板,点击选用。
微信小程序云开发定时推送订阅消息
微信小程序云开发定时推送订阅消息
(3)在我的模板里面,复制模板id。
微信小程序云开发定时推送订阅消息

如果找不到想要用的模板,可以在公共模板的最后一页,点击下图中圈出来的,去申请自己想要的模板。
微信小程序云开发定时推送订阅消息

2.代码部分

(1)云函数部分的代码

config.json
云函数配置文件,用于定时提醒,具体规则可以去参考一下微信的定时触发器

"permissions": {
    "openapi": ["uniformMessage.send"] //使用subscribeMessage.send
  },
  "triggers": [
    {
      "name": "myTrigger",
      "type": "timer",
      "config": "0 0 9 * * * *" 
    }
  ]

index.js

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

const db = cloud.database()
const _ = db.command
const $ = db.command.aggregate
// 云函数入口函数
exports.main = async (event, context) => {
  try {
    //订餐提醒
    const userList =await db.collection('user').where({
      order_type: _.not(_.eq('a'))
    }).get()
    console.log("userList",userList)
    console.log("time",timeStampToTime(new Date()))
    //循环消息队列
    const sendPromises=userList.data.map(async user=>{
      try {
         // 发送订阅消息
         await cloud.openapi.subscribeMessage.send({
          "touser": user.openId, //要推送给那个用户
          "page": 'pages/login/login',
          "data": {//推送的内容
            "date2": {
              "value": timeStampToTime(new Date())
            },
            "phrase3": {
              "value": user.user_name
            },
            "thing4": {
              "value": '如果已经点餐,请忽略该消息,点击查看详情'
            },
            "thing5": {
              "value": '如果已经点餐,请忽略该消息,点击查看详情'
            }
          },
          "templateId": '模板id',//模板id
          "miniprogramState": 'trial' //developer为开发版;trial为体验版;formal为正式版;默认为正式版
        })
      } catch (err) {
        console.log(err)
        return err
      }
      return Promise.all(sendPromises)
    })
  } catch(err){
    console.log(err)
    return err
  }
}
//转换成消息模版所需要的格式,date 年/月/日 时:分:秒
function timeStampToTime(date) {
  const formatNumber = n => {
    n = n.toString()
    return n[1] ? n : `0${n}`
  }
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()
  return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
}


(2)页面逻辑层js代码

这个事件触发需要与按钮绑定,不能再页面初次渲染时(也就是onLoad函数)进行触发。

 //去食堂管理页面
  toCanteen(e) {
    //查询用户是否选择了一只接收了订阅消息
    wx.getSetting({
      withSubscriptions:true,
      success:res=>{
        console.log(res.subscriptionsSetting)
        console.log(!res.subscriptionsSetting.mainSwitch)
        console.log(res.subscriptionsSetting.itemSettings)
        // 订阅消息里面的itemSettings属性是否为空
        if(res.subscriptionsSetting.itemSettings==null){
          this.requestSubscribeMessage()
        }
        else{
          //关于用户对提醒模版id的授权是否为接受
          if (res.subscriptionsSetting.itemSettings['模板id']=='accept')  {
            console.log('用户点击了“总是保持以上,不再询问”')
          } else {
            console.log('用户没有点击“总是保持以上,不再询问”,每次都会调起授权页面')
            this.requestSubscribeMessage()
          }
        }
      }
    })
    wx.navigateTo({
      url: '/pages/canteen/canteen'
    })
  },
  //获取订阅消息授权
  requestSubscribeMessage(){
    wx.requestSubscribeMessage({
      tmplIds: ['模板id'],
      success:res=>{
        console.log("订阅消息",res)
      },
      fail:err=>{
        this.showtoast('出错了')
        console.log("订阅消息失败",err)
      }
    })
  }

自此,定时推送订阅消息就实现了。文章来源地址https://www.toymoban.com/news/detail-493555.html

到了这里,关于微信小程序云开发定时推送订阅消息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序订阅消息推送(附带后台java代码)

    官方文档: 小程序前端:点击进入 小程序服务端:点击进入 一,代码实现(后端) ①定义实体类 ②定义HttpUtil类(Get请求) ③验证token过期时间 ④小程序发送消息 AuthUtil工具类

    2024年02月14日
    浏览(45)
  • 如何为微信小程序添加订阅消息和推送通知功能

    为微信小程序添加订阅消息和推送通知功能是非常有用的,它可以让用户在重要的事件发生时及时地收到通知。在本文中,我们将详细介绍如何为微信小程序添加这两种功能。 一、订阅消息 订阅消息是一种新的消息类型,用户可以选择是否订阅它们。订阅消息一般用于向用

    2024年02月04日
    浏览(74)
  • uni-app中实现微信小程序/公众号订阅消息推送功能

    👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的编码爱好者 大家好,我是全栈 IT 工程师摘星人 欢迎分享 / 收藏 / 赞 / 在看! 开发业务时时常遇到需要向用户发送一些通知,如欠费通知、会员到期通知等等。

    2024年02月02日
    浏览(136)
  • 手把手教你实现微信小程序向特定用户推送一次性订阅消息

    目前有一个已 微信认证 的 订阅号 类型公众号,一个 微信认证 小程序,小程序和公众号互相关联。尚不清楚是否必须微信认证或特定类型,因为目前没遇到类型不匹配或相关的问题,发送微信小程序一次性订阅消息的相关限制较少 1、功能介绍 订阅消息推送位置:服务通知

    2024年02月08日
    浏览(55)
  • Java开发微信小程序订阅消息推送

    使用到开源工具WxJava 这里环境使用到springboot 框架,废话不多说直接上干货。 pom.xml引用 application配置 templateId具体申请在微信公众平台 具体如下   wx配置代码编写 模板代码编写 这里注意模板对应的字段 具体代码  然后和前端一配合就完事了,非常简单

    2024年02月16日
    浏览(53)
  • 微信小程序云开发通过服务号给用户推送模板消息

    主要参考下面两个文章 1、云函数接收公众号消息推送 | 微信开放社区 ​​​​​​2、微信小程序通过公众号(服务号)推送通知或提醒步骤及代码(一,获取推送前所需信息)_微信小程序推送服务通知_庆登登登的博客-CSDN博客  一些基本的概念就不讲了,这里主要讲下步骤和我

    2024年02月09日
    浏览(53)
  • 微信公众号 - Java推送小程序订阅消息给用户_java 通过微信公众号发送订阅通知

    不啰嗦,我们直接开始! 本文使用体验版小程序进行调试。 1、登录微信公众平台 点开下面链接,使用微信扫码 微信公众平台 然后选择一个小程序并登录 2、在小程序后台找到Appid、AppSecret、Token、EncodingAESKey等参数 AppSecret忘记了可以自行重置 往下翻,在消息推送这儿能看到

    2024年04月26日
    浏览(49)
  • java实现微信小程序订阅和推送订阅信息

    1、进入微信公众平台,扫码登录 2、获取appid和secret 3、配置模板 在对应yml中配置 前端调用弹出是否订阅时调用后台服务 1、controller 2、后端接参AddSinosoftWxSubscribeParam 3、service 一般时通过时间或者调度进行调用服务,以下只进行服务实现展示 1、在domain层写send方法 1、首先小

    2024年02月13日
    浏览(51)
  • 微信小程序的订阅消息是一个允许开发者向用户发送重要通知的功能。这里为您展示如何实现小程序订阅消息的基本步骤和代码示例

    步骤 1: 获取模板 ID 首先,您需要登录微信公众平台,进入「小程序管理」后台,找到“设置” “开发设置” “订阅消息”,然后选择并配置所需的模板,记录模板 ID。 步骤 2: 小程序前端请求订阅 在小程序的某个页面或组件中,当用户执行某个操作(例如点击按钮)时,可

    2024年02月04日
    浏览(94)
  • 微信小程序订阅消息

    subscribeMessage.send | 微信开放文档 由于业务需求 , 需要实现小程序订单状态发送给用户 , 于是微信小程序发送订阅消息就被找到了 这里前端是使用了uniapp , 具体实现方式不清楚,就不瞎bb了 后端这里就是上面的接口文档 , 总共需要是三个步骤 1. 获取小程序 appid 和 密钥 2. 订阅消

    2024年02月09日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包