feat(sms): align provider and verification flow
This commit is contained in:
@@ -29,36 +29,17 @@ class SMSProviderFactory {
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有已注册供应商
|
||||
*
|
||||
* @return ProviderInterface[]
|
||||
*/
|
||||
public static function all(): array {
|
||||
$keys = ['aliyun', 'tencent', 'huawei', 'custom'];
|
||||
$result = [];
|
||||
foreach ($keys as $key) {
|
||||
$provider = self::get($key);
|
||||
if ($provider !== null) {
|
||||
$result[$key] = $provider;
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 adapter 实例
|
||||
*/
|
||||
private static function create(string $key): ?ProviderInterface {
|
||||
switch ($key) {
|
||||
case 'aliyun':
|
||||
case 'ali':
|
||||
return class_exists('AKSRT\\Sms\\SMSProviderAliyun') ? new SMSProviderAliyun() : null;
|
||||
case 'tencent':
|
||||
return class_exists('AKSRT\\Sms\\SMSProviderTencent') ? new SMSProviderTencent() : null;
|
||||
case 'huawei':
|
||||
return class_exists('AKSRT\\Sms\\SMSProviderHuawei') ? new SMSProviderHuawei() : null;
|
||||
case 'custom':
|
||||
return class_exists('AKSRT\\Sms\\SMSProviderCustom') ? new SMSProviderCustom() : null;
|
||||
case 'smsbao':
|
||||
return class_exists('AKSRT\\Sms\\SMSProviderSmsbao') ? new SMSProviderSmsbao() : null;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user