SmsSetService.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?php
  2. /****************************************************************
  3. * Author: libaojia
  4. * Date: 2017/9/19 上午10:14
  5. * Email: livsyitian@163.com
  6. * QQ: 995265288
  7. * User: 芸众商城 www.yunzshop.com
  8. ****************************************************************/
  9. namespace app\common\services\sms;
  10. use app\common\facades\Setting;
  11. class SmsSetService
  12. {
  13. protected $sms_set;
  14. public function __construct()
  15. {
  16. $this->sms_set = $this->getSmsSet();
  17. }
  18. /**
  19. * sms 是否配置、是否可以使用
  20. * @return bool
  21. */
  22. public function isCanUse()
  23. {
  24. switch ($this->sms_set['type']) {
  25. case 1:
  26. $result = $this->iHuYi();
  27. break;
  28. case 2:
  29. $result = $this->aLiDaYu();
  30. break;
  31. case 3:
  32. $result = $this->aLiYun();
  33. break;
  34. case 5:
  35. $result = $this->tXYun();
  36. break;
  37. default:
  38. $result = false;
  39. break;
  40. }
  41. if ($result) {
  42. return true;
  43. }
  44. return false;
  45. }
  46. /**
  47. * sms 互亿无线设置
  48. * @return array|bool
  49. */
  50. protected function iHuYi()
  51. {
  52. if ($this->sms_set['account'] && $this->sms_set['password']) {
  53. return [
  54. 'account' => $this->sms_set['account'],
  55. 'password'=> $this->sms_set['password']
  56. ];
  57. }
  58. return false;
  59. }
  60. /**
  61. * sms 阿里大鱼设置
  62. * @return array|bool
  63. */
  64. protected function aLiDaYu()
  65. {
  66. if ($this->sms_set['appkey']
  67. && $this->sms_set['secret']
  68. && $this->sms_set['signname']
  69. && $this->sms_set['templateCode']
  70. && $this->sms_set['product']
  71. && $this->sms_set['templateCodeForget']
  72. && $this->sms_set['forget']
  73. ) {
  74. return [
  75. 'appkey' => $this->sms_set['appkey'],
  76. 'secret' => $this->sms_set['secret'],
  77. 'signname' => $this->sms_set['signname'],
  78. 'templateCode'=> $this->sms_set['templateCode'],
  79. 'product' => $this->sms_set['product'],
  80. 'templateCodeForget'=> $this->sms_set['templateCode'],
  81. 'forget' => $this->sms_set['product'],
  82. ];
  83. }
  84. return false;
  85. }
  86. /**
  87. * sms 阿里云设置
  88. * @return array|bool
  89. */
  90. protected function aLiYun()
  91. {
  92. if ($this->sms_set['aly_appkey']
  93. && $this->sms_set['aly_secret']
  94. && $this->sms_set['aly_signname']
  95. && $this->sms_set['aly_templateCode']
  96. && $this->sms_set['aly_templateCodeForget']
  97. ) {
  98. return [
  99. 'aly_appkey' => $this->sms_set['aly_appkey'],
  100. 'aly_secret' => $this->sms_set['aly_secret'],
  101. 'aly_signname' => $this->sms_set['aly_signname'],
  102. 'aly_templateCode'=> $this->sms_set['aly_templateCode'],
  103. 'aly_templateCodeForget' => $this->sms_set['aly_templateCodeForget'],
  104. ];
  105. }
  106. return false;
  107. }
  108. /**
  109. * sms 腾讯云设置
  110. * @return array|bool
  111. */
  112. protected function tXYun()
  113. {
  114. if ($this->sms_set['tx_sdkappid']
  115. && $this->sms_set['tx_appkey']
  116. && $this->sms_set['tx_signname']
  117. && $this->sms_set['tx_templateCode']
  118. && $this->sms_set['tx_templateCodeForget']
  119. ) {
  120. return [
  121. 'tx_sdkappid' => $this->sms_set['tx_sdkappid'],
  122. 'tx_appkey' => $this->sms_set['tx_appkey'],
  123. 'tx_signname' => $this->sms_set['tx_signname'],
  124. 'tx_templateCode'=> $this->sms_set['tx_templateCode'],
  125. 'tx_templateCodeForget' => $this->sms_set['tx_templateCodeForget'],
  126. ];
  127. }
  128. return false;
  129. }
  130. /**
  131. * sms 全部设置
  132. * @return mixed
  133. */
  134. private function getSmsSet()
  135. {
  136. return Setting::get('shop.sms');
  137. }
  138. }