SmsFactory.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 2021/2/2
  6. * Time: 11:49
  7. */
  8. namespace app\common\modules\sms\factory;
  9. use app\platform\modules\system\models\SystemSetting;
  10. class SmsFactory
  11. {
  12. /**
  13. * 互亿无线
  14. */
  15. const SMS_HUYI = 1;
  16. /**
  17. * 阿里大鱼
  18. */
  19. const SMS_ALI_DAYU = 2;
  20. /**
  21. * 阿里云
  22. */
  23. const SMS_ALI_YUN = 3;
  24. /**
  25. * 腾讯云,独立框架
  26. */
  27. const SMS_TX_YUN_PLATFORM = 4;
  28. /**
  29. * 腾讯云
  30. */
  31. const SMS_TX_YUN = 5;
  32. /**
  33. * elisoftsms
  34. */
  35. const SMS_ELISOFTSMS = 6;
  36. /**
  37. * 乐信
  38. */
  39. const SMS_LX = 7;
  40. public static function getSmsFactory($type = 0)
  41. {
  42. $className = NULL;
  43. $sms = \Setting::get('shop.sms');
  44. if($type){
  45. $sms = SystemSetting::settingLoad('sms', 'system_sms');
  46. }
  47. switch ($sms['type']) {
  48. case self::SMS_HUYI:
  49. $className = new HuyiSms($sms);
  50. break;
  51. case self::SMS_ALI_DAYU:
  52. $className = new AliDayuSms($sms);
  53. break;
  54. case self::SMS_ALI_YUN:
  55. $className = new AliYunSms($sms);
  56. break;
  57. case self::SMS_TX_YUN_PLATFORM:
  58. $className = new TxYunSms($sms);
  59. break;
  60. case self::SMS_TX_YUN:
  61. $className = new TxYunSms($sms);
  62. break;
  63. case self::SMS_ELISOFTSMS:
  64. $className = new ElisoftSms($sms);
  65. break;
  66. case self::SMS_LX:
  67. $className = new LxSms($sms);
  68. break;
  69. }
  70. return $className;
  71. }
  72. }