Code.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Module\Sms\Enums;
  3. /**
  4. * 短信类型枚举
  5. */
  6. class Code
  7. {
  8. public static $mapMessage = [
  9. CODE_TYPE::REGISTER->value => \App\Module\Sms\Messages\RegisterMessage::class,
  10. CODE_TYPE::LOGIN->value => \App\Module\Sms\Messages\LoginMessage::class,
  11. CODE_TYPE::RESET_PASSWORD->value => \App\Module\Sms\Messages\ResetPasswordMessage::class,
  12. ];
  13. /**
  14. *
  15. * 获取所有类型
  16. *
  17. * @return array
  18. */
  19. public static function getAll(): array
  20. {
  21. return [
  22. CODE_TYPE::REGISTER->value => '注册验证码',
  23. CODE_TYPE::LOGIN->value => '登录验证码',
  24. CODE_TYPE::RESET_PASSWORD->value => '重置密码验证码',
  25. ];
  26. }
  27. /**
  28. * 获取类型对应的消息模板类
  29. *
  30. * @param CODE_TYPE $type 类型值
  31. * @return string|null
  32. */
  33. public static function getTemplateClass(CODE_TYPE $type): ?string
  34. {
  35. return self::$mapMessage[$type->value] ?? null;
  36. }
  37. /**
  38. * 验证类型是否有效
  39. *
  40. * @param CODE_TYPE $type 类型值
  41. * @return bool
  42. */
  43. public static function isValid(CODE_TYPE $type): bool
  44. {
  45. return isset(self::getAll()[$type->value]);
  46. }
  47. }