微信小程序(订阅消息)

2023-10-31

小程序模板消息即将被废弃掉,于是有了新接口wx.requestSubscribeMessage

订阅消息文档

步骤:
1、获取用户openid 、access_token(前面文章提到过
2、获取模板 ID
3、获取下发权限(api)
4、发送订阅消息 (api)

模板id
在这里插入图片描述

小程序代码:
获取下发权限:

// login.js
requestMsg(){
    return new Promise((resolve, reject) => {
      wx.requestSubscribeMessage({
        tmplIds: ["MUtLwsw0xCndRULTgNHiXwGDyHJ-ZwAFL-b3kALcl0c"],
        success: (res) => {
          if (res['MUtLwsw0xCndRULTgNHiXwGDyHJ-ZwAFL-b3kALcl0c'] === 'accept'){
            wx.showToast({
              title: '订阅OK!',
              duration: 1000,
              success(data) {
                //成功
                resolve()
              }
            })
          }
        },
        fail(err) {
          //失败
          console.error(err);
          reject()
        }
      })
    })
  }
// index.wxml
<button  class="v-btn mt40" bindtap="sendMsg">发生订阅消息</button>

// index.js 
// 点击发生订阅
sendMsg:function(e){
    wx.request({
      url: 'https://cff.mynatapp.cc/wxXcx/sendMessage',
      method: 'POST',
      data: { },
      header: {
        'content-type': 'application/json' // 默认值
      },
      success(res) {
        console.log(res)
      }
    })
  }

nodejs(koa2)代码:
发送订阅消息:

//  index.js
const router = require('koa-router')()
const request  = require('superagent')
let AppID = 'xxxxx'
let AppSecret = 'xxxxx'
let access_token = 'xxxxx'
let openid = 'xxxxx'

// 点击发生订阅消息
router.post('/wxXcx/sendMessage', async (ctx, next) => {
    let requestData ={
        "touser": openid,
        "template_id": "MUtLwsw0xCndRULTgNHiXwGDyHJ-ZwAFL-b3kALcl0c",
        "page": "index",
        "data": {
            "phrase1": {
                "value": "王小二"
            },
            "date5": {
                "value": "2019年10月1日 15:01"
            },
            "phrase4": {
                "value": "王老师"
            },
            "thing2": {
                "value": "ps入门到精通"
            },
            "character_string6": {
                "value": "1/10"
            }
        }
      }

        // 2、发送模板消息
    let res = await request
            .post(`https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${access_token}`)
            .send(requestData)
            .set('Accept', 'application/json')

      console.log(res)

      ctx.body = { 
        code: '200', 
        data: null, 
        msg: '操作成功'
    }
})

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序(订阅消息) 的相关文章

  • win7新建文本文档快捷键

    由于编者水平有限 文中难免会有错误和疏漏 请各位读者能提出宝贵建议或给予指正 可在博文下评论指出 我会及时改进 在此先感谢各位 本文是自己学习所做笔记 欢迎转载 但请注明出处 http blog csdn NET yijuanxia 环境
  • 快速了解日志概貌,详细解读13种日志模式解析算法

    云智慧 AIOps 社区是由云智慧发起 针对运维业务场景 提供算法 算力 数据集整体的服务体系及智能运维业务场景的解决方案交流社区 该社区致力于传播 AIOps 技术 旨在与各行业客户 用户 研究者和开发者们共同解决智能运维行业技术难题 推
  • 超级入门题:A+B

    这个题没什么好讲的 两个数 一个a 一个b 两数相加不超过int范围 求两数之和 include

随机推荐

  • bilibili老版本_哔哩哔哩5.13.0旧版本下载-bilibili5.13.0旧版本下载v5.13.0旧版本-西西软件下载...

    bilibili5 13 0旧版本是一款bilibili最近推出的up主动态评论的版本的前一款版本 这个版本相比较新版而言减少了up主评论动态显示 对于不少小伙伴来说 bilibili毕竟是一个用来看视频的地方 所以对于文字评论不怎么感冒
  • Java中只有值传递?一篇文章彻底弄懂

    新手上路 记录自己的理解 在C 中 函数传值有两种方式 即值传递和引用传递 而在Java中 只有值传递 即便传递的对象为引用类型 如String 所谓的值传递是指在调用函数时将实参复制一份传递到函数中 这样函数中操作的是实参的副本 不会对实
  • springboot将图片上传至七牛云服务器(超详细)

    我们在公司的业务开发中 经常会接触到图片上传功能 有很多小伙伴都会在这里遇坑 特别是将图片上传至七牛云服务器上 网上的很多讲解也都很不明确 那么今天我们就要来讲一讲如何将本地的图片上传至七牛云服务器上 配合步骤自己做一个小的demo吧 本文
  • VirtualBox 虚拟机里网络很慢的解决方法

    VirtualBox 升级到6 0 4 后发现这个问题 Mac 主机网速很快 但虚拟机 ubuntu 里网络很慢 首先尝试多种不同的网络连接模式 都不能解决 再回头调试 发现域名解析很慢 问题定位在 DNS 问题 ping 一下百度 15秒
  • 使用Python,OpenCV实现简单的场景边界/拍摄转换检测器

    使用Python OpenCV进行简单的场景边界 拍摄转换检测器 1 效果图 2 实现 2 1 步骤 2 2 什么是 场景边界 和 拍摄过渡 2 3 代码目录结构 2 源码 参考 这篇博客起源于朋友分享蝙蝠侠7更新了 而我没有办法去最近的书
  • Learing blockchain in go

    Windows下JetBrains GoLand环境配置记录 根据文末Reference 1 实现的迷你区块链 暂有 block chain pow UTXO 现在实现的bc存在double spending问题 并且创世区块和创世交易的哈
  • C++之合并两个链表

    题目 已有a b两个链表 每个链表中的结点包括学号 成绩 要求把两个链表合并 按学号升序排列 include
  • 程序员不擅长沟通???

    版权声明 原创作品 允许转载 转载时请务必以超链接形式标明文章原始出版 作者信息和本声明 否则将追究法律责任 本文地址 http blog csdn net jobchanceleo archive 2007 01 18 1487073 a
  • c++函数返回引用

    转自 http www cnblogs com floatedclouds archive 2011 10 13 2209917 html 1 什么是引用 引用就是变量的别名 操作一个变量的引用也就相当于操作变量本身 这一点跟指针很类似 但
  • Cursor,程序员的 AI 代码编辑助手

    相信大家都或多或少地听说过 了解过 chatGPT 半个月前发布的 GPT 4 可谓是 AI 赛道上的一个王炸 那么今天咸鱼给大家分享一个开源的 AI 代码编辑器 Cursor 让各位程序员在编程之路上一骑绝尘 介绍 Cursor 是一个人
  • minigui成功移植到ubuntu64位平台

    1 pc系统ubuntu14LTS 64bit 同时在32位ubuntu16 04上经过了测试 官方的所有范例程序都能运行 2 过两天会写份详细的移植教程 现在只是将移植好的文件上传到我的csdn下载 大家可以免费下载 3 做个简单的移植过
  • nginx代理去掉URl前缀

    今天接到一个配置nginx的需求是 需要访问某个域名时 nginx可以去掉前缀去代理访问到后端 正常配置情况下 在nginx配置文件中中设置了 location prod api api 时 浏览器访问 prod api api 反向代理到
  • ModbusPoll和Slave的使用教程

    ModbusPoll和Slave的使用教程 在工业领域 很多地方采用了Modbus协议 简单理解一下Modbus协议 就是把数据存在寄存器地址里面编号 然后通过协议读取 modbus有主机和从机 主机只有一个 从机可以有很多个 玩过Tcp的
  • PAT C语言入门题目-7-52 数组元素循环右移问题 (20 分)

    7 52 数组元素循环右移问题 20 分 一个数组A中存有N gt 0 个整数 在不允许使用另外数组的前提下 将每个整数循环向右移M 0 个位置 即将A中的数据由 A 0 A 1 A N 1 变换为 A N M A N 1 A 0 A 1
  • 尚硅谷-康师傅-MySQL详细笔记(10-18章)

    mysq详细笔记10 18章 第10章 创建和管理表 10 1 基础知识 10 1 1 一条数据存储的过程 10 1 2 标识符命名规则 10 1 3 MySQL中的数据类型 10 2 创建和管理数据库 10 2 1 创建数据库 10 2
  • 安卓移动应用开发之从零开始写安卓小程序3

    实验3 修改我们的HelloWorld程序 让它和我们的手机app外观差不多 一 打开我们的HelloWorld程序 没有的同学请自行创建或者下载我发上去的资源 大家如果遇到sync没有跳出来的 可以点击这个search 然后输入sync回
  • Nmap简单使用教程

    在Web攻防的过程中对有关主机存活 应用版本扫描的相关工具中 Nmap是最常使用的信息收集工具 Nmap是一款开源的网络探测和安全审核的工具 它的设计目标是快速地扫描大型网络 Nmap可以探测网络中有哪些主机存活 这些主机都提供了什么服务
  • 【山河送书第十期】:《Python 自动化办公应用大全》参与活动,送书两本!!

    山河送书第十期 Python 自动化办公应用大全 参与活动 送书两本 前言 一 书籍亮点 二 作者简介 三 内容简介 四 购买链接 五 参与方式 六 往期赠书回顾 前言 在过去的 5 年里 Python 已经 3 次获得 TIOBE 指数年
  • 基于IMU和超声的3D手势识别笔

    随着科技的发展 人机交互在商业中有了越来越多的应用 面对日益复杂的交互场景 手势识别逐渐成为虚拟现实等相关应用的主要交互手段 3D手势识别是一个具有挑战性的问题 常用的手势传感器有三种基本类型 多点触摸屏传感器 基于视觉的传感器和基于安装的
  • 微信小程序(订阅消息)

    小程序模板消息即将被废弃掉 于是有了新接口wx requestSubscribeMessage 订阅消息文档 步骤 1 获取用户openid access token 前面文章提到过 2 获取模板 ID 3 获取下发权限 api 4 发送订