关于微信小程序uniapp版的推送消息

这篇具有很好参考价值的文章主要介绍了关于微信小程序uniapp版的推送消息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.按钮触发推送消息

<button type="primary" size="mini" @tap="pushMesage">推送消息</button>

2.pushMesage方法调用uniapp自带的消息推送授权窗口

值得注意的是:①tmplIds是一个数组,这个数组里可以储存多个模板ID,当你需要切换模板进行推送时切换数组下标即可。

②弹窗授权需要点击允许接收来自小程序的消息提醒,目前微信小程序里面有两种模板,第一种是一次性模板:也就是每次授权接收消息在一段时间内只能接收一次消息,接收完之后就需要重新授权。第二种是长期模板:长期授权模板一般用于政务民生之类类目的小程序,一般开发者不太好申请。这种模板只需要授权一次即可长期接收来自小程序的推送(因为这个特性,在前端代码编写的时候需要考虑一点,需要判断用户是否点击授权来决定用户登录时是否弹出授权框,这个问题也好解决:用户授权调用接口将授权状态储存在数据库就行,在用户登陆成功时多返回一个授权状态的字段,前端判断是否弹窗授权即可。)

pushMesage() {
				console.log("消息推送开始弹窗确认")
				uni.requestSubscribeMessage({
					tmplIds: ['你的模板ID'],
					success: (res) => {
						console.log("弹窗",res)
						if (res['你的模板ID'] === 'accept') {
							this.sendMsg()
						}
					}
				})
			}

3.sendMsg方法调用相关接口获得相关参数并且发送消息推送

值得注意的是:①这个案例只是前端发送通知,用于了解推送消息的基本流程。实际开发中前端只需要弹窗授权获取jscode传递给后端,由后端请求微信api推送消息

②openId不会过期可以储存在数据库,后续需要推送消息直接取用就行。文章来源地址https://www.toymoban.com/news/detail-597816.html

async sendMsg() {
				const js_code = await this.getJsCode();
				const openid = await this.getOpenId(js_code);
				const access_token = await this.getAccessToken();
				console.log("js_code: ", js_code);
				console.log("openid: ", openid);
				console.log("access_token", access_token)
				uni.request({
					url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' +
						access_token,
					method: 'POST',
					data: {
						touser: openid,
						template_id: 'xxxx', // 模板id
						page: "pagesV2/info/userinfo/usercommit?dailytype=1&menuType=0", // 点击消息卡片跳转地址
						data: { // data是模板内容,属性名为模板中所给,value值是需要传递的。
							date3: {
								value: '2022-06-04 20:33:44'
							},
							thing5:{
								value:'有新注册申请通知,请尽快审核'
							},
							thing1: {
								value: '注册申请'
							}
						}
					},
					success: (res) => {
						console.log(res);
					}
				})
			},
            //获取jsCode用于获取OpenId
            getJsCode() {
				return new Promise((resolve, reject) => {
					uni.login({
						success(res) {
							console.log("unilogin",res)
							resolve(res.code)
						},
						fail: (err) => {
							reject(err)
						}
					})
				})
			},
            //获取OpenId用于发送消息
			getOpenId(js_code) {
				return new Promise((resolve, reject) => {
					uni.request({
						url: `https://api.weixin.qq.com/sns/jscode2session`,
						data: {
							appid: '小程序的appid(在微信开放平台获取)',
							secret: '小程序的密钥(同上获取)',
							js_code: js_code,
							grant_type: 'authorization_code'
						},
						success: (res) => {
							console.log("getOpenId", res.data)
							resolve(res.data.openid)
						},
						fail(err) {
							reject(err)
						}
					})
				})
			},

			// 获取access_token用于发送消息
			getAccessToken() {
				return new Promise((resolve, reject) => {
					uni.request({
						url: 'https://api.weixin.qq.com/cgi-bin/token',
						data: {
							appid: '小程序的appid',
							secret: '小程序的密钥',
							grant_type: 'client_credential'
						},
						success: (res) => {
							console.log("getAccessToken", res.data)
							resolve(res.data.access_token)
						},
						fail: (err) => {
							reject(err)
						}
					})
				})
			},

到了这里,关于关于微信小程序uniapp版的推送消息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序订阅模板消息推送

    背景 在实际的小程序开发过程中往往需要用到给用户发送订阅消息,比如:我们在店里扫码点餐时在付款时往往弹出一个授权窗口(比如‘取餐通知’)这个时候我们就需要对接微信小程序的模板消息。 [https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-message-management/subscrib

    2024年02月11日
    浏览(35)
  • 微信小程序服务通知(订阅消息)定时推送消息功能

    首先先说项目需求:向预约参观的用户提前一天晚上8点推送消息。小程序端主要用到的 API 是我是小程序用到的API。以及服务端用到的 API :我是服务端用到的API。 1. 开通订阅消息功能 (1)、 首先需要在小程序管理后台开通订阅消息功能。没开通前如下图所示: (2)、开通之

    2024年02月08日
    浏览(56)
  • 微信小程序消息推送、接收消息事件、发送客服消息

    文档地址消息推送 | 微信开放文档 接收消息和事件 | 微信开放文档 发送客服消息 | 微信开放文档 代码参考

    2024年02月12日
    浏览(29)
  • 微信小程序向公众号推送消息模板

    由于微信小程序长期订阅的消息模板全部失效以后,对于小程序的消息推送可以改成往公众号推。 这里将介绍如何使用小程序向公众号推送消息,并且消息可以跳转到小程序 1、微信公众平台注册 服务号 (订阅号是不可以推送的)与小程序,两者都需要认证并且 认证主体是

    2024年02月06日
    浏览(39)
  • 微信小程序云开发定时推送订阅消息

    (1)点击订阅消息 (2)点击公共模板库,然后找到想要选用的模板,点击选用。 (3)在我的模板里面,复制模板id。 如果找不到想要用的模板,可以在公共模板的最后一页,点击下图中圈出来的,去申请自己想要的模板。 (1)云函数部分的代码 config.json 云函数配置文件

    2024年02月09日
    浏览(37)
  • 微信小程序实现订阅消息推送的实现步骤

    1、准备工作   准备小程序账号、开发环境,我小程序是基于uniapp开发,后台代码基于SpringBoot开发。同时先阅读官方文档,了解小程序订阅消息和后端如何发送订阅消息等相关知识,官方文档地址如下: 《小程序订阅消息》 《发送订阅消息》 2、实现步骤 2.1、启用并配置

    2024年02月15日
    浏览(36)
  • java编写微信小程序消息提醒推送

    微信小程序官方文档:发送订阅消息 | 微信开放文档 一. 先制定模板,我以已删除的模板为例 二.java后台创建小程序 Vo类,用于封装传送的参数。 1.获取小程序全局后台接口调用凭据,有效期最长为7200 2.发送消息给指定的用户 3.整合 4.测试 注意:在前端调用方法时,只有发

    2024年02月11日
    浏览(31)
  • 微信小程序订阅消息推送(附带后台java代码)

    官方文档: 小程序前端:点击进入 小程序服务端:点击进入 一,代码实现(后端) ①定义实体类 ②定义HttpUtil类(Get请求) ③验证token过期时间 ④小程序发送消息 AuthUtil工具类

    2024年02月14日
    浏览(33)
  • 微信小程序向公众号推送消息超详细教程

    官方教程 官方教程 开通一下服务号公众号 超级管理员登录服务号公众号后台 登录地址 开通模板消息 申请一个模板消息,获取模板ID 注意此处的参数,后续接口需要使用 绑定公众号与小程序 官方教程 1.登录微信公众号后台 2.点击小程序管理 3.关联小程序 获取微信公众号

    2024年02月11日
    浏览(50)
  • 【小程序】微信小程序关联公众号(服务号)推送通知消息

    最近开发的一个小程序项目需要通过服务号来推送通知。但是在最开始开发小程序的时候并没有考虑到这个功能。 预备知识 : 小程序openid:小程序用户的唯一id 公众号openid:公众号用户的唯一id unionid:同一用户,对同一个微信开放平台下的不同应用,unionid是相同的 准备

    2024年01月18日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包