当前位置: 首页 > news >正文

微信小程序订阅消息发送消息,点击消息进入小程序页面

1、在小程序官网订阅消息选用或创建消息模板获取模板ID可多个

如图:

2、微信小程序前端页面发送请求订阅权限

请求模板id的权限可以是一个可以是多个,用户同意订阅,获取code传递给后端——后端拿到code生成唯一的openid用于发送订阅消息

注意:这里用户拒绝了订阅消息我也传递了code但是并不能发送给用户消息(避免打扰),后续客户如果手动开启订阅消息即可接收不需重新获取code

前端请求权限部分代码:

wx.requestSubscribeMessage({
					tmplIds: [
						'模板id1',
						'模板id2',
						'模板id3'
						],
					success: (res) => {
					  if (res['模板id'] == 'accept') {
						console.log('用户同意订阅');
						this.getCode(); // 同意后获取code
					  } else {
						console.log('用户拒绝订阅');
						this.getCode();//同样把code给到后端避免后面开启通知拿不code
					  }
					},
					fail: (err) => {
					  console.error('订阅失败:', err);
					}
				});
//获取code调用接口传给后端后端生成openid
getCode() {
			    wx.login({
			      success: (loginRes) => {
			        console.log('获取code:', loginRes.code);
			        // 将code发送到后端处理
					const params = {
						code:loginRes.code,
						userId:uni.getStorageSync('user_id'),
					}
					// 将code发送到后端处理
					this.$http.get(this.sendCode, {params:params}).then(res => {
						console.log('codegei后端后',res);
					})
			      },
			      fail: (err) => {
			        console.error('登录失败:', err);
			      }
			    });
			},

后端发送订阅消息及跳转路径

// 示例代码(云函数或服务端调用)
const result = await cloud.openapi.subscribeMessage.send({
  touser: '用户openid',
  templateId: '模板ID',
  page: 'pages/login/login', // 这里填写登录页面的路径
  data: {
    // 模板参数...
  }
});

注意:

1、在 app.json 的 pages 字段中,需包含登录页的路径配置(如 "pages/login/login"),否则跳转会失败

2、若需要带参数跳转:若需传递参数(如来源标识),可在路径中添加,例如 pages/login/login?from=notification

3、消息是由后端发送。

最后真机测试,发送通知消息。

 

相关文章:

  • 河南大学计算机网络实验3
  • 解决:ModuleNotFoundError: No module named ‘_sqlite3‘
  • 外贸 B2B 平台没落?多语言批发系统正在崛起
  • 【css酷炫效果】纯CSS实现火焰文字特效
  • 总结 kotlin中的关键字和常用方法
  • 深入理解 JSON.stringify:优雅输出 JSON 数据
  • 机器人曲面跟踪Surface-Tracking
  • Python---文件操作
  • Leetcode 160 Intersection of Two Linked Lists
  • python+flask实现360全景图和stl等多种格式模型浏览
  • taro-vue2 如何使用国密加解密
  • stm32第六天继电器
  • CentOS配置永久静态IP
  • 3D点云目标检测——KITTI数据集读取与处理
  • 电脑管家如何清理内存及垃圾,提升电脑性能
  • 蓝桥杯数字接龙dfs
  • 【Linux】Linux系统上大文件的分割与合并
  • Linux中find 命令的高级用法 组合条件 与、或、非(-a、-o、!) 以及通过 -regex 和 -iregex 选项使用正则表达式
  • Android Vulkan 官宣转正并统一渲染堆栈 ,这对 Flutter 又有什么影响?
  • 【Python】11、函数-01
  • 航海王亚洲巡展、工厂店直销……上海多区推出“五五购物节”活动
  • 滨江集团:一季度营收225.07亿元,净利润9.75亿元
  • 陕西省通报6起违反八项规定典型问题,省卫健委原主任刘宝琴违规收受礼品礼金
  • 金砖国家外长会晤落幕,外交部:发出了反对单边霸凌行径的“金砖声音”
  • A股三大股指涨跌互现:3343股收涨,两市成交超1.1万亿元
  • 中国武术协会原主席张耀庭逝世,曾促成电影《少林寺》拍摄