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

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

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、消息是由后端发送。

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

 


http://www.kler.cn/a/590926.html

相关文章:

  • 4.玩转热图(相关矩阵、缺失值、多维相关、聚类热图、时间序列)——Python数据挖掘代码实践
  • 数据结构概览
  • Python的Pytest(2)
  • vulhub/joker 靶机----练习攻略
  • pycharm-python國際象棋遊戲代碼
  • C语言 论static和extern关键字
  • 透析 HTTP OPTIONS 预检请求
  • 软考中级-数据库-5.4 信息安全与网络安全
  • TCP 通信流程图
  • 使用pyinstaller打包py文件
  • 网络编程套接字【端口号/TCPUDP/网络字节序/socket编程接口/UDPTCP网络实验】
  • [Java微服务架构]1_架构选择
  • RISCV虚拟化环境搭建
  • [快乐学坊management_1] With Cursor | Mysql设计 | 服务接口设计与开发
  • 2、idea里Maven项目如何打成jar或war包
  • 二叉树深度优先搜索:从递归到剪枝六大高频题解析
  • 使用Ajax技术进行动态网页的爬虫(pycharm)
  • 【如何在OpenWebUI中使用FLUX绘画:基于硅基流动免费API的完整指南】
  • 字符串模板(单文件组件、JSX)
  • 3月18号