config = $YzAdminConfig->getAll(); # 获取账户,账户判断 $this->adminId = Cookie::get('admin_id'); if (empty($this->adminId)) { header('Location:' . $this->config['admin_route'] . 'Login/index'); exit; } $this->aUser = Db::table('yz_admin_user')->where('uid', $this->adminId)->find(); if (empty($this->aUser)) { Cookie::delete('admin_id'); $this->error('管理员账户不存在'); } if ($this->aUser['status'] != 1) { Cookie::delete('admin_id'); $this->error('管理员已被禁用'); } # 获取用户组权限 $group = Db::table('yz_admin_user_group')->where(['group_id' => $this->aUser['group_id']])->find(); if (empty($group)) { $this->error('对不起,您没有权限'); } # 获取当前链接,查询是否有权限 $controller = request()->controller(); $action = request()->action(); $key = $controller . '/' . $action; View::assign([ 'aUser' => $this->aUser, 'config' => $this->config ]); } /** * 返回json对象 */ protected function returnCode($code, $data = [], $count = 10) { header('Content-type:application/json'); if ($code == 0) { $arr = array( 'code' => $code, 'msg' => '操作成功', 'count' => $count, 'data' => $data ); } else if ($code >= 1 && $code <= 100) { $arr = array( 'code' => $code, 'msg' => $data ); } else { $appapi = new AppApi(); $arr = array( 'code' => $code, 'msg' => $appapi::errorTip($code) ); } echo json_encode($arr); if ($code != 0) { exit; } } /** * 操作成功跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @return void */ protected function success($msg = '') { $result = [ 'code' => 1, 'msg' => $msg ]; $type = $this->getResponseType(); if ($type == 'html') { $response = view(Config::get('app.dispatch_success_tmpl'), $result); } else if ($type == 'json') { $response = json($result); } throw new HttpResponseException($response); } /** * 操作错误跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @return void */ protected function error($msg = '') { $result = [ 'code' => 0, 'msg' => $msg ]; $response = view(Config::get('app.dispatch_error_tmpl'), $result); throw new HttpResponseException($response); } /** * 获取当前的response 输出类型 * @access protected * @return string */ protected function getResponseType() { return Request::isJson() || Request::isAjax() ? 'json' : 'html'; } public function initialize(App $app) { $this->app = $app; $this->request = $this->app->request; // 检查是否是直接访问具体页面 $controller = $this->request->controller(); $action = $this->request->action(); // 如果不是访问index控制器,且不是通过iframe加载,且不是ajax请求 if ( $controller != 'Index' && !$this->request->isAjax() && !$this->request->header('X-Requested-With') && !$this->request->param('iframe') ) { // 添加iframe参数检查 // 重定向到index页面,并带上当前页面参数 $currentUrl = $controller . '/' . $action; redirect(url('index/index', ['page' => $currentUrl]))->send(); exit; } } }