思路:
1.首先拿到->access_token
2.然后获取openid(需前端传code)
3.小程序后台申请订阅消息模板
4.推送消息 (需前端授权订阅消息发送)
//请求access_token
$getToken = file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的小程序id&secret=小程序的秘钥");
//json解析返回数据
$getToken = json_decode($getToken);
//拿到access_token
$token = $getToken ->{'access_token'};
// 获取请求路径
//sprintf=php方法
$url = sprintf("https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code",
"小程序id","秘钥","前端的code");
//发送请求拿取openid
//curl_get为自行封装的php中get请求
$wxRet = json_decode(curl_get($url),true);
//推送消息url
$msgUrl = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$token;
//订阅消息的模板消息
$msgObj = [
//模板属性
"character_string13"=> [
//模板属性值
"value"=> "339208499"
],
"phone_number11"=> [
"value"=> "17503008888"
],
"amount10"=> [
"value"=> "120"
],
"thing5"=> [
"value"=> "广州市新港中路397号"
],
"thing6"=> [
"value"=> "外123"
]
];
//请求的data数据
$msgData = [
'access_token'=> $token,
'touser'=> $wxRet['openid'],
'template_id'=> '模板id',
'data'=> $msgObj
];
//curl_post自定封装post请求
$res = curl_post($msgUrl,$msgData);