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');
 }
Example #2
0
 /**
  * 统一短信请求访问函数
  * @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']));
     }
 }