SmsAdmin.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace app\admin\controller\sms;
  3. use app\admin\controller\AuthController;
  4. use app\admin\model\system\SystemConfig;
  5. use crmeb\services\HttpService;
  6. use crmeb\services\JsonService;
  7. use crmeb\services\SMSService;
  8. use crmeb\services\UtilService;
  9. /**
  10. * 短信账号
  11. * Class SmsAdmin
  12. * @package app\admin\controller\sms
  13. */
  14. class SmsAdmin extends AuthController
  15. {
  16. /**
  17. * @return string
  18. */
  19. public function index()
  20. {
  21. return $this->fetch();
  22. }
  23. public function captcha()
  24. {
  25. if (!request()->isPost()) return JsonService::fail('发送失败');
  26. $phone = request()->param('phone');
  27. if (!trim($phone)) return JsonService::fail('请填写手机号');
  28. $res = json_decode(HttpService::getRequest(SMSService::code(), compact('phone')), true);
  29. if (!isset($res['status']) && $res['status'] !== 200)
  30. return JsonService::fail(isset($res['data']['message']) ? $res['data']['message'] : $res['msg']);
  31. return JsonService::success(isset($res['data']['message']) ? $res['data']['message'] : '发送成功');
  32. }
  33. /**
  34. * 修改/注册短信平台账号
  35. */
  36. public function save()
  37. {
  38. list($account, $password, $phone, $code, $url, $sign) = UtilService::postMore([
  39. ['account', ''],
  40. ['password', ''],
  41. ['phone', ''],
  42. ['code', ''],
  43. ['url', ''],
  44. ['sign', ''],
  45. ], null, true);
  46. $signLen = mb_strlen(trim($sign));
  47. if (!strlen(trim($account))) return JsonService::fail('请填写账号');
  48. if (!strlen(trim($password))) return JsonService::fail('请填写密码');
  49. if (!$signLen) return JsonService::fail('请填写短信签名');
  50. if ($signLen > 8) return JsonService::fail('短信签名最长为8位');
  51. if (!strlen(trim($code))) return JsonService::fail('请填写验证码');
  52. if (!strlen(trim($url))) return JsonService::fail('请填写域名');
  53. $status = SMSService::register($account, md5(trim($password)), $url, $phone, $code, $sign);
  54. if ($status['status'] == 400) return JsonService::fail('短信平台:' . $status['msg']);
  55. SystemConfig::setConfigSmsInfo($account, $password);
  56. return JsonService::success('短信平台:' . $status['msg']);
  57. }
  58. }