/** * 发送手机验证码 * @method POST_phoneAction * @author NewFuture */ public function POST_phoneAction() { $response['status'] = 0; if (!Input::post('phone', $phone, Config::get('regex.phone'))) { $response['info'] = '手机号格式有误或者不支持!'; } elseif (!Input::post('number', $number, 'card')) { $response['info'] = '学号格式有误!'; } elseif (!Safe::checkTry('pwd_phone_' . $number)) { $response['info'] = '尝试次数过多,临时封禁!'; } elseif (!($user = UserModel::where('number', $number)->field('id,phone')->find())) { $response['info'] = '尚未注册,或者学号错误'; } elseif (empty($user['phone'])) { $response['info'] = '未绑定手机号,或者学号错误'; } elseif (Encrypt::encryptPhone($phone, $number, $user['id']) != $user['phone']) { $response['info'] = '绑定手机不一致,或者手机号错误'; } elseif (!Sms::findPwd($phone, $code = Random::code(6))) { $response['info'] = '短信发送出错,请联系我们!'; } else { /*发送成功*/ $find = ['id' => $user['id'], 'number' => $number, 'code' => strtoupper($code)]; Session::set('find_info', $find); Safe::del('pwd_phone_' . $number); $response['status'] = 1; $response['info'] = '短信已发送'; } $this->response = $response; }
/** * 保存手机 * @method savePhone * @param [type] $id [description] * @param [type] $number [description] * @param [type] $phone [description] * @return [type] [description] * @author NewFuture */ public static function savePhone($phone) { if (!($user = Auth::getUser())) { //无法获取用户 return false; } elseif (self::getByPhone($phone)) { //手机绑定过 return false; } else { //加密 $phone = Encrypt::encryptPhone($phone, $user['number'], $user['id']); return self::set('phone', $phone)->save($user['id']); } }