pathinfo(); // 判断是否为API请求(非index页面) $isApiRequest = $pathinfo !== 'admin' && strpos($pathinfo, 'admin/') === 0; // 检查是否已登录 $username = Session::get('username'); if (empty($username)) { // 如果是API请求,返回JSON if ($isApiRequest || $request->isAjax()) { return json([ 'code' => 0, 'msg' => '请先登录', ]); } // 否则跳转到登录页 return redirect('/login'); } // 检查是否为管理员 $isAdmin = Session::get('is_admin', false); if (!$isAdmin) { // 如果是API请求,返回JSON if ($isApiRequest || $request->isAjax()) { return json([ 'code' => 0, 'msg' => '无权限访问,需要管理员权限', ]); } // 否则跳转到爬虫页面 return redirect('/crawler'); } return $next($request); } }