bakhritdinov / sms_manager
支持自动切换网关的 SMS 管理器
dev-master
2020-01-23 11:22 UTC
Requires
- php: >=7.1.3
- illuminate/config: >=5.7
- illuminate/database: >=5.7
- illuminate/support: >=5.7
- illuminate/translation: >=5.7
Requires (Dev)
- orchestra/testbench: ^4.0
This package is auto-updated.
Last update: 2024-09-23 21:15:38 UTC
README
该包提供了一种实现您自己的 SMS 网关的方式,您可以按照自己的需求来。
安装
composer require bakhritdinov/sms-manager
Laravel
将 "Bakhritdinov\SMSManager\Support\LaravelServiceProvider" 注册到 config/app.php 配置文件中
'providers' => [ // Other service providers... Bakhritdinov\SMSManager\Support\LaravelServiceProvider::class, ],
将 SMSManager 门面添加到配置文件的别名数组中
'SMSManager' => Bakhritdinov\SMSManager\Support\Facades\SMSManager::class,
生成 config/sms_manager.php
php artisan vendor:publish
Lumen
或 bootstrap/app.php
$app->register(Bakhritdinov\SMSManager\Support\LumenServiceProvider::class);
要求
PHP 7.1.3 或更高版本
Laravel 或 Lumen 5.7 或更高版本
Composer
功能
- 根据优先级自动切换 SMS 网关
- 有机会控制 SMS 网关的优先级
- 立即发送 SMS 通知
- 通过队列在后台发送 SMS 通知
- 无限制实现自己的 SMS 网关
- 重试保护
还缺少什么?
- 机会批量发送
- 用于 SMS 网关优先级管理的控制器
随着时间的推移,我会修复所有的缺陷,如果您发现任何缺陷,请向我报告。
使用
SmsManager::getBuilder() ->toNumber(998974614334) ->withMessage('Hello! From default gateway') ->sendImmediately();
第一种情况使用最高优先级的 SMS 网关向指定号码发送 SMS 通知。
sendImmediately 方法发送消息而不使用队列,等待来自 SMS 中心的通知。
SmsManager::getBuilder() ->toNumber(998974614334) ->withMessage('Hello! From first gateway') ->withGateway('first_gateway') ->sendImmediately();
第二种情况在定义所需的 SMS 网关的同时向指定号码发送 SMS 通知,但等待来自 SMS 中心的通知。
SmsManager::getBuilder() ->toNumber(998974614334) ->withMessage('Hello! From queue') ->addToQueue();
第三种情况为向指定号码发送消息创建队列,同时使用最高优先级的 SMS 网关。
这非常有用。例如,在注册时,客户不必等待来自 SMS 中心的通知。