600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 使用php实现微信小程序发送模板消息(code)

使用php实现微信小程序发送模板消息(code)

时间:2020-12-31 10:35:45

相关推荐

使用php实现微信小程序发送模板消息(code)

后端开发|php教程

微信小程序发送模板

后端开发-php教程

本篇文章给大家带来的内容是关于使用php实现微信小程序发送模板消息(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

html5 php项目源码下载,Ubuntu卸载了vim,app抓爬虫软件,参数类声明是php7的特征吗,SEO那个好lzw

本章将会简单说一下微信小程序的模板消息发送,相对来说比较简单,但也有一个小坑要注意的。

大学生求职与招聘系统源码,绿色版vscode,桌面安装 ubuntu,ide下载tomcat,mm.sqlite数据库,java自动化配置爬虫项目,58同城 php,盐城seo推广价格优惠,虚拟币交易平台网站,播放百度网页音乐插件,ecshop替换模板lzw

微信的地址为:

网页源码分析,ubuntu电脑ip地址,下载哪个版本的tomcat,web爬虫教学,闭包函数php,黑龙江seo关键词哪家好lzw

https://api./cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN

相关参数为

基本参数和地址就是以上测试的,有的人会疑惑form_id,openid,tmeplate_id该从哪里获取下面为先简单说下

form_id可以由前端提供,前端可以在每一个按钮上面提交表单获取form_id给后端,同时后端拿到相关openid。在这里为建议的是前端尽可能多的给后端提供,就是每个按钮都提供给后端一个id,form_id的有效期为7天,不管运营人员有没有使用,数量多好过数量少。

template_id为模板id,可以登陆微信小程序后台在模板消息那里获取到。

当我们知道这些参数后,开发者肯定想马上测试一下,然后就让前端提供form_id,这里为将说下2个坑

第一坑:电脑获取的form_id是不可以使用的

第二坑:form_id是要手机真机获取的,但真机的同时还要是线上的项目,未上线本地测试会提示校验form_id,微信是没有说明这个注意点的,即是需要在审核成功发布后在线上测试。

接下来就说下后端代码

curl_get($url); $res = json_decode($res,1); return $res[access_token]; }//获取模板消息内容主体//因为是测试所以写死,大家可以通过传参的方式获取 public function getMsg($openid,$template_id,$form_id,$emphasis_keyword=keyword1){ $data[data]= [keyword1=>[value=> est1,color=>\],keyword2=>[value=> est2,color=>\],keyword3=>[value=> est1,color=>\]];//内容主体 $data[ ouser] = $openid;//用户的openid $data[ emplate_id] = $template_id;//从微信后台获取的模板id $data[form_id] = $form_id;//前端提供给后端的form_id $data[page] = pages/index/index;//小程序跳转页面 $data[emphasis_keyword] = $emphasis_keyword;//选择放大的字体 return $data; } public function send($appid,secret,$openid,$template_id,$form_id){ $access_token = $this->getAccessToken($appid,secret); $send_url = https://api./cgi-bin/message/wxopen/template/send? access_token= . $access_token; $data = $this->getMsg($openid,$template_id,$form_id); $str = $this->curl_post($send_url,json_encode($data)); $str = json_decode($str,1); return $str; } public function curl_post($url, $fields, $data_type= ext) { $cl = curl_init(); if(stripos($url, https://) !== FALSE) { curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($cl, CURLOPT_SSLVERSION, 1); } curl_setopt($cl, CURLOPT_URL, $url); curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($cl, CURLOPT_POST, true);curl_setopt($cl, CURLOPT_POSTFIELDS, $fields); $content = curl_exec($cl); $status = curl_getinfo($cl); curl_close($cl); if (isset($status[http_code]) && $status[http_code] == 200) { if ($data_type == json) {$content = json_decode($content); } return $content; } else { return FALSE; } } public function curl_get($url, $data_type= ext) { $cl = curl_init(); if(stripos($url, https://) !== FALSE) { curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($cl, CURLOPT_SSLVERSION, 1); } curl_setopt($cl, CURLOPT_URL, $url); curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1 ); $content = curl_exec($cl); $status = curl_getinfo($cl); curl_close($cl); if (isset($status[http_code]) && $status[http_code] == 200) { if ($data_type == json) {$content = json_decode($content); } return $content; } else { return FALSE; } } punblic function index(){ $appid = xxx;//小程序appid $openid = xxx;//接收用户的openid $template_id = xxx;//从微信后台获取的模板id $form_id = xxx;//七天内的formid $data = $this->send($appid,secret,$openid,$template_id,$form_id); var_dump($data);//打印测试结果 }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。