1、发送模板消息
public function send_notice() {
$access_token = '';
//模板消息
$json_template = $this->json_tempalte();
$url = "https://api.weixin.qq.com/cgi- bin/message/template/send?access_token=" . $access_token;
$res = $this->curl_post($url, urldecode($json_template));
if ($res['errcode'] == 0) {
return '发送成功';
} else {
return '发送失败';
}
}
1.1将模板消息json格式化
private function json_tempalte() {
//模板消息
$template = ['touser' => '', //用户openid
'template_id' => '', //在公众号下配置的模板id
'url' => '', //点击模板消息会跳转的链接
'topcolor' => "#7B68EE",//消息字体颜色
'data' => ['first' => ['value' => urlencode("您的活动已通过"), 'color' => "#FF0000"], 'keyword1' => ['value' => urlencode('测试文章标题'), 'color' => '#FF0000'], //keyword需要与配置的模板消息对应
'keyword2' => ['value' => urlencode(date("Y-m-d H:i:s")), 'color' => '#FF0000'], 'keyword3' => ['value' => urlencode('测试发布人'), 'color' => '#FF0000'], 'keyword4' => ['value' => urlencode('测试状态'), 'color' => '#FF0000'], 'remark' => ['value' => urlencode('备注:这是测试'), 'color' => '#FF0000']],];
return json_encode($template);
}
2.2、curl_post请求(post)
private function curl_post($url, $data = []) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// POST数据
curl_setopt($ch, CURLOPT_POST, 1);
// 把post的变量加上
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}