class Wechat extends Controller
{
//发送模板消息
public function do_send(){
$appid = APPID;
$appsecret = appsecret;
$access_token_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $appid . '&secret=' . $appsecret;//获取access_token
$json_token = $this->curl_post($access_token_url);
$access_token1 = json_decode($json_token, true);
$access_token2 = $access_token1['access_token'];//模板消息
$json_template = $this->json_tempalte();
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $access_token2;
$res = $this->curl_post($url, urldecode($json_template));
$res = json_decode($res, true);
if ($res['errcode'] == 0) {
echo '发送成功';
} else {
echo '发送失败';
}
}
//将模板消息json格式化
public function json_tempalte(){
//模板消息
$template = [
'touser' => 'oS3TrsvDsvnF77BNNuMTj0FRi9g8', //前面获取的openid
'template_id' => "Vm8N6Avj-rVlNx1s8GsUBgdTPmX4Q7zYfJNJ2PcXyLA", //前面新增的模板id
'url' => "http://www.chinaportrait.org/", //点击模板消息会跳转的链接
'topcolor' => "#7B68EE",
'data' => array(
//这里在测试号是没法显示的,但是在正式的模板是这样的数据
'first' => array(
'value' => urlencode("尊敬的云淡风轻,您好!"),
'color' => "#FF0000"
),
'keyword1' => array(
'value' => urlencode('2022年'),
'color' => '#FF0000'
), //keyword需要与配置的模板消息对应
'keyword2' => array(
'value' => urlencode('1000元'),
'color' => '#FF0000'
),
'remark' => array(
'value' => urlencode('感谢您对中国人像摄影学会工作的支持!'),
'color' => '#FF0000'))];
$json_template = json_encode($template);
return $json_template;
}
//curl请求
function curl_post($url, $data = array()){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)) {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
// $wx=new wechat();
// $wx->do_send();
}
微信发送模板消息
于 2023-12-28 11:47:25 首次发布