mobileExist($this->params[ 'mobile' ], $this->site_id); if (!$exist) { return $this->response($this->error('', '手机号不存在')); } else { $key = $this->params[ 'key' ]; $verify_data = Cache::get($key); if (!empty($verify_data) && $verify_data[ 'mobile' ] == $this->params[ 'mobile' ] && $verify_data[ 'code' ] == $this->params[ 'code' ]) { $member_model = new MemberModel(); $res = $member_model->resetMemberPassword($this->params[ 'password' ], [['mobile', '=', $this->params[ 'mobile' ]]]); } else { $res = $this->error('', '手机动态码不正确'); } return $this->response($res); } } /** * 短信验证码 */ public function mobileCode() { // 校验验证码 $captcha = new Captcha(); $check_res = $captcha->checkCaptcha(); if ($check_res[ 'code' ] < 0) return $this->response($check_res); $mobile = $this->params[ 'mobile' ];//注册手机号 $register = new RegisterModel(); $exist = $register->mobileExist($mobile, $this->site_id); if (!$exist) { return $this->response($this->error('', '手机号不存在')); } else { $code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT);// 生成4位随机数,左侧补0 $message_model = new Message(); $res = $message_model->sendMessage(['type' => 'code', 'mobile' => $mobile, 'site_id' => $this->site_id, 'code' => $code, 'support_type' => ['sms'], 'keywords' => 'FIND_PASSWORD']); if ($res[ 'code' ] >= 0) { //将验证码存入缓存 $key = 'find_mobile_code_' . md5(uniqid(null, true)); Cache::tag('find_mobile_code')->set($key, ['mobile' => $mobile, 'code' => $code], 600); return $this->response($this->success(['key' => $key])); } else { return $this->response($res); } } } }