微信小程序云开发之群发订阅消息

在上篇文章中,我讲到了订阅消息的发送。但随着业务的跟进,现在的需求是要群发订阅消息。

这?不难!

首先,你要搞懂一点,群发订阅消息就是将需要发送的用户openID集合起来,然后一一使用推送模板发送消息。这个时候你可能会想到循环。但是用循环实在是太多坑。

解决这个问题,要么在云函数端写逻辑,多次发送;要么在小程序端写逻辑多次调用云函数。这两种方法都是可以的。

我采用了第二种,在小程序端多次调用云函数。

看主要代码吧:

第一步,我先获取数据库用户的openid,接着通过Promise.all来处理调用云函数。res.data是获取到的数据库信息,是一个数组。想要获取里面的openID,直接通过item.openid即可。

db.collection('admin').get({
    
    
           success:res=>{
    
    
               Promise.all(res.data.map(item=>{
    
    
                 wx.cloud.callFunction({
    
       //循环调用云函数
                  name:"report",
                  data:{
    
    
                      nickName:userInfo.nickName,
                      _id:this.data._id,
                      reportText:this.data.items[this.data.num].name,
                      reportTime:HS,
                      openid:item.openid
                  },
                  success:res=>{
    
    
                    console.log(res)
                  }
                }) 
               }))      
              }
            })

订阅消息的代码在上篇文章:微信小程序云开发之订阅消息的推送

猜你喜欢

转载自blog.csdn.net/weixin_43729943/article/details/107165952