Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

微信模板消息类 php(php发送微信模板消息)

作者:冰残°零度伤   发布日期:2024-12-30   浏览:466

以下是一个简单的PHP类,用于发送微信模板消息:

class WechatTemplateMessage
{
    private $appId;
    private $appSecret;

    public function __construct($appId, $appSecret)
    {
        $this->appId = $appId;
        $this->appSecret = $appSecret;
    }

    public function sendTemplateMessage($openId, $templateId, $data, $url = '')
    {
        $accessToken = $this->getAccessToken();
        $url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=' . $accessToken;

        $postData = array(
            'touser' => $openId,
            'template_id' => $templateId,
            'url' => $url,
            'data' => $data
        );

        $jsonData = json_encode($postData);

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $result = curl_exec($ch);
        curl_close($ch);

        return $result;
    }

    private function getAccessToken()
    {
        $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $this->appId . '&secret=' . $this->appSecret;

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $result = curl_exec($ch);
        curl_close($ch);

        $accessToken = json_decode($result, true)['access_token'];

        return $accessToken;
    }
}

使用示例:

// 替换为你自己的AppID和AppSecret
$appId = 'your_app_id';
$appSecret = 'your_app_secret';

// 实例化WechatTemplateMessage类
$wechatTemplateMessage = new WechatTemplateMessage($appId, $appSecret);

// 替换为你自己的OpenID和模板ID
$openId = 'your_open_id';
$templateId = 'your_template_id';

// 替换为你自己的模板消息内容
$data = array(
    'first' => array(
        'value' => '您有新的订单',
        'color' => '#173177'
    ),
    'keyword1' => array(
        'value' => '订单号123456',
        'color' => '#173177'
    ),
    'keyword2' => array(
        'value' => '100元',
        'color' => '#173177'
    ),
    'remark' => array(
        'value' => '请尽快处理',
        'color' => '#173177'
    )
);

// 发送模板消息
$result = $wechatTemplateMessage->sendTemplateMessage($openId, $templateId, $data);

// 打印发送结果
echo $result;

请注意,上述代码中的your_app_idyour_app_secretyour_open_idyour_template_id需要替换为你自己的实际值。此外,你还需要在微信公众平台上创建一个模板消息,并将模板ID替换为你自己的实际值。

上一篇:php递归实现栏目(php递归函数遍历数组)

下一篇:nginx php打印(nginx打印cookie)

大家都在看

php session用法

php 定义常量

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 判断是否为空

php 拆分字符串

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站