nodejs android 推送,利用Nodejs怎么实现一个微信小程序消息推送功能
利用Nodejs怎么实现一个微信小程序消息推送功能
发布时间:2021-01-20 13:55:29
来源:亿速云
阅读:92
作者:Leah
今天就跟大家聊聊有关利用Nodejs怎么实现一个微信小程序消息推送功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
小程序发送订阅的请求
需要用到上一步获取的模板Id// 小程序
入驻申请
// 入驻申请消息订阅
messageSubmit = () => {
Taro.requestSubscribeMessage({
tmplIds: ['SuGMwqyYY9cocuP-LxfElcM3a7ITaF34lKNux6EaE9'],
success: (res) => {
// 调用服务端接口,在数据库写入一条订阅记录
// this.subscribeDeal()
}
})
}
服务端发起推送
推送一般有两种手动触发、
还有就是订阅消息后,达到某个条件自动触发推送、
对于第一种情况,就直接调用微信的推送接口就好了。第二中情况稍微麻烦一点,可以加一个定时的任务,或者使用相关的队列库、等条件符合了再触发、
需要注意的地方发送推送的时候需要用户的openid,以及模板id。具体的推送内容字段,在第一步模板详情里面可以查看、
调用微信推送的接口的时候需要access_token,最好缓存一下,频繁调用会有失效的问题、
获取access_token并缓存async getAccessToken () {
const { appId, appSecert, host } = this.app.config.idolWxAConfig;
return new Promise(async (resolve) => {
const currentTime = new Date().getTime()
const redisToken = await this.app.redis.get('wxtoken').get('token') || '{access_token: "", expries_time: 0}'
const accessTokenJson = JSON.parse(redisToken)
if (accessTokenJson.access_token === '' || accessTokenJson.expries_time
const res = await this.ctx.curl(`${host}/cgi-bin/token?appid=${appId}&secret=${appSecert}&grant_type=client_credential`, { dataType: 'json' })
if (res.data) {
accessTokenJson.access_token = res.data.access_token
accessTokenJson.expries_time = new Date().getTime() + (parseInt(res.data.expires_in) - 200) * 1000
await this.app.redis.get('wxtoken').set('token', JSON.stringify(accessTokenJson))
resolve(accessTokenJson)
}
} else {
resolve(accessTokenJson)
}
})
}
向微信发送推送请求async sendSubscribeMsg (openid) {
let requestData = {
"touser": `${openid}`,
"template_id": "SuGMwqyYY9cocuP-LxfElcM3a7ITaF34lKNux6EaE9",
"page": `/pages/certification/index`,
"data": {
"phrase2": {
"value": `审核通过`
},
"thing3": {
"value": `您的申请已经审核通过`
}
}
}
const { host } = this.app.config.idolWxAConfig;
// 获取access_toekn
const tokenJson = await this.ctx.service.wx.getAccessToken()
const res = await this.ctx.curl(`${host}/cgi-bin/message/subscribe/send?access_token=${tokenJson.access_token}
`, {
method: 'POST',
contentType: 'json',
data: requestData,
dataType: 'json'
});
if (res.data.errmsg === 'ok') {
console.log('========推送成功========')
// TODO
} else {
console.log('========推送失败========')
// TODO
}
}
看完上述内容,你们对利用Nodejs怎么实现一个微信小程序消息推送功能有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
nodejs android 推送,利用Nodejs怎么实现一个微信小程序消息推送功能相关推荐
- php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解
微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...
- TP6 微信小程序消息推送配置Token校验失败200302
ThinkPHP6 微信小程序消息推送配置时报错: {"ret":200302,"err_msg":"verify token fail"} ...
- 微信小程序消息推送,实现未完成计划的在微信内的定时提醒功能
微信小程序消息提醒(微信内提醒) 提示:此处仅是小程序消息提醒的一个小例子,希望能够为大家抛砖引玉 目录 微信小程序消息提醒(微信内提醒) 需求及效果展示 一.实现思路 二.实现步骤 1.获取模板ID ...
- 微信小程序消息推送(订阅消息原模板消息)开发流程
注:模板消息没了. 正常开发肯定需要前后端配合,此处都在小程序里写了 参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/o ...
- 微信小程序消息推送功能开发(java实现)
先好好把官方文档看一看,链接https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push ...
- 微信小程序 消息推送
开发微信小程序,想实现一个消息推送的功能,微信提供了requestSubscribeMessage 方法. 这里我们简单了解一下: 首先需要授权 uni.requestSubscribeMessage ...
- java实现的小程序_Java实现 微信小程序 + 消息推送
实现效果: 下面要显示五个字段 接下来,参照官方文档,一步步实现: 一.官方给出请求示例.返回示例 二.根据上面编写实体类 (1)请求参数 @Data public class SendTemplat ...
- 微信小程序消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完的解决方式。
问题描述:消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完! 解决方向:自有服务器无法接收信息的排错,消息推送配置的次数用完的解决方式. 适合版本:微信所有版本(2020.4.16) 关于 ...
- 微信小程序——消息推送配置
第一步:官网下载对应版本的cryptoDemo 下载地址:https://wximg.gtimg.com/shake_tv/mpwiki/cryptoDemo.zip 第二步:创建检查文件wxchec ...
最新文章
- 将span隐藏的函数_分类汇总函数Subtotal和Aggregate应用技巧解读
- 命名空间 namespace
- 资源:网页翻译API(文档)
- 报错,null [java.lang.IndexOutOfBoundsException,Index: 5, Size: 5]
- 登录邮箱,注意地址栏是否是https开头
- 登录mysql 1130_解决远程登录mysql数据库报1130错误-阿里云开发者社区
- Python基本数据类型(列表)
- 固高GTS运动控制卡,C#语言三轴点胶机样本程序源代码
- HTML表格表单案例
- Tcl 语言——流程控制篇
- 18. OP-TEE中secur world和non-secure world的切换过程
- GNU Trove trove4j
- 互联网APP监控即时报警解决最终方案及总结
- 达梦数据库(DM8)基本使用
- 群晖自动删除重复文件_在群晖中批量删除重复文件(零基础手把手图文)
- VPX信号处理板VPX3U-2DSP-C6678
- 【饭谈】软素质怎么提高?(适合软件测试人的专用办法)
- WPF 窗口最大化正确方法
- 计算机技术专业 英文,计算机应用技术专业(国外英文资料).doc
- 阿里云学生机使用nginx搭建点播服务器