前段时间做毕设用到过,怕以后会忘记,特地记录下,主要是发送模板信息和批量收集formid
一.发送模板信息
效果图
首先小程序发送模板信息需要以下几样参数
1.access_token
2.模板id
3.openid
4.formid
官方文档
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/template-message.html
1.获取access_token (需要知道小程序的appid和appsecret)
接口地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
返回格式:
{"access_token": "ACCESS_TOKEN", "expires_in": 7200}
当然,由于调用token接口的次数是有限制的。。所以可以先将获取到的token缓存起来,要用的时候先检测缓存是否过期(2个小时),如果没过期就直接使用缓存中的token,过期就调用接口。此处用的是TP5框架
public function access_token()
{
$appid = 'xxxxxxxx';
$appsecret = 'xxxxxxxx';
$access_token=Cache::get('weixin_access_token');
if($access_token)
{
return json(['access_token'=>$access_token]);
}else{
$url_get ='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret;
$ch1 = curl_init ();
$timeout = 5;
curl_setopt ( $ch1, CURLOPT_URL, $url_get );
curl_setopt ( $ch1, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch1, CURLOPT_CONNECTTIMEOUT, $timeout );
curl_setopt ( $ch1, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $ch1, CURLOPT_SSL_VERIFYHOST, false );
$accesstxt = curl_exec ( $ch1 );
curl_close($ch1 );
$access = json_decode ( $accesstxt, true );
// 缓存数据7200秒
Cache::set('weixin_access_token',$access['access_token'],7200);
return json(['access_token'=>$access['access_token']]);
}
}
2.获取模板id
在微信公众平台搜索选择你所需要的模板信息,