public function login() { #判断用户是否已经登录过了,登录过后,直接跳出 if (!empty(session('home'))) { redirect(U('Index/index')); } #判断是否有用户点击登陆 if (!empty(I('post.username', '', 'trim'))) { $public = new PublicService(); if ($public->doLogin()) { redirect(U('Index/index')); exit; } else { $this->error('登陆失败', U('Public/login'), 2); } } $this->display('login'); }
/** * 统一短信请求访问函数 * @param $req_url * @param array $data * @param string $method * @return mixed * @throws Exception */ private function _requestUrl($req_url, $data = [], $method = 'POST') { foreach ($data as $k => $v) { if (empty($v)) { unset($data[$k]); } } $url = $this->_domain . $req_url; $req_data = $data + array('apikey' => $this->_key); $res = json_decode(PublicService::curl($url, $req_data, $method), true); $code = $res['code']; if ($code == 0) { //正确返回。可以从api返回的对应字段中取数据。 return $res; } else { //code > 0: 调用API时发生错误,需要开发者进行相应的处理。 //-50 < code <= -1: 权限验证失败,需要开发者进行相应的处理。 //code <= -50: 系统内部错误,请联系技术支持,调查问题原因并获得解决方案。 if ($code > 0) { $msg = '调用API时发生错误'; $level = log\Logger::LEVEL_ERROR; } elseif ($code > -50 && $code < 0) { $msg = '权限验证失败'; $level = log\Logger::LEVEL_WARNING; } else { $msg = '系统内部错误'; $level = log\Logger::LEVEL_ERROR; } PublicService::log(sprintf('短信发送出现异常,请检查。异常返回码:%d;错误类型:%s;异常信息:%s,%s', $code, $msg, $res['msg'], $res['detail']), $level); throw new Exception(sprintf('短信发送出现异常,请检查。异常返回码:%d异常信息:%s,%s', $code, $res['msg'], $res['detail'])); } }