| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- namespace app\workerapi\controller;
- use app\api\logic\SmsLogic;
- use app\api\validate\SendSmsValidate;
- /**
- * 短信
- * Class SmsController
- * @package app\workerapi\controller
- */
- class SmsController extends \app\workerapi\controller\BaseApiController
- {
- public array $notNeedLogin = ['sendCode','verifyCode'];
- /**
- * @notes 发送短信验证码
- * @return \think\response\Json
- * @author 段誉
- * @date 2022/9/15 16:17
- */
- public function sendCode()
- {
- $params = (new SendSmsValidate())->post()->goCheck();
- $result = SmsLogic::sendCode($params);
- if (true === $result) {
- return $this->success('发送成功');
- }
- return $this->fail(SmsLogic::getError());
- }
- public function verifyCode()
- {
- $params = (new SendSmsValidate())->get()->goCheck('verifyCode');
- $res = generateCaptcha();
- // 存储验证码到缓存,有效期1分钟(60秒)
- cache('verifyCode_'.$params['mobile'], $res['captcha'], 60);
- $data = [
- 'image' => $res['image'],
- 'size' => $res['size']
- ];
- return $this->success('发送成功', $data);
- }
- }
|