where("mobile",$mobile)->findOrEmpty(); if (!$empty && $mobileUser->isEmpty()) return [0,trans("error.mobile-empty")]; if ($empty && !$mobileUser->isEmpty()) return [0,trans("error.mobile-exist")]; $cacheCode = Cache::get(KeyService::smsKey($mobile,$scene)); if (!empty($cacheCode)) return [0,trans("error.sms-repeat")]; $code = (new Codecheck)->mobile($mobile)->scene($scene)->create(); if (!in_array($mobile,$this->mobileWhite)) { $smsConfig = $this->smsConfig(); $resp = (new EasySms($smsConfig['config']))->send($mobile,[ "template" => $smsConfig['template'], "data" => [ "code" => $code ] ]); if (!isset($resp[$smsConfig['config']['default']['gateways']]['status'])) return [0,trans("error.sms")]; $msg = trans("success.sms",['%mobile%' => hide_mobile($mobile)]); } else { $msg = "当前号码为测试号码,验证码为{$code}"; } Cache::set(KeyService::smsKey($mobile,$scene),$code,60); return [1,$msg]; } catch (\Throwable $throwable) { echo $throwable->getMessage()."\n"; echo $throwable->getFile()."\n"; echo $throwable->getLine()."\n"; return [0,$throwable->getMessage()]; } } }