评论

一个公众号(服务号),多个小程序,云开发,绑定通知,扫描登录解决方案

公众号和小程序云开发打通

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
	}
最后一次编辑于  2022-09-15  
点赞 2
收藏
评论
登录 后发表内容