- 字体颜色:s_color 改为 varchar,发消息时保存颜色,进入聊天室自动恢复 - 等级体系:maxlevel 15→99,superlevel 16→100,99级经验阶梯(幂次曲线) - 管理权限等级按比例调整:禁言50、踢人60、设公告60、封号80、封IP90 - 钓鱼小游戏:FishingController(抛竿扣金币+收竿随机结果+广播) - 补充6个缺失的 sysparam 参数 + 4个钓鱼参数 - 用户列表点击用户名后自动聚焦输入框 - Pint 格式化
88 lines
4.0 KiB
PHP
88 lines
4.0 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>后台管理 - 飘落流星</title>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
|
|
</head>
|
|
|
|
<body class="bg-gray-100 flex h-screen text-gray-800">
|
|
<!-- 左侧侧边栏 -->
|
|
<aside class="w-64 bg-slate-900 text-white flex flex-col">
|
|
<div class="p-6 text-center border-b border-white/10">
|
|
<h2 class="text-2xl font-extrabold tracking-widest uppercase">Admin</h2>
|
|
<p class="text-xs text-slate-400 mt-2">飘落流星 控制台</p>
|
|
</div>
|
|
<nav class="flex-1 px-4 py-6 space-y-2 overflow-y-auto">
|
|
<a href="{{ route('admin.dashboard') }}"
|
|
class="block px-4 py-3 rounded-md transition {{ request()->routeIs('admin.dashboard') ? 'bg-indigo-600 font-bold' : 'hover:bg-white/10' }}">
|
|
📊 仪表盘
|
|
</a>
|
|
<a href="{{ route('admin.system.edit') }}"
|
|
class="block px-4 py-3 rounded-md transition {{ request()->routeIs('admin.system.*') ? 'bg-indigo-600 font-bold' : 'hover:bg-white/10' }}">
|
|
⚙️ 系统参数参数
|
|
</a>
|
|
<a href="{{ route('admin.users.index') }}"
|
|
class="block px-4 py-3 rounded-md transition {{ request()->routeIs('admin.users.*') ? 'bg-indigo-600 font-bold' : 'hover:bg-white/10' }}">
|
|
👥 用户管理
|
|
</a>
|
|
<a href="{{ route('admin.rooms.index') }}"
|
|
class="block px-4 py-3 rounded-md transition {{ request()->routeIs('admin.rooms.*') ? 'bg-indigo-600 font-bold' : 'hover:bg-white/10' }}">
|
|
🏠 房间管理
|
|
</a>
|
|
<a href="{{ route('admin.autoact.index') }}"
|
|
class="block px-4 py-3 rounded-md transition {{ request()->routeIs('admin.autoact.*') ? 'bg-indigo-600 font-bold' : 'hover:bg-white/10' }}">
|
|
🎲 随机事件
|
|
</a>
|
|
</nav>
|
|
<div class="p-4 border-t border-white/10">
|
|
<a href="{{ route('rooms.index') }}"
|
|
class="block w-full text-center px-4 py-2 bg-slate-800 hover:bg-slate-700 rounded transition text-sm">
|
|
返回前台大厅
|
|
</a>
|
|
</div>
|
|
</aside>
|
|
|
|
<!-- 右侧主体内容 -->
|
|
<main class="flex-1 flex flex-col h-full overflow-hidden relative">
|
|
<!-- 顶栏 -->
|
|
<header class="bg-white shadow relative z-20 flex items-center justify-between px-6 py-4">
|
|
<h1 class="text-xl font-bold text-gray-700">@yield('title', '控制台')</h1>
|
|
<div class="flex items-center space-x-4">
|
|
<span class="text-sm font-medium">当前操作人: <span
|
|
class="text-indigo-600">{{ Auth::user()->username }}</span></span>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- 内容滚动区 -->
|
|
<div class="flex-1 overflow-y-auto p-6 relative z-10">
|
|
@if (session('success'))
|
|
<div class="mb-6 bg-emerald-100 border-l-4 border-emerald-500 text-emerald-700 p-4 rounded shadow-sm">
|
|
{{ session('success') }}
|
|
</div>
|
|
@endif
|
|
@if (session('error'))
|
|
<div class="mb-6 bg-red-100 border-l-4 border-red-500 text-red-700 p-4 rounded shadow-sm">
|
|
{{ session('error') }}
|
|
</div>
|
|
@endif
|
|
@if ($errors->any())
|
|
<div class="mb-6 bg-red-100 border-l-4 border-red-500 text-red-700 p-4 rounded shadow-sm">
|
|
<ul class="list-disc list-inside text-sm">
|
|
@foreach ($errors->all() as $error)
|
|
<li>{{ $error }}</li>
|
|
@endforeach
|
|
</ul>
|
|
</div>
|
|
@endif
|
|
|
|
@yield('content')
|
|
</div>
|
|
</main>
|
|
</body>
|
|
|
|
</html>
|