1、小程序云开发,新建一个接收公众号的云函数mp
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
// API 调用都保持和云函数当前所在环境一致
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
console.log(event)
return {
ToUserName: event.FromUserName,
FromUserName: event.ToUserName,
CreateTime: Date.parse(new Date())/1000,
MsgType: 'text',
Content: '收到!'
}
}
云托管接收消息推送
2、账号绑定:公众号打开云开发-》更多-》共享环境-》消息推送-》绑定推送事件,小程序也一样。
3、根据event.MsgType的值:text,event等(跟公众号消息类型一致),判断消息类型做相应处理。
下面是通过公众号关注绑定小程序所属用户,可以用于通知消息,扫描登录等功能开发
switch (event.MsgType) {
case 'text':
obj.Content =
`Hi~,我们将竭诚为您服务!`
return obj
break
case 'event':
if (event.Event == 'subscribe') {
if (wxContext.FROM_UNIONID) {
await db.collection('ws_user').where({
unionid: wxContext.FROM_UNIONID
}).update({
data:{
mpOpenid: wxContext.FROM_OPENID,
updateTime: Date.now()
}
})
}
obj.Content = '已关注!'
return obj
}
if (event.Event == 'unsubscribe') {
await db.collection('ws_user').where({
unionid: wxContext.FROM_UNIONID
}).update({
data:{
mpOpenid: '',
updateTime: Date.now()
}
})
}
break
}
