标签:订阅 定时器 const send 开发 032 return message cloud
为什么需要这个功能
用于提醒用户,或者是唤醒用户去使用我们的小程序。
实现
每天固定时间推送数据,比如每天的早报,提醒用户有新的话题。
订阅功能肯定是必须的,我们在用户订阅消息的时候将数据存入单独的集合中,然后我们在send
云函数中配置好定时器的定时发送功能,最后就是在云函数中查询哪些用户订阅了数据,最后就是发送数据了。
在config.json
中配置定时器数据:
{
"permissions": {
"openapi": [
"subscribeMessage.send"
]
},
"triggers": [
{
"name": "sendMessagerTimer",
"type": "timer",
"config": "0 0 17,19 * * * *"
}
]
}
在index.js
中发送订阅消息:
关于消息订阅可查看之前的文章
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
const db = cloud.database();
try {
// 从云开发数据库中获取推送的消息
const messages = await db
.collection('t_messages')
.get();
// 循环消息列表
messages.data.map(async message => {
try {
// 发送订阅消息
const result = await cloud.openapi.subscribeMessage.send({
"touser": message.touser,
"page": message.page,
"lang": message.lang,
"data": message.data,
"templateId": message.templateId,
"miniprogramState": message.miniprogramState // 上线后删除,即可为上线版本
});
return result
} catch (e) {
return e;
}
});
} catch (err) {
return err
}
}
end
标签:订阅,定时器,const,send,开发,032,return,message,cloud 来源: https://www.cnblogs.com/gdragon/p/15423730.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。