Files
dafuweng/app/service/SmsServicesServices.php
2026-03-02 13:44:38 +08:00

42 lines
1.3 KiB
PHP

<?php
namespace app\service;
use addons\webman\model\PhoneSmsLog;
use Exception;
/**
* 短信服务
*/
class SmsServicesServices
{
/**
* @param int $countryCode
* @param string $phone
* @param int $type
* @param int $playerId
* @param string $name
* @return bool
* @throws Exception
*/
public static function sendSms(int $countryCode, string $phone, int $type, int $playerId = 0, string $name = ''): bool
{
$openCountryCode = config('sms.open_country_code');
if (!in_array($countryCode, $openCountryCode)) {
$openCountryName = '';
foreach ($openCountryCode as $item) {
$openCountryName .= ',' . trans('country_code_name.' . $item, [], 'message');
}
throw new Exception(trans('currently_open_countries_and_regions', ['{openCountryCode}', $openCountryName], 'message'));
}
switch ($countryCode) {
case PhoneSmsLog::COUNTRY_CODE_TW:
return (new TwSmsServicesServices())->send($phone, $type, $playerId, $name);
case PhoneSmsLog::COUNTRY_CODE_JP:
return (new JpSmsServicesServices())->send($phone, $type, $playerId);
default:
throw new Exception(trans('country_code_error', [], 'message'));
}
}
}