范例场景描述

活动发起人发起了一场活动,在有人通过微信小程序报名活动时,活动发起人/活动报名审核人员希望可以收到一条报名处理提醒消息。

实现流程

1. 选用订阅模板

登录到小程序后台

找到满足需求的模板,点击选用

(消息模板只能从已有的服务类目提供的公共模板中选取,若未发现合适的模板,可以考虑添加更多服务类目)


  • 勾选消息需要的字段
  • 拖动手柄可以调整字段顺序
  • 输入使用场景说明
  • 点击提交按钮

此时,便可在我的模板中,发现选中的模板,可以复制对应的模板ID,还可以查看模板详情


  • 此处的模板 ID 是开发时经常用到的字段,非常重要
  • 详细内容中各消息字段对应的字段,将用于自定义传参,如活动名称通过字段thing1进行自定义,详见下文的范例代码。

2. 获取用户授权

要想给用户发送消息,需先征得用户的同意(即用户需先订阅)

先写个订阅按钮

<t-grid-item text="订阅" icon="notification" bindtap="subscribe" />
  // 订阅subscribe() {wx.requestSubscribeMessage({// 输入对应的消息模板ID,可以是多个模板!tmplIds: ['1I9VUxqCEkYX*******QcFOb3LE1pE9coE'],success(res) {}})},

用户点击订阅按钮后,弹出消息提醒

  • 若想一次授权就能长期收到消息,需勾选总保持以上选择

3. 编写发送消息的云函数

创建并部署云函数 send_Msg,代码如下:

// 云函数入口文件
const cloud = require('wx-server-sdk')cloud.init({env: cloud.DYNAMIC_CURRENT_ENV
}) // 使用当前云环境// 云函数入口函数
exports.main = async (event, context) => {try {const result = await cloud.openapi.subscribeMessage.send({touser: event.openid, //接收消息的用户的openidpage: 'pages/components/party/detail/index?id=' + event.partyID, //点开消息打开的小程序页面//消息的内容data: {// 活动名称thing1: {value: event.partyName},// 活动时间date2: {value: event.date},// 报名人员name3: {value: event.name},// 备注thing5: {value: event.mark},},templateId: '1I9VUxqCEkY******E9coE' //模板id})return result} catch (err) {return err}
}
  • 核心参数为接收消息用户的 openid
  • 消息内容的字段,和消息模板详情中的字段对应!

4. 发送消息

  // 发送消息sendMsg(name) {let detail = this.data.detailwx.cloud.callFunction({name: 'send_Msg',data: {// 接收消息的用户的openidopenid: 'opzU14300narCLwCG0DJw_FGwbnA',// 活动idpartyID: detail._id,// 活动名称partyName: detail.title,// 活动时间date: detail.date,// 报名人姓名name: name,// 备注mark: "请尽快确认!",}}).then(res => {})},

当用户报名活动时,调用上方函数发送消息

        wx.showToast({title: '报名成功',})that.sendMsg(nickname)

【微信小程序】实战案例 -- 向订阅用户发送消息(范例:报名提醒)相关推荐

  1. 扫码进入微信小程序使用WIFI进行UDP通信发送消息

    项目前提:液晶屏不可操作无网络但是有热点,需要通过扫液晶屏上的二维码进入微信小程序配置连接WIFI 业务逻辑:手机扫码进入微信小程序,登录页面输入登录密码进入配置WIFI页面,配置WIFI页面输入当前 ...

  2. 微信小程序实战篇:商品属性联动选择(案例)

    本期的微信小程序实战篇来做一个电商网站经常用到的-商品属性联动选择的效果,素材参考了一点点奶茶. 效果演示: 商品属性联动.gif 代码示例 1.commodity.xml <!-- <v ...

  3. 小程序swiper怎么让内容撑开高度_[视频]微信小程序实战优购商城,涵盖你所学的技能点...

    很多友友都在找视频教程学习,IT技术教程分享网[http://www.mano100.cn]已经为你收集了各种各样的视频教程,不用再到处找视频教程学习了.无论是免费的,还是收费的,都在这里了.只要你注 ...

  4. 微信小程序实战 购物车功能

    代码地址如下: http://www.demodashi.com/demo/12400.html 一.准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.com ...

  5. 微信小程序入门案例-会议邀请函

    微信小程序入门案例-会议邀请函 涉及内容:地图 目录结构: pages\index\index.wxml <view class="box"><view clas ...

  6. 微信小程序实战教程-闫涛-专题视频课程

    微信小程序实战教程-38472人已学习 课程介绍         介绍微信小程序API,包括页面布局.网络交互.媒体文件.本地缓存.地理位置.WebSocket和传感器技术,后以翼健康为模板,开发一套 ...

  7. 微信小程序实战—快递查询

    微信小程序实战-快递查询案例 需求:输入快递单号,点击查询按钮即可查看快递信息 api:阿里云全国快递物流查询 关键代码: 数据定义(index.js) data: {motto: 'Hello Wo ...

  8. 基于云开发的微信小程序实战教程(二)

    基于云开发的微信小程序实战教程(二) 上篇文章中,简单介绍了下小程序云开发的概念,还有开发工具的安装和配置,云开发环境已经搭建完毕. 本章主要内容:微信开发者工具如何使用,小程序云开发的基础目录结构 ...

  9. 微信小程序之仿淘宝分类入口 —— 微信小程序实战商城系列(2)

    分类入口,已经成为了商城项目必须的布局之一,这里以仿照淘宝的分类入口来做案例 下图红框部分,就是本文重点讲解部分,另外本文并没有写点击某个入口跳转页面. 如需学习页面跳转的同学,可以参考此文 微信小程 ...

最新文章

  1. 关于keras的class_weight与sample_weight(解决样本不均衡或类别不均衡问题)
  2. Kubernetes初步了解及入门
  3. XSD /xml 跟元素声明
  4. linux c 符号表,C中的符号表
  5. leetcode213. 打家劫舍 II
  6. 【Java】使用For和递归解决不死神兔问题,求第20个月兔子的对数
  7. python列表append()函数
  8. 范文杰 201421410010 作业2
  9. Python开发第一步的环境搭建
  10. linux 单网卡 双网段,用单网卡连接两个网段
  11. maccms代码审计——前台sql注入漏洞
  12. CentOS 8.3.2011 镜像在PC上安装选择安装源时提示:设置基础软件仓库时出错
  13. DeFi 可以从金融危机中学到三件事
  14. PCB制造常用的13种测试方法,你了解几种?
  15. Ubuntu下安装rsh实现无密码访问
  16. 夕阳落山图(js 夕阳下山)
  17. 自动化功能测试-Athrun—IOS学习之旅文档
  18. pip速度慢,更换清华镜像源试试?
  19. http会话的四个过程
  20. JAVA毕业设计人事管理系统计算机源码+lw文档+系统+调试部署+数据库

热门文章

  1. Django的视图View详解
  2. 如何提取文件名称到excel
  3. python爬虫之woff 超详细 woff字体反扒 起点woff爬虫 字体爬虫 起点中文网woff
  4. Qt QImage 显示TIFF格式图片
  5. 高等数学教程【单变量微积分】内容目录
  6. 什么是编程语言C语言,什么是oc语言,oc语言是c语言吗?
  7. MyBatis一级缓存和二级缓存
  8. 商品流通的中间环节该如何面对互联网+
  9. 使用Java快速实现进度条(转)
  10. C语言基于socket的网络群聊室