orgId = $this->input->get_post('orgId')?$this->input->get_post('orgId'):0; if($this->isLogin) { $this->_init(); } } protected function _init(){ $token = $this->input->post('token'); $userId = $this->input->post('userId'); if(!$token){ $this->error('登录信息失效,请重新登录',-100); } if($token == '0913747667023'){ $this->userId = 0; } else { $arr = explode("9", $token); if (empty($arr)||count($arr)!=2) { $this->error('登录信息失效,请重新登录',-100); } //八进制转十进制 $userid = octdec($arr[0]); if (empty($userid)) { $this->error('登录信息失效,请重新登录',-100); } if($userId != $userid){ $this->error('登录信息失效,请重新登录',-100); } $this->load->model('app/token_model'); $ret = $this->token_model->checkToken($token); if(!$ret){ $this->error('登录信息失效,请重新登录',-100); } if($userId != $ret){ $this->error('登录信息失效,请重新登录',-100); } $this->userId = $userId; } } protected static function change_null($d) { if (is_array($d)) { foreach ($d as $k => $v) { $d[$k] = self::change_null($v); } } elseif (is_object($d)) { foreach ($d as $k => $v) { $d->$k = self::change_null($v); } } elseif (is_null($d)) { return ''; } return $d; } public function success($data=array(),$msg='成功',$isNull=0,$isObject=0){ $ret = array( 'success' => true, 'message' => $msg, 'data' => null, 'code' => 0 ); if($data && is_array($data)){ if($isNull == 0){ $ret['data'] = $this->change_null(array_change_line_to_hump($data)); }else{ $ret['data'] = array_change_line_to_hump($data); } }else{ $ret['data'] = $data; } header('Content-Type:application/json; charset=utf-8'); if($isObject == 1 && empty($data)){ exit(json_encode($ret, JSON_UNESCAPED_UNICODE|JSON_FORCE_OBJECT)); }else{ exit(json_encode($ret, JSON_UNESCAPED_UNICODE)); } } public function error($msg = '错误',$code = 1,$data=array(),$isNull=0,$isObject=0){ if($code == 0){ $code = 1; // 一般错误 } $ret = array( 'success' => false, 'message' => $msg, 'data' => null, 'code' => $code ); if($data){ if($isNull == 0){ $ret['data'] = $this->change_null(array_change_line_to_hump($data)); }else{ $ret['data'] = array_change_line_to_hump($data); } } header('Content-Type:application/json; charset=utf-8'); if($isObject == 1 && empty($data)){ exit(json_encode($ret, JSON_UNESCAPED_UNICODE|JSON_FORCE_OBJECT)); }else{ exit(json_encode($ret, JSON_UNESCAPED_UNICODE)); } } /** * Ajax方式返回数据到客户端 * @access protected * @param mixed $data 要返回的数据 * @param String $type AJAX返回数据格式 * @param int $json_option 传递给json_encode的option参数 * @return void */ protected function ajaxReturn($data, $type = 'JSON', $json_option = 0) { if (empty($type)) { $type = 'JSON'; } switch (strtoupper($type)) { case 'XML': // 返回xml格式数据 header('Content-Type:text/xml; charset=utf-8'); exit(xml_encode($data)); case 'JSONP': // 返回JSON数据格式到客户端 包含状态信息 header('Content-Type:application/json; charset=utf-8'); $handler = isset($_GET['callback']) ? $_GET[C('callback')] : 'callback'; exit($handler.'('.json_encode($data, $json_option).');'); default: // 返回JSON数据格式到客户端 包含状态信息 header('Content-Type:application/json; charset=utf-8'); exit(json_encode($data, JSON_UNESCAPED_UNICODE)); } } /** * 是否是AJAx提交的 * @return bool */ protected function IS_AJAX() { return (! empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest'); } /** * 是否是GET提交的 */ protected function IS_GET() { return $_SERVER['REQUEST_METHOD'] == 'GET' ? true : false; } /** * 是否是POST提交 * @return int */ protected function IS_POST() { return ($_SERVER['REQUEST_METHOD'] == 'POST') ? true : false; } }