微信小程序(订阅消息)功能


Posted in Javascript onOctober 25, 2019

小程序模板消息即将被废弃掉,于是有了新接口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: '操作成功'
 }
})

微信小程序(订阅消息)功能

总结

以上所述是小编给大家介绍的微信小程序(订阅消息)功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
[JSF]使用DataModel处理表行事件的实例代码
Aug 05 Javascript
简单的js图片轮换代码(js图片轮播)
May 06 Javascript
使用mini-define实现前端代码的模块化管理
Dec 25 Javascript
js的回调函数详解
Jan 05 Javascript
使用jQuery调用XML实现无刷新即时聊天
Aug 07 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
Dec 07 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
Mar 12 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
Nov 13 Javascript
layui框架与SSM前后台交互的方法
Sep 12 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
Sep 29 Javascript
js实现鼠标拖拽div左右滑动
Jan 15 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 jQuery
layui 解决form表单点击无反应的问题
Oct 25 #Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
Oct 25 #Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
Oct 25 #Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
Oct 25 #Javascript
vue实现评论列表功能
Oct 25 #Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 #Javascript
浅谈layui 表单元素的选中问题
Oct 25 #Javascript
You might like
从手册去理解分析PHP session机制
2011/07/17 PHP
PHP输入流php://input介绍
2012/09/18 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
php链式操作的实现方式分析
2019/08/12 PHP
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
Python判断操作系统类型代码分享
2014/11/22 Python
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
Python中标准模块importlib详解
2017/04/16 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
Python 音频生成器的实现示例
2019/12/24 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
python 两种方法删除空文件夹
2020/09/29 Python
高中语文课后反思
2014/04/27 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android