mobile base exam_grade forum themes

This commit is contained in:
2026-03-09 13:57:01 +08:00
parent aa012ea3aa
commit 7dec929e29
3 changed files with 21 additions and 25 deletions

View File

@@ -352,7 +352,7 @@
</script>
<!-- 浮动聊天气泡 -->
<div id="chatBubble" class="fixed bottom-6 right-6 z-40">
<div id="chatBubble" class="fixed bottom-6 right-6 z-30">
<button onclick="toggleMiniChat()" class="w-14 h-14 bg-gradient-to-tr from-primary to-blue-400 text-white rounded-full shadow-lg hover:shadow-xl hover:bg-blue-600 flex items-center justify-center relative transition-all duration-300 hover:scale-110">
<svg class="w-7 h-7" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"/></svg>
<span id="bubbleBadge" class="absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full w-5 h-5 flex items-center justify-center hidden">0</span>
@@ -360,7 +360,7 @@
</div>
<!-- 迷你聊天窗口 -->
<div id="miniChat" class="fixed bottom-24 right-6 w-[380px] h-[500px] bg-white rounded-xl shadow-2xl border border-slate-200 z-40 hidden flex flex-col overflow-hidden">
<div id="miniChat" class="fixed bottom-24 right-6 w-[380px] h-[500px] bg-white rounded-xl shadow-2xl border border-slate-200 z-30 hidden flex flex-col overflow-hidden">
<div class="px-4 py-3 bg-primary text-white flex justify-between items-center rounded-t-xl">
<span class="font-medium text-sm" id="miniTitle">消息</span>
<div class="flex items-center gap-3">
@@ -385,7 +385,14 @@
<script src="https://cdn.socket.io/4.7.5/socket.io.min.js"></script>
<script>
(function(){
if (document.getElementById('chatApp')) return; // chat.html 已有自己的socket
// 在聊天页面隐藏浮动气泡(已有完整聊天界面)
if (document.getElementById('chatApp')) {
var bubble = document.getElementById('chatBubble');
if (bubble) bubble.style.display = 'none';
var miniC = document.getElementById('miniChat');
if (miniC) miniC.style.display = 'none';
return;
}
const bubbleSocket = io();
let miniRoomId = null;
let miniRooms = [];
@@ -422,6 +429,11 @@
});
window.toggleMiniChat = function() {
// 移动端直接跳转到完整聊天页面
if (window.innerWidth < 640) {
window.location.href = '/chat';
return;
}
const mc = document.getElementById('miniChat');
mc.classList.toggle('hidden');
if (!mc.classList.contains('hidden')) {