where('user_id',10042)->find(); Cache::set('food_token_10042',$detail,3600*24*7);//登录状态存储7天 $detail['is_login'] = true; return $this->renderSuccess(compact('detail')); } /** * 获取当前用户信息 */ public function detail() { // 当前用户信息 $detail = $this->getUserDetail(); if (!$this->request->isPost()) { return $this->renderSuccess(compact('detail')); } // 更新记录 if ($detail->edit($this->request->post())) { return $this->renderMsg('更新成功'); } $error = $detail->getError() ?: '更新失败'; return $this->renderError($error); } /** * 自动登录/注册 */ public function autoLogin() { $model = new UserModel; if($detail = $model->autoLogin($this->request->post())){ return $this->renderSuccess(compact('detail'),'登录成功'); } $error = $model->getError() ?: '登录失败'; return $this->renderError($error); } /** * 获取用户手机号 */ public function getPhoneNumber() { $userInfo = $this->getUserDetail(); $model = new UserModel; if ($detail = $model->getPhoneNumber($this->request->post(),$userInfo)) { return $this->renderSuccess(compact('detail'),'登录成功'); } $error = $model->getError() ?: '手机号获取失败'; return $this->renderError($error); } /** * 安全退出 */ public function logout() { $model = new UserModel; if ($model->logout($this->user_id)) { return $this->renderMsg('退出成功'); } $error = $model->getError() ?: '退出失败'; return $this->renderError($error); } /** * 发动短信验证码 */ public function sendsms() { $data = $this->request->post(); $values = Setting::getItem('sms'); if($values['gateway'] == ''){ return $this->renderError('未配置短信平台'); } if($values['scene']['captcha'] == 0){ return $this->renderError('未开启短信验证码'); } if($error = get_addons_status('sms'.$values['gateway'])){ return $this->renderError($error); } $sms = new Sms($values['gateway']); $code = get_captcha(); if($sms->sendSms($data['phone'], ['code' => $code])){ Cache::set($data['phone'] . '_' . $code,'sms_captcha',300); return $this->renderSuccess('发送成功'); } $error = $sms->getError() ?: '短信验证码发送失败'; return $this->renderError($error); } /** * 手机验证码登录 */ public function h5CodeLogin() { $model = new UserModel; if($detail = $model->h5CodeLogin($this->request->post())){ return $this->renderSuccess(compact('detail'),'登录成功'); } $error = $model->getError() ?: '登录失败'; return $this->renderError($error); } }