小程序新版订阅消息模板消息


Posted in Javascript onDecember 31, 2019

小程序订阅消息
功能介绍
消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。

订阅消息推送位置:服务通知
订阅消息下发条件:用户自主订阅
订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页面

小程序新版订阅消息模板消息

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

配置订阅消息在这里如下图所示

小程序新版订阅消息模板消息

步骤2:获取下发权限
详见小程序端消息订阅接口 wx.requestSubscribeMessage

步骤3:调用接口下发订阅消息
详见服务端消息发送接口 subscribeMessage.send

wx.requestSubscribeMessage(Object object)
基础库 2.8.2 开始支持,低版本需做兼容处理。

这里要注意了你小程序的appid 必须跟你配置的appid 一致否则你请求到后端去就会报错显示 你的模板id不存在错误如下

小程序新版订阅消息模板消息

参数代码什么的我就不??铝 https://developers.weixin.qq....
这是开发文档链接请参照

基础示例代码:

wx.requestSubscribeMessage({ tmplIds: \[''\], success (res) { } })

我的业务示例代码:

import { setSubscribeMessage } from "../api/common-api";// 我提交接口需要的api

const { globalData } = getApp();
/**
 * 订阅消息
 * 不管内部发生什么错误
 * 也不用管内部做了什么操作
 * 都返回 resolve()
 * 都不能影响业务流程
 *
 * 使用方法:
 * -- 业务逻辑
 * await subscribeMessage(list)
 * -- 业务逻辑
 *
 * */
function subscribeMessage(list = []) {
 console.log("list", list);
 let resolve = null;
 // eslint-disable-next-line no-unused-vars
 let reject = null;
 const promise = new Promise((res, rej) => {
  resolve = res;
  reject = rej;
 });
 try {
  wx.requestSubscribeMessage({
   tmplIds: [...list],
   complete(res) {
    console.log("res", res);
    let params = {
     subscribe_templates: [],
     open_id: globalData.userInfo.open_id
    };
    for (let key in res) {
     if (key !== "errMsg" && key !== "errorCode") {
      let obj = {
       template_id: key,
       status: res[key]
      };
      params.subscribe_templates.push(obj);
     }
    }
    console.log("params", params);
    // 接口提交
    setSubscribeMessage(params);
    // 只需要返回成功
    resolve();
   }
  });
 } catch (err) {
  console.error("subscribeMessage-err", err);
  resolve();
 }

 return promise;
}

export { subscribeMessage };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery替换已存在于element上的event的方法
Mar 09 Javascript
简化版手机端照片预览组件
Apr 13 Javascript
浅谈javascript中的DOM方法
Jul 16 Javascript
《JavaScript函数式编程》读后感
Aug 07 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
Dec 08 Javascript
微信小程序 参数传递详解
Oct 24 Javascript
关于Bootstrap按钮组件消除黄框的方法
May 19 Javascript
Vue中如何实现轮播图的示例代码
Jul 27 Javascript
关于react中组件通信的几种方式详解
Dec 10 Javascript
vue生成token并保存到本地存储中
Jul 17 Javascript
微信小程序自定义键盘 内部虚拟支付
Dec 20 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
May 10 Javascript
小程序实现长按保存图片的方法
Dec 31 #Javascript
使用webpack搭建vue环境的教程详解
Dec 31 #Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
Dec 31 #Javascript
TypeScript之调用栈的实现
Dec 31 #Javascript
Vue通过配置WebSocket并实现群聊功能
Dec 31 #Javascript
Vue实现剪贴板复制功能
Dec 31 #Javascript
Vue+Element实现网页版个人简历系统(推荐)
Dec 31 #Javascript
You might like
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
初任培训自我鉴定
2013/10/07 职场文书
村优秀党员事迹材料
2014/01/15 职场文书
班班通校本培训方案
2014/03/12 职场文书
搞笑婚礼主持词
2014/03/13 职场文书
2014年教师节活动总结
2014/08/29 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
欠款证明
2015/06/24 职场文书
公司保洁员管理制度
2015/08/04 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
Python max函数中key的用法及原理解析
2021/06/26 Python