发布推送

This commit is contained in:
ROmani
2024-02-26 00:41:25 +08:00
parent 70304f730b
commit 1a9008b318
33 changed files with 1515 additions and 216 deletions

View File

@ -0,0 +1,37 @@
<?php
namespace App\Thrid\Sms\Movider;
use App\Thrid\Sms\SmsBase;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Log;
class Movider extends SmsBase
{
/**
* @throws GuzzleException
*/
function sendSmsCode($phone, $code, $iSendType = self::SMS_SEND_TYPE_CHARACTER): bool
{
$path = '/v1/sms';
$aData['phone'] = $phone;
$aData['code'] = $code;
$aData = [
'api_key' => Config::get('service.sms.movider.api_key'),
'api_secret' => Config::get('service.sms.movider.api_secret'),
'to' => $phone,
'text' => $code,
];
if(Config::get('service.sms.movider.from') != null) $aData['from'] = Config::get('service.sms.movider.from');
$resp = $this->sendReq($path, $aData);
Log::info('movider sendSmsCode', [$resp->getBody()->getContents()]);
if($resp->getStatusCode() == 200) return true;
return false;
}
function getUrl(): string
{
return 'https://api.movider.co';
}
}

35
app/Thrid/Sms/SmsBase.php Normal file
View File

@ -0,0 +1,35 @@
<?php
namespace App\Thrid\Sms;
use GuzzleHttp\Exception\GuzzleException;
abstract class SmsBase implements SmsInterface
{
function sendSmsCode($phone, $code, $iSendType = self::SMS_SEND_TYPE_CHARACTER): bool
{
}
/**
* @throws GuzzleException
*/
function sendReq($path, $aData, $aHeaders = null): \Psr\Http\Message\ResponseInterface
{
$url = $this->getUrl() . $path;
$client = new \GuzzleHttp\Client();
if ($aHeaders) {
$aHeaders = [
'accept' => 'application/json',
'content-type' => 'application/x-www-form-urlencoded',
];
}
return $client->request('POST', $url, [
'headers' => $aHeaders,
'body' => $aData,
]);
}
}

View File

@ -0,0 +1,17 @@
<?php
namespace App\Thrid\Sms;
interface SmsInterface
{
const SMS_SEND_TYPE_CHARACTER = 1;
const SMS_SEND_TYPE_MARKETING = 2;
const SMS_SEND_TYPE = [
self::SMS_SEND_TYPE_CHARACTER => '验证类',
self::SMS_SEND_TYPE_MARKETING => '营销类',
];
function sendSmsCode($phone, $code,$iSendType = self::SMS_SEND_TYPE_CHARACTER): bool;
function getUrl(): string;
}