关于微信小程序发

2017-10-26  本文已影响0人  流年你奈我何_89f7

如题,就是这么个玩意,主要是需要前端发一个form_id。我这只详细说后端代码。

//接收前端传过来的form_id

$form_id = $_POST['form_id'];

//这个是前端传过来的该用户的openid

$user_id = $_POST['user_id'];

//获取token

$token=$this->token();

//拼接url地址

$url="https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=$token";

//准备好模板消息接口要的数据

$ar=array(

'touser'=>$user_id,

//这个是前端在微信公众平台配置的模板id

'template_id'=>'自己填',

'form_id'=>$form_id,

//这个data才是重头戏,前端配置模板的时候,对照着下图

'data'=>array(

'keyword1'=>array(

'value'=>'数据'

),

'keyword2'=>array(

'value'=>'数据'

),

//然后还有那么多,我就懒得写了

),

//还有这个就是最重要的代码,不写这个根本不行

'emphasis_keyword'=>'keyword1.DATA'

);

//转化json格式

$a =json_encode($ar,JSON_UNESCAPED_UNICODE);

$header = "Accept-Charset: utf-8";

//开始模拟请求了

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($chl, CURLOPT_HTTPHEADER, $header);

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $a);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$tmp = curl_exec($ch);

curl_close($ch);

//这个只是看返回值。

var_dump($tmp);

如果打印出来是什么41028什么的,说明就是form_id没有值,或者已经过期。form_id可以存表里,在七天内有效。至于其他的错误码,就只有看微信官方说明咯

上一篇 下一篇

猜你喜欢

热点阅读