小程序 订阅消息 一次授权多次接收

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

1、微信公众平台需要先使用模板,不符合要求的就重新申请模板(按照要求修改即可)

小程序 订阅消息 一次授权多次接收
2、前端需手动调起用户授权(考虑到用户体验的问题,用户没有授权时会调用起来用户授权弹框,当用户授权完成后则无需再弹框提示授权问题)

  • 注意点1: 一定要让用户手动点击授权。否则报错 (requestSubscribeMessage : fail can only be invoked by user TAP gesture);
  • 注意点2: 业务逻辑最好抽离,看上去清晰 (下面代码看上去就比较糟糕)
// 开启订阅消息设置窗口
			onShow() {
	           this.is_authorization = wx.getStorageSync('is_authorization'); // 获取用户当前订阅消息的授权状态
	        },

            handle_openMsg() {
                var that = this;
                 let tmpid = ['phrGZA9jPhqP9oZlyKStCuhnNnTh8_tL-K2RTmFXsCk'];
                // 获取用户的当前设置,判断是否点击了“总是保持以上,不在询问”
                wx.getSetting({
                    withSubscriptions: true, //是否获取用户订阅消息的订阅状态,默认false不返回
                    success(res) {
                        console.log("订阅消息的订阅状态",res);
                        if(that.is_authorization){
                            wx.showToast({
                                title: "您已订阅商机消息提醒,无需重复订阅!",
                                icon: "none"
                            });
                        }else{
                            if (res.subscriptionsSetting[tmpid[0]] == "reject") { //用户点击了“总是保持以上,不再询问”
                                wx.showModal({
                                    title: '温馨提示',
                                    content: "检测到您没有开启订阅消息的权限,是否去设置?",
                                    success: function(modal) {
                                        if (modal.confirm) { // 点击肯定
                                            wx.openSetting({
                                                withSubscriptions: true
                                            });
                                            that.is_authorization = true;
                                            wx.setStorageSync('is_authorization',true);
                                        }else{
                                            wx.showToast({
                                                title:"您已拒绝订阅消息授权,无法预约领取",
                                                icon:"error"
                                            });
                                            that.is_authorization = false;
                                        }
                                    }
                                })
                            } else { 
                            	// 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
                                wx.requestSubscribeMessage({
                                    tmplIds: tmpid,
                                    success(res) {
                                        if (res[tmpid[0]] == "accept") {
                                            wx.showToast({
                                                title: "订阅成功",
                                                icon: "none"
                                            });
                                            that.is_authorization = true;
                                            wx.setStorageSync('is_authorization',true);
                                        }else{
                                            wx.showToast({
                                                title:"您拒绝订阅消息授权,无法预约领取",
                                                icon:"none"
                                            });
                                            that.is_authorization = false;
                                        }
                                    },
                                    fail: (res) => {
                                        wx.showModal({
                                            title: '温馨提示',
                                            content: "检测到您没有开启订阅消息的权限,是否去设置?",
                                            success: function(modal) {
                                                if (modal.confirm) { // 点击肯定
                                                    wx.openSetting({
                                                        withSubscriptions: true
                                                    });
                                                    that.is_authorization = true;
                                                    wx.setStorageSync('is_authorization',true);
                                                }else{
                                                    wx.showToast({
                                                        title:"您已拒绝订阅消息授权,无法预约领取",
                                                        icon:"error"
                                                    });
                                                    that.is_authorization = false;
                                                }
                                            }
                                        })
                                    }
                                })
                            }
                        }
                        
                    }
                })
            },

3.服务端调用( page一定要写,否则不能通过消息进入小程序 )小程序 订阅消息 一次授权多次接收文章来源地址https://www.toymoban.com/news/detail-513346.html

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

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

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

相关文章

  • uniapp - 微信小程序平台模板消息订阅功能,唤起订阅模板消息弹框、微信公众号向用户发送 “服务通知“ 实现全过程示例代码,支持一次性订阅与永久性订阅(注释详细,一键复制开箱即用)

    本博客实现了uniapp微信小程序端,详细实现公众号订阅通知模板消息完整示例源码,一次性订阅与永久订阅均可,注释详细新手一看就懂! 效果如图所示,uniapp编译的微信小程序内点击按钮后,唤起模板消息订阅申请弹框,后续微信内会收到通知。

    2024年02月13日
    浏览(41)
  • paho-mqtt实现多客户端订阅一个主题,并保证消息只被接收一次

    项目需求:原本做的项目是单进程单线程模式订阅mqtt,发现在消息回调处理消息时耗时较久,我们业务对消息处理是一次性的,只要求处理一次,所以需要提升并发处理能力。看了网上建议改为多线程模式,然而本人实践过程,采用多进程or多线程模式方式运行,发现并没达

    2024年02月02日
    浏览(33)
  • 小程序一次性订阅消息进行长期推送方案

    由于小程序长期只针对向政务民生、医疗、交通、金融、教育等线下公共服务开放,且目前的项目不符合这些主类目要求,所以只能从一次性模板进行下手。 一次性模板指的是用户授权一次,可以推送一次消息,所以一次性模板想要长期推送我用的方案是在点击的地方都增加

    2024年02月12日
    浏览(30)
  • 微信小程序--订阅消息

    关于小程序订阅消息之一次性订阅: 一次性订阅是指授权一次方可接收一次消息;这个最好的应用场景就是自己给自己发送消息,比如订单,当自己下单成功时,调用此接口,会在微信服务消息收到下单成功通知等具体详情。 如果是给别人发,一次性订阅就不适合,类似你

    2024年02月07日
    浏览(34)
  • 微信小程序订阅消息

    subscribeMessage.send | 微信开放文档 由于业务需求 , 需要实现小程序订单状态发送给用户 , 于是微信小程序发送订阅消息就被找到了 这里前端是使用了uniapp , 具体实现方式不清楚,就不瞎bb了 后端这里就是上面的接口文档 , 总共需要是三个步骤 1. 获取小程序 appid 和 密钥 2. 订阅消

    2024年02月09日
    浏览(43)
  • 微信小程序 如何订阅消息?

    微信公众号分为两种类型:订阅号和服务号,它们在功能和使用方式上有一些区别。 1.订阅号(Subscription Account): 2.服务号(Service Account): 微信公众号的类型是在注册时选择的,一旦选择了订阅号或服务号,无法直接转换。如果您主要是提供资讯和更新性内容,订阅号可

    2024年02月06日
    浏览(48)
  • 微信小程序——订阅通知消息

    1.在微信公众平台的订阅消息页面设置模板消息 2.后端发送订阅消息需要得到用户的唯一id 通过   wx.login() 获取微信的唯一配置 code (每一个微信号只有一个code) 通过接口把获取到的 code 发送给后端 获取openid   3.在登录页面点击登录按钮的时候让用户同意接收订阅消息 使用

    2024年02月13日
    浏览(39)
  • 微信小程序之订阅消息

    其实客户端的步骤很简单 这里放上文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html 第一步 首先我们需要到微信公众平台的 订阅消息-公共消息模板处选择需要的模板添加到-我的模板。 通过wx.requestSubscribeMessage()方法调起小程序订

    2024年02月11日
    浏览(35)
  • 微信小程序消息订阅功能

    消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。 订阅消息推送位置:服务通知 订阅消息下发条件:用户自主订阅(用户订阅了才能接收推送的消息) 订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页

    2024年02月05日
    浏览(34)
  • 微信小程序:发送小程序订阅消息

    文档:小程序订阅消息(用户通过弹窗订阅)开发指南 在微信公众平台(https://mp.weixin.qq.com)手动配置获取模板 ID 2.1、获取消息下发权限 文档:一次性订阅消息、长期订阅消息 示例代码 这里需要注意一个坑,如果用户未授权,需要引导用户打开设置手动设置 2.2、获取登录凭

    2024年01月25日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包