SmsJG.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace app\expand\controller;
  3. use app\common\service\HelperService;
  4. use app\common\service\JGSmsService;
  5. use think\Validate;
  6. /**
  7. * 极光短信接口
  8. * Class SmsJG
  9. * @package app\expand\controller
  10. */
  11. class SmsJG extends BaseAuth
  12. {
  13. private $_Account = null;
  14. public function __construct(){
  15. parent::__construct();
  16. $this->_Account = $this->getKey($this->_apiCode);
  17. //验证是否具有访问这个接口的权限
  18. if(!isset($this->_Account['JSMS_appKey'])
  19. || !isset($this->_Account['JSMS_masterSecret'])){
  20. HelperService::returnJson(['code'=>400,'msg'=>'JSMS interface unauthorized access','data'=>[]]);
  21. }
  22. }
  23. /**
  24. * 发送短信接口
  25. */
  26. public function sendCode(){
  27. $params = $this->_params;
  28. $rule = [
  29. 'mobile|手机号'=>'require',
  30. 'temp_id|模板id'=>'require|number',
  31. ];
  32. $validate = new Validate($rule);
  33. if(!$validate->check($params)){
  34. HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]);
  35. }
  36. $smsService = new JGSmsService($this->_Account['JSMS_appKey'],$this->_Account['JSMS_masterSecret']);
  37. $res = $smsService->sendCode($params['mobile'],$params['temp_id']);
  38. if($res['status'] === false){
  39. HelperService::returnJson(['code'=>400,'msg'=>'JSMS send fail','data'=>$res]);
  40. }
  41. HelperService::returnJson(['code'=>200,'msg'=>'success','data'=>$res]);
  42. }
  43. /**
  44. * 发送短信模板消息
  45. */
  46. public function sendMessage(){
  47. $params = $this->_params;
  48. $rule = [
  49. 'mobile|手机号'=>'require',
  50. 'temp_id|模板id'=>'require|number',
  51. 'temp_params|替换的内容'=>'require',
  52. ];
  53. $validate = new Validate($rule);
  54. if(!$validate->check($params)){
  55. HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]);
  56. }
  57. $smsService = new JGSmsService($this->_Account['JSMS_appKey'],$this->_Account['JSMS_masterSecret']);
  58. $res = $smsService->sendMessage($params['mobile'],$params['temp_id'],$params['temp_params']);
  59. HelperService::returnJson(['code'=>200,'msg'=>'success','data'=>$res]);
  60. }
  61. /**
  62. * 验证短信接口
  63. */
  64. public function checkCode(){
  65. $params = $this->_params;
  66. $rule = [
  67. 'code|验证码'=>'require',
  68. 'msg_id'=>'require',
  69. ];
  70. $validate = new Validate($rule);
  71. if(!$validate->check($params)){
  72. HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]);
  73. }
  74. $smsService = new JGSmsService($this->_Account['JSMS_appKey'],$this->_Account['JSMS_masterSecret']);
  75. $res = $smsService->checkCode($params['code'],$params['msg_id']);
  76. if($res) {
  77. HelperService::returnJson(['code'=>200,'msg'=>'success','data'=>$res]);
  78. }else{
  79. HelperService::returnJson(['code'=>400,'msg'=>'fail','data'=>$res]);
  80. }
  81. }
  82. }