E企盈营销工具技术服务商 热线:4006-838-530

模板消息,微信小程序-----消息模版最全解释

E企盈直播平台营销卖货系统

最近小程序在码界里嫌弃腥风血雨,每一个码奴都感觉世界给自己又多开一个扇窗,本菜鸟也眼红不已,就尝试着写了一个小程序,今天跟大家分享一下自己在写消息模版时候遇到的坑,希望能帮助每一位路过踩坑的道友;文章目录1.写小程序消息模版第一步:配置消息推送1.1登录微信公众平台,选择左侧侧边栏==设置==开发设置==消息推送==启用1.2配置消息推送url:小程序使用URL与小程序接口同;例如:Token(令牌):自己定义Token值;要与后端代码中Token同EncodingAESKey:随机生成就好,自定义也可消息加密方式:简易兼容模式数据格式:JOSN与XML根据个人习惯后端php验证代码如下:privatefunctioncheckSignature(){$signature=$_GET[“signature”];$timestamp=$_GET[“timestamp”];$nonce=$_GET[“nonce”];$token=TOKEN;$tmpArr=array($token,$timestamp,$nonce);sort($tmpArr,SORT_STRING);$tmpStr=implode($tmpArr);$tmpStr=sha1($tmpStr);if($tmpStr==$signature){return$_GET[‘echostr’]}else{returnfalse}}2.消息模板2.1.申请新消息模板消息模板只有在我的模板中才可以使用,首先我们可以根据自己需求在模板库中查找适合自己的,如果没有,就申请新的模板,选择模板时要注意,至少选择两个参数2.2.选用已存在的模板3.发送模板消息模板消息不能根据自己的想法任意发送,使用一个触发性事件;有两种情况触发1.表单提交(获取formid)2.支付(获取prepay_id)3.1获取模板ID(1)通过模版消息管理接口获取模版ID(详见模版消息管理)(2)在微信公众平台手动配置获取模版ID(模块2.2,点击我的模板==点击详情==点击复制或手动复制写入代码中)3.2获取formId或prepay_id页面的组件,属性report-submit=true时,可以声明为需发模板消息,此时点击按钮提交表单可以获取formId,用于发送模板消息。或者当用户完成支付行为,可以获取prepay_id用于发送模板消息。注意:因为我们是在开发者工具中测试,所以得到的formId值为theformIdisamockone。在真机中我们可以得到一个具体的值,利用该值结合其他参数就可以发送模板消息啦,所以测试真实场景务必在真机中测试formbindsubmit=”formSubmit”report-submit=’true’viewviewinput/viewinputname=”input”placeholder=”pleaseinputhere”/view{{san}}/view/viewviewbuttonformType=”submit”Submit/button/view/formformSubmit:function(e){//获取formIdconsole.log(e.detail.formId);},3.3调用接口下发模板消息解释官方文档参数:1.touser用户在登录小程序获取,用户在小程序的唯一标示——openid2.template_id所需下发的模板消息ID(模块3.1获取的模板ID)3.page点击模板卡片后跳转的页面4.form_id表单提交场景下,为submit事件带上的formId;支付场景下,为本次支付的prepay_id(模块3.2获取)5.data模板内容,不填下发为空,对应模板消息参数6.color模板内容颜色(非必填)7.emphasis_keyword模板需要放大的关键词,不填则默认无放大(非必填)以php代码为例,啥都不说。。。。放码过来:获取小程序tokenprivatefunctiongetToken(){$appid=’小程序appid’;$secret=’小程序secret’;$url=”https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}”;return$data=$this-curlGet($url);}通过post请求发送消息模板privatefunctiongetHttpArray($url,$post_data){$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);//curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//没有这个会自动输出,不用print_r();也会在后面多个1curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);$output=curl_exec($ch);curl_close($ch);$out=json_decode($output);return$out;}通过get请求发送消息模板privatefunctioncurlGet($url){//1.初始化Curl$curl=curl_init();//设置curl传输选项curl_setopt($curl,CURLOPT_URL,$url);//访问ip地址curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);//设置为FALSE禁止cURL验证对等证书curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//设置为1或true时,获取的信息以字符串返回$data=curl_exec($curl);//返回值curl_close($curl);$out=json_decode($data,true);return$out;}发送模板消息publicfunctionsmallWXmessage(){$data=END{“touser”:”OPENID”,”template_id”:”TEMPLATE_ID”,”page”:”index”,”form_id”:”FORMID”,”data”:{“keyword1”:{“value”:”339208499″},”keyword2″:{“value”:”2015年01月05日12:30″},”keyword3″:{“value”:”粤海喜来登酒店”},”keyword4″:{“value”:”广州市天河区天河路208号”}},”emphasis_keyword”:”keyword1.DATA”}END;$access=json_decode($this-getToken(),true);//获取token$access_token=$access[‘access_token’];$url=”https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=”.$access_token;$data=$this-getHttpArray($url,$data);//post请求urlreturn$data;}php中ENDEND定义字符串要注意,1.以END开始标记开始,以END结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号。2.开始标记和开始标记相同;但是不只限于END;比如常用大写的EOT、EOD、EOF来表示3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。好了,我们去请求一下试试,哇,哇,成功了,舒服。。。。。。看图好;我们现在已经成功发送了一个小程序消息,但是我想无线发送小程序模板消息可不可以呢?答案:在巨大的限制下是可以实现的限制1:小程序发送消息必须由表单提交事件获取formid或者支付prepay_id才能推送限制2:formid、prepay_id的有效期都是7天,也就是说超过7天后,formid失效无法再发送。限制3:一个formid有效期内只能发送一条模板消息给用户,一个prepay_id有效期内只能发送三条模板消息给用户实现方式:当用户使用小程序时,产生的formid、prepay_id我们根据用户id进行存储,如果用户活跃的情况下,我们可以实现无线发送小程序模板消息希望能帮助每一个愿意在程序世界遨游的道友,喜欢的小伙伴可收藏,感谢您的观赏不对的地方还希望多多批评和指出

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 模板消息,微信小程序-----消息模版最全解释
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏