PHP Laravel框架 微信模板消息发送
微信模板消息发送在Laravel框架中的实现
前言微信模板消息是一种特殊的短信通知,通过微信公众平台向用户推送特定格式的信息。这种方式可以提高用户体验和便捷性。在 Laravel 框架中,我们可以使用微信官方提供的 SDK 来实现微信模板消息发送。
环境准备在开始之前,请确保你已经安装了Laravel框架,并且配置好了微信公众平台相关信息。
composer.json```json{
"require": {
"laravel/framework": "^8.0",
"guzzle "^7.2"
}
}
```
config/services.php```phpreturn [
'weixin' => [
'app_id' => env('WEIXIN_APP_ID'),
'secret' => env('WEIXIN_SECRET'),
'token' => env('WEIXIN_TOKEN'),
],
];
```
微信模板消息发送实现 Step1: 安装微信 SDK```bashcomposer require guzzle Step2: 创建微信服务类```php// app/Services/Weixin.phpnamespace AppServices;
use GuzzleHttpClient;
use IlluminateSupportFacadesConfig;
class Weixin{
private $client;
public function __construct()
{
$this->client = new Client();
}
public function sendTemplateMessage($templateId, $openid, $data)
{
$url = ' . $this->getAccessToken();
$params = [
'template_id' => $templateId,
'touser' => $openid,
'data' => $data,
];
$response = $this->client->post($url, ['form_params' => $params]);
return json_decode($response->getBody()->getContents(), true);
}
private function getAccessToken()
{
$token = Config::get('services.weixin.token');
if (!$token) {
throw new Exception('微信 token 未配置');
}
return $token;
}
}
```
Step3: 使用微信服务类发送模板消息```php// app/Http/Controllers/TestController.phpnamespace AppHttpControllers;
use IlluminateHttpRequest;
use AppServicesWeixin;
class TestController extends Controller{
public function index()
{
$weixin = new Weixin();
$templateId = 'your_template_id';
$openid = 'your_openid';
$data = [
'first' => ['value' => 'Hello, world!'],
'remark' => ['value' => 'This is a remark.'],
];
$response = $weixin->sendTemplateMessage($templateId, $openid, $data);
dd($response);
}
}
```
总结在本文中,我们详细描述了如何使用Laravel框架和微信官方提供的 SDK 来实现微信模板消息发送。通过创建微信服务类并使用其 sendTemplateMessage 方法,可以轻松地向用户推送特定格式的信息。