feat(sms): align provider and verification flow

This commit is contained in:
2026-10-05 02:13:52 +08:00
parent d0a3972ca7
commit 5091da6a60
20 changed files with 489 additions and 994 deletions
+3 -22
View File
@@ -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;
}