基于微信小程序的模板消息:
基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验。
模板推送位置:服务通知
模板下发条件:用户本人在微信体系内与页面有交互行为后触发,详见下发条件说明
模板跳转能力:点击查看详情仅能跳转下发模板的该帐号的各个页

使用案例
场景描述:前台获取 formId 送至后台,由后台实现模板消息的发送。(此处由于 formId 只能由用户触发表单提交操作产生,故前台需要将每次产生的formId发送至后台,由后台保存并在适当时候调用微信接口向用户发送模板消息)

//example.wxml
<form bindsubmit="submit" report-submit='true' >
<button form-type="submit" type="default" size="mini">提交</button>
</form> //example.js
submit: function (e) {
console.log(e.detail.formId);
}

注意:因为我们是在开发者工具中测试,所以得到的formId值为the formId is a mock one。在真机中我们可以得到一个具体的值,利用该值结合其他参数就可以发送模板消息啦,所以测试真实场景务必在真机中测试
微信目前的限制是在如下两种情况下小程序才能够正常的使用模板消息:

在小程序内使用了微信支付接口,
在小程序里用户点击了表单,而且该表单的report-submit属性值为true时。

index.wxml

<navigator  class="navs" url="{{urls}}">
中国
</navigator>

index.js

Page({
data: {
urls:'/pages/lanbo/lanbo?title=我是Index里面的title数据'
}
})

要跳转的页面lanbo页面
lanbo.wxml

<text>pages/lanbo/lanbo.wxml</text>

lanbo.js

Page({
data: { },
onLoad: function (options) {
this.setData({
title:options.title
});
console.log(this.data.title);
}
})

跳转页面之后请在调试模式下中的console下查看数据。

https://blog.csdn.net/qq_38125123/article/details/74941492

{
"data": [
{
"name": "first",
"value": "您的企业信息不符合要求未通过审核。",
},
{
"name": "keyword1",
"value": "测试公司"
},
{
"name": "keyword3",
"value": "审核驳回",
"color": "#FF0000",
},
{
"name": "remark",
"value": "如需帮助请联系我们,谢谢您的支持!\n\r点详情跳转",
"color": "#FF00FF"
}
]
}

{
"data": [
{
"name": "first",
"value": "您的企业信息不符合要求未通过审核。",
},
{
"name": "keyword1",
"value": "测试公司"
},
{
"name": "keyword3",
"value": "审核驳回",
"color": "#FF0000",
},
{
"name": "remark",
"value": "如需帮助请联系我们,谢谢您的支持!\n点详情跳转",
"color": "#FF00FF"
}
]
}

{
"data": [
{
"name": "first",
"value": "您的企业信息不符合要求未通过审核。",
},
{
"name": "keyword1",
"value": "测试公司"
},
{
"name": "keyword3",
"value": "审核驳回",
"color": "#FF0000",
},
{
"name": "remark",
"value": "如需帮助请联系我们,谢谢您的支持!\r点详情跳转",
"color": "#FF00FF"
}
]
}

{
"data": [
{
"name": "first",
"value": "您的企业信息不符合要求未通过审核。",
},
{
"name": "keyword1",
"value": "测试公司"
},
{
"name": "keyword3",
"value": "审核驳回",
"color": "#FF0000",
},
{
"name": "remark",
"value": "如需帮助请联系我们,谢谢您的支持!\r\n点详情跳转",
"color": "#FF00FF"
}
]
}

微信小程序开发之formId使用(模板消息)的更多相关文章

  1. 微信小程序开发之picker

    一.绑定简单数组 通过bindChange控制index,使得当前选择值发生改变 示例1 data: { Data: ['A','B'], Index: 0, }, <picker class= ...

  2. 微信小程序开发之scroll-view

    本文主要介绍通过scroll-view实现回至顶部,如下效果 一.页面代码 顶部的工具栏放一个查找按钮,滚动区域实现分页,目的就是为了点击上一页\下一页时,自动回到顶部. scroll-view必须指 ...

  3. 微信小程序开发之picker选择器组件用法

    picker组件时一个从底部弹起的可滚动的选择器(嵌入页面滚动器组件picker-view查看https://mp.weixin.qq.com/debug/wxadoc/dev/component/p ...

  4. 微信小程序开发之https从无到有

    本篇不讲什么是https,什么是SSL,什么是nginx 想了解这些的请绕道,相信有很多优秀的文章会告诉你. 本篇要讲的在最短的时间内,让你的网站从http升级到https. 开始教程前再说一句:ht ...

  5. 微信小程序开发之https服务器搭建三步曲

    本篇文章主要讲述3个方面的内容,如下: 1.SSL证书的获取 2.服务器 Nginx SSL 证书的配置. 3.如何兼容80端口和443端口以及为什么要同时兼容这两个端口. 1.SSL证书的获取 ht ...

  6. 微信小程序开发之http到https的转化

    小程序从公布到现在已经过去好几个月了,本来从小程序发布出来就准备抱着微信的大腿进行一波小程序开发的,但是由于公司项目小程序暂时不支持,也就只能一直搁浅.过年过来偶然和朋友谈起小程序,觉的工作再忙也得找 ...

  7. 微信小程序开发之IOS/Android兼容坑(持续更新)

    一.时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题就是new  Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解 ...

  8. 微信小程序-登陆、支付、模板消息

    wx.login(OBJECT) 调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key).用户数据的加解密通讯需要 ...

  9. 微信小程序开发之tab导航栏

    实现功能: 点击不同的tab导航,筛选数据 UI:   js: data:{ navbar: ['半月维保', '季度维保', '半年维保',"年度维保"],    //count ...

随机推荐

  1. OpenCV——颜色运算(二)

    #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include & ...

  2. Hibernate之初体验

    在开始学Hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装.一句不难,难道是真的不难还是眼高手低? 如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎 ...

  3. 初探linux子系统集之led子系统(一)

    就像学编程第一个范例helloworld一样,学嵌入式,单片机.fpga之类的第一个范例就是点亮一盏灯.对于庞大的linux系统,当然可以编写一个字符设备驱动来实现我们需要的led灯,也可以直接利用g ...

  4. Python可视化TVTK库初使用

    本周学习了初步的TVTK库的安装及使用方法,第一次通过tvtk.CubeSource方法建立了一个长方体对象.对TVTK的接触有了新的体会. 首先,在网上下载了以下五个库并按顺序通过pip指令在cmd ...

  5. jQuery如何停止元素的animate动画,还有怎样判断是否处于动画状态

    jquery的animation会自动进入队列,就出现了一个问题,这些动画会一一执行完成,而我们实际的本意是当鼠标移开的时候动画即终止. 停止元素的动画方法:stop()语法结构:stop([clea ...

  6. iframe之局部刷新

      例如: <iframe src="1.htm" name="ifrmname" id="ifrmid"></ifram ...

  7. 【抽象那些事】不完整的抽象&多方面抽象&未用的抽象&重复的抽象

    不完整的抽象 抽象未支持所有互补或相关的方法时,将导致这种坏味. 为什么要有完整的抽象? 一种重要的抽象实现手法是创建内聚而完整的抽象.抽象未支持相关的方法时,可能会影响抽象的内聚性和完整性.如果抽象 ...

  8. 升级Centos 7/6内核版本到4.12.4的方法

    一.查看那系统内核版本 二.升级内核 三.修改grub中默认的内核版本 四.重启系统并查看系统内核 公司打算上Docker服务,目前需要安装运行环境,Docker新的功能除了需要Centos 7系统之 ...

  9. quicksort(java版)

    相信大家都知道几种排序算法,比如说冒泡排序,选择排序,插入排序等等,这些个算法都不是很难,自己多多理解理解就能掌握了,而今天我们要谈的就是重头戏就是快速排序. 引用大牛的思想来对排序算法解释一下.(文 ...

  10. 说说Android的MVP模式

    http://toughcoder.NET/blog/2015/11/29/understanding-Android-mvp-pattern/ 安卓应用开发是一个看似容易,实则很难的一门苦活儿.上手 ...