微信小程序实现订阅信息功能

简介: 微信小程序实现订阅信息功能

消息能力是小程序能力中的重要组成,可以通过订阅消息召回用户,实现功能的闭环和更优的服务体验。

image.png

1 功能介绍

订阅消息包括两种

1 一次性订阅消息

一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。


2 长期订阅消息

一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。

目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。所以这里我们演示的是一次性订阅。

2使用说明

1 获取模板 ID

在微信公众平台手动配置获取模板 ID: 登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。

image.png

网络异常,图片无法展示
|

2 配置前端代码

在我们要获取下发权限的页面js中,增加下发权限。首先配置模版ID

data: {
  tmplIds:['GD1lDU67hQfBRWaPWMviVd44HOOgpiSw76H45AGsOCw','BUER-P_yrzo5qnRvqomZS4WRciNggW217MFp7f4I3MA'],
},

复制

这个模版ID后续需要用到,先定义获取用户的当前设置,返回值中只会出现小程序已经向用户请求过的权限。

// 检测是否开启  更新提示
testingTap: function () {
  let that = this;
  wx.getSetting({
    withSubscriptions: true,
    success(res) {
      if (res.subscriptionsSetting.mainSwitch) {
        if (res.subscriptionsSetting.itemSettings != null) {
          let item = res.subscriptionsSetting.itemSettings.GD1lDU67hQfBRWaPWMviVd44HOOgpiSw76H45AGsOCw
          if (item == "reject") {
            console.log("拒绝订阅")
          } else if (item == "accept") {
            console.log("开启订阅")
          }
        }
      } else {
        console.log("订阅消息未开启")
      }
    }
  })
},

复制

打印日志的这几个地方可以编写自己的逻辑,上面代码只是检查,没有让用户选择,下面代码就是获取用户下发

//授权
subTap: function () {
  let that = this;
  wx.requestSubscribeMessage({
    tmplIds: that.data.tmplIds,
    success(res) {
      console.log(res)
    },
    fail(res) {
      console.log(res)
    }
  })
},

复制

方法已写完,我们页面加上调用即可

<button bindtap="subTap">允许订阅消息</button>

复制

这只是个演示,subtop方法可以在任何时候调用。


3 服务端下发消息

服务端调用api下发消息,

image.png

至此,一个完整的流程已完成。

相关文章
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
9985 38
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
4104 12
|
存储 自然语言处理 小程序
微信小程序多语言切换神器:简繁体切换功能完全指南
随着全球化的发展,支持多种语言的应用程序愈发重要。本文介绍了如何在微信小程序中实现简体与繁体字体之间的切换功能,以满足不同地区用户的需求。通过创建utils文件夹并编写相应的转换函数,开发者可以方便地实现语言切换,从而提升用户体验。文章中还附带了示例代码和效果图,帮助读者更好地理解和应用这一功能。
1336 0
微信小程序多语言切换神器:简繁体切换功能完全指南
|
小程序 JavaScript
微信小程序之input组件及其获取用户输入信息
微信小程序之input组件及其获取用户输入信息
499 2
|
小程序 Linux Python
查找首字母与Python相关的的英文词汇小程序的续篇---进一步功能完善
查找首字母与Python相关的的英文词汇小程序的续篇---进一步功能完善
325 2
|
人工智能 前端开发 JavaScript
MacTalk 测评通义灵码,实现“微信表情”小功能
墨问西东创始人池建强分享了团队使用通义灵码的经验。
|
算法 JavaScript 前端开发
切西瓜法实现微信抢红包功能
该文章介绍了使用“切西瓜法”和“栅栏法”两种算法来模拟微信抢红包的随机分配机制,并通过具体的JavaScript代码实现了红包金额的公平随机分配过程。
切西瓜法实现微信抢红包功能
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
575 1
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
526 0
在线课堂+工具组件小程序uniapp移动端源码

热门文章

最新文章