微信小程序开发之formId使用(模板消息)
基于微信小程序的模板消息:
基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验。
模板推送位置:服务通知
模板下发条件:用户本人在微信体系内与页面有交互行为后触发,详见下发条件说明
模板跳转能力:点击查看详情仅能跳转下发模板的该帐号的各个页
使用案例
场景描述:前台获取 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使用(模板消息)的更多相关文章
- 微信小程序开发之picker
一.绑定简单数组 通过bindChange控制index,使得当前选择值发生改变 示例1 data: { Data: ['A','B'], Index: 0, }, <picker class= ...
- 微信小程序开发之scroll-view
本文主要介绍通过scroll-view实现回至顶部,如下效果 一.页面代码 顶部的工具栏放一个查找按钮,滚动区域实现分页,目的就是为了点击上一页\下一页时,自动回到顶部. scroll-view必须指 ...
- 微信小程序开发之picker选择器组件用法
picker组件时一个从底部弹起的可滚动的选择器(嵌入页面滚动器组件picker-view查看https://mp.weixin.qq.com/debug/wxadoc/dev/component/p ...
- 微信小程序开发之https从无到有
本篇不讲什么是https,什么是SSL,什么是nginx 想了解这些的请绕道,相信有很多优秀的文章会告诉你. 本篇要讲的在最短的时间内,让你的网站从http升级到https. 开始教程前再说一句:ht ...
- 微信小程序开发之https服务器搭建三步曲
本篇文章主要讲述3个方面的内容,如下: 1.SSL证书的获取 2.服务器 Nginx SSL 证书的配置. 3.如何兼容80端口和443端口以及为什么要同时兼容这两个端口. 1.SSL证书的获取 ht ...
- 微信小程序开发之http到https的转化
小程序从公布到现在已经过去好几个月了,本来从小程序发布出来就准备抱着微信的大腿进行一波小程序开发的,但是由于公司项目小程序暂时不支持,也就只能一直搁浅.过年过来偶然和朋友谈起小程序,觉的工作再忙也得找 ...
- 微信小程序开发之IOS/Android兼容坑(持续更新)
一.时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题就是new Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解 ...
- 微信小程序-登陆、支付、模板消息
wx.login(OBJECT) 调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key).用户数据的加解密通讯需要 ...
- 微信小程序开发之tab导航栏
实现功能: 点击不同的tab导航,筛选数据 UI: js: data:{ navbar: ['半月维保', '季度维保', '半年维保',"年度维保"], //count ...
随机推荐
- eclipse下出现奇怪字符的解决方法
eclipse在代码编辑界面出现了奇怪的字符,如下图: 其中包括:换行符,制表符等. 解决方法如下: 点击工具栏的显示空格字符即可.
- 校招:Vobile阜博通2015校园招聘
关于Vobile阜博通校招(10-11月份),耗时将近一个月,现整理分享给大家. 1 浙大笔试无选择填空,问答题为主,偏语言的个人理解,不在意具体语言方向(C/C++/Java).(1)描述C.C++ ...
- Linux - 有效群组(effective group)与初始群组(initial group),groups,newgrp
每个使用者在他的 /etc/passwd 里面的第四栏有所谓的 GID ,那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登陆系统,立刻就拥有这个群组的相关权 ...
- navicat为mysql建立索引
索引的目的是大大提高查询效率,还有读写效率. kettle向sql里面插入,更新时,也要建立索引,可以大大提升处理时间. 但是建立索引报错:Specified key was too long; ma ...
- 初探linux子系统集之led子系统(三)
世界杯结束了,德国战车夺得了大力神杯,阿根廷最终还是失败了.也许3年,5年,或者10年后,人们就不知道巴西世界杯的亚军是谁,但是总是会记得冠军是谁.就像什么考试,比赛,第一永远会被人们所记住,所以我们 ...
- C# / VB.NET合并PDF指定页
在前面的文章中,我们已经知道如何合并.拆分多个PDF文件,在这篇文章中的合并.拆分PDF文档主要是以方便文档管理的目的来操作文档,在文档查阅.管理及存储上很方便实用.但是我们如果想要合并多个文档中的部 ...
- TCP / IP,HTTP
大学学习网络基础的时候老师讲过,网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用 ...
- java程序的内存分配(一)
首 页 阅览室 馆友 我的图书馆 帐号 java程序的内存分配(一) 收藏 JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机.只要根据J ...
- char 与 String 相等比较
这是一个相当2 相当基础 相当没有意义的帖子:但今天因为这个问题引发了一个bug.小细节也很重要!!! char a='1'; // char b='2dsf'; //cha ...
- Microsoft C++ 异常: std::system_error std::thread
第一次使用std::thread,把之前项目里面的Windows的thread进行了替换,程序退出的然后发生了std::system_error. 经过调试,发现std::thread ,join了两 ...