微信小程序(订阅消息)功能
作者:sayid760 发布时间:2024-04-28 09:36:48
标签:微信小程序,订阅消息
小程序模板消息即将被废弃掉,于是有了新接口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: '操作成功'
}
})
总结
以上所述是小编给大家介绍的微信小程序(订阅消息)功能,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/qq_14993375/article/details/102693209
0
投稿
猜你喜欢
- 如何查看MySQL初始密码问题在安装MySQL过程中,以管理员身份运行cmd后进入MySQL的bin目录,然后输入命令“
- Paramiko是一个用于执行SSH命令的Python第三方库,使用该库可实现自动化运维的所有任务,如下是一些常用代码的封装方式,多数代码为
- 很多时候,由于程序设计需要,要求在asp的include包含文件里调用动态的文件。如<!--#include file=&q
- 我就废话不多说了,大家还是直接看代码吧~import kerasfrom sklearn.model_selection import tr
- 一、递归原理小案例分析(1)# 概述递归:即一个函数调用了自身,即实现了递归 凡是循环能做到的事,递归一般都能做到!(2)# 写
- 本博客可能没有那么规范,环境之类的配置。只是让你直接开始编程写python。至于各种配置网络上有多种方法。本文仅代表我的观点的一种方法。电脑
- 1.不同字符与获取字符串长度获取字符串长度,是字符串操作的重要方法。理论来说,获取字符串长度,只要从头到尾查找一遍就可以了。但遗憾的是,不同
- 当遇到一个模板标签(template tag)时,模板解析器就会把标签包含的内容,以及模板解析器自己作为参数调用一个python函数。 这个
- 随着MySQL数据库存储的数据逐渐变大,已经将原来的存储数据的空间占满了,导致mysql已经链接不上了。因此,必须要给存放的数据换个地方了。
- Web应用中大多会提供静态文件服务以便给用户更好的访问体验。静态文件主要包含CSS样式文件,js脚本,图片和字体等。Flask也支持静态文件
- TensorFlow中tf.batch_matmul()用法如果有两个三阶张量,size分别为a.shape = [100, 3, 4]b.
- k8s容器互联-flannel host-gw原理篇容器系列文章容器系列视频简析host-gw前面分析了flannel vxlan模式进行容
- 前言在进行业务数据分析时,往往需要使用pandas计算环比、同比及增长率等指标,为了能够更加方便的进行的统计数据,整理方法如下。1.数据准备
- 首先定义了一个test.py的文件,然后再定义一个函数,并在函数定义后直接运行:test.pydef HaveFun(): if __nam
- group_concat()函数的参数是可以直接使用order by排序的。666。。下面通过例子来说明,首先看下面的t1表。比如,我们要查
- VS2013的简单WInForm控件,通过WebRequest,WebResponse来访问,接收:private void btn_int
- python Graham求凸包并画图python写Graham没有c++那么好写,但是python画图简单。只需要用matplotlib里
- 方法一【推荐】、用js插入flash,可防止虚线框激活建立一个ShowFlash.js文件,拷贝以下代码:function sho
- 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。
- 昨天我只是将数据库附加到SQL2012,然后各个数据库都做了收缩事务日志的操作兼容级别这些都没有改再附加回SQL2005的时候就报错在SQL