微信小程序通过微信群发消息(订阅消息):(这个是云开发的教程,可能对于http的不适用)
一、怎么实现这个功能:
1、在微信公众号平台上面开启功能
先完善小程序的信息,才能开通这个功能
这一步前面还有一步就是开通这个功能,我这里已经开通了。就不展示了
选择模板
填写后【提交】
二、编写代码授权代码:
在这之前先给出官网的地址wx.requestSubscribeMessage(先不要看这个)
s:function(){
wx.requestSubscribeMessage({
tmplIds: ['sy27sJ0XfFqR1yWmU0wOZ3kk8pgDIkEFgKoy3Owpxx8'], //这个是刚才创建模板的时候要求复制的模板id
success(res){
console.log('授权成功')
},
fail(ers){
console.log('授权失败')
}
})
},
三、subscribeMessage.send(注意和这里不是templateMessage.send):
templateMessage.send 网络上的教程很多都是用这个但是,2021似乎已经已经不能使用了。
配置api接口
编写云函数代码
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.subscribeMessage.send({
"touser": cloud.getWXContext().OPENID, // 通过 getWXContext 获取 OPENID,
// "page": 'index', //调用后跳转的页面
"lang": 'zh_CN',
"data": {
"thing1": { //这里的thing1 必须和创建摹本的时候一样 一下都是
"value": '339208499' //++++++++++++注意这里的值是有限制的,长度和类型限制。要看官网
},
"thing2": {
"value": '2015年01月05日'
},
"thing4": {
"value": 'TIT创意园'
},
"thing7": {
"value": '广州市新港中路397号'
},
"time3": {
"value": '2021.5.19'
}
},
"templateId": 'sy27sJ0XfFqR1yWmU0wOZ3kk8pgDIkEFgKoy3Owpxx8', //这个是模板的id
"miniprogramState": 'developer' //不知道是啥?
})
return result
} catch (err) {
return err
}
}
具体可以看官网
调用模板发送消息
f:function(){
wx.cloud.callFunction({
name:'messagePush',
}).then(res=>{
console.log('成功',res)
}).catch(err=>{
console.log('失败',err)
})
},
这里可以传递参数到云函数,实现动态发送消息(但是要注意长度和字符类型,特别是长度很容易超过20)
发送后手机微信就好收到消息
这个过程中可能会报错
可以查看状态码查看错误
四、总结
一共可以分为
1、创建模板
2、用户授权获取发的权限
3、配置云函数的api
4、编写云函数和发送的模板
5、调用云函数
6、用户接收到订阅消息