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


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 相关文章推荐
JavaScript Prototype对象
Jan 07 Javascript
input 输入框内的输入事件详细分析
Mar 17 Javascript
深入理解Javascript闭包 新手版
Dec 28 Javascript
js实现div弹出层的方法
Nov 20 Javascript
js分页工具实例
Jan 28 Javascript
jQuery拖动布局其结果保存到数据库
Oct 09 Javascript
jQuery基于cookie实现的购物车实例分析
Dec 24 Javascript
jQuery事件处理的特征(事件命名机制)
Aug 23 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
Jul 08 jQuery
对于input 框限定输入值为浮点型的js代码
Sep 25 Javascript
浅谈如何使用webpack构建多页面应用
May 30 Javascript
Node.js的进程管理的深入理解
Jan 09 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
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php绘制一条弧线的方法
2015/01/24 PHP
php检测url是否存在的方法
2015/04/14 PHP
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
python的链表基础知识点
2020/09/13 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
小学生新学期寄语
2014/01/19 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
运动员口号
2014/06/09 职场文书
英语教师求职信
2014/06/16 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
房屋租赁协议书
2014/10/18 职场文书
医学生自荐信范文
2015/03/05 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js