解决小程序发送模板消息(php后台)

小程序已经可以用来做商家的业务,实现模板消息的发送就很有必要了,可以通知用户一些消息;
类似于这种的:

解决小程序发送模板消息(php后台)
文章图片


首先是小程序端:
首先是表单提交获取formid;
wxml文件代码:

//一定要有report-submit ,不然获取不到formid 姓名:

js文件代码:
submitForm:function(e){ var name = e.detail.value.data_name; var formid = e.detail.formid; //开发工具里调试的时候显示的是the formId is a mock one,要到真机才能看到formid的值 var tarPage = "/haa/muban"; //点击消息跳转的界面 wx.request({ url: 'http://localhost/test/temMsg.php',//服务器地址 data:{ formid:formid, name:name, openid:wx.getStorageSync("openid"),//要获取用户的openid才能发送,如果还不会建议看上篇; }, header:{ "Content-type":"application/json", }, success:function(res){ console.log(res.data); }, fail:function(err){ console.log(err); } }) }

后台php代码:
$openid, "template_id"=>$temid, "page"=>$page, "form_id"=>$formid, "data"=>array( "keyword1"=>array( "value"=>$key1, "color"=>"#173177" ), "keyword2"=>array( "value"=>$key2, "color"=>"#173177" ), "keyword3"=>array( "value"=>$key3, "color"=>"#173177" ), "keyword4"=>array( "value"=>$key4, "color"=>"#173177" ), "keyword5"=>array( "value"=>$key5, "color"=>"#173177" ), "keyword6"=>array( "value"=>$key6, "color"=>"#173177" ) ), "emphasis_keyword"=>"keyword1.DATA",//需要进行加大的消息 ); $res = postCurl($url,$data,'json'); //将data数组转换为json数据 if($res){ echo json_encode(array('state'=>4,'msg'=>$res)); }else{ echo json_encode(array('state'=>5,'msg'=>$res)); }}function returnAsskey() { $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=yourAppid&secret=yourSecert'; $ass_key = curl_get($url); $a1 = $ass_key->access_token; return $a1; } ?>

postCurl.php文件代码:

getCurl.php文件代码:

如果在开发工具上进行调试会出现41028的错误,是因为获取不到formid,可以到手机端调试然后在console里面看到formid添到开发平台上面就可以了
还有就是access_token的时间期限是7200s,到期就要更换,我是直接将时间和access_token,然后每次判断一下当前时间和数据库中存取的时间是否差7200s,到了就更换,感觉这方法很蠢,才刚学php也不会很多,欢迎交流。
最后成功得到通知:
解决小程序发送模板消息(php后台)
文章图片


【解决小程序发送模板消息(php后台)】看了好多博客才弄出来,略有成就感

    推荐阅读