From 44a0617efe0b31210834aed00367f94b4ff8b21e Mon Sep 17 00:00:00 2001
From: shuaiplus <2327005759@qq.com>
Date: Sat, 10 May 2025 20:26:44 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=80=9A=E7=9F=A5=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=8F=91=E9=80=81=E8=80=85?=
=?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BF=AE=E6=94=B9=E8=AF=AD=E8=A8=80?=
=?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=BA=E8=8B=B1=E8=AF=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
web/main.js | 2 +-
web/util.settings.js | 74 ++++++++++++++++++++++++++++++++------------
2 files changed, 56 insertions(+), 20 deletions(-)
diff --git a/web/main.js b/web/main.js
index 578578f..d52565c 100644
--- a/web/main.js
+++ b/web/main.js
@@ -416,7 +416,7 @@ function joinRoom(userName, roomName, password, modal = null, onResult) {
timestamp: Date.now()
});
// 通知消息,无论当前房间是否激活
- notifyMessage(newRd.roomName, msgType, msg.data);
+ notifyMessage(newRd.roomName, msgType, msg.data, realUserName);
if (activeRoomIndex === idx) renderChatArea();
}
};
diff --git a/web/util.settings.js b/web/util.settings.js
index 3d3fe00..a4743ac 100644
--- a/web/util.settings.js
+++ b/web/util.settings.js
@@ -2,7 +2,7 @@
// 设置面板逻辑(仅UI和本地存储,功能待实现)
const DEFAULT_SETTINGS = {
- lang: 'zh', // 'zh' | 'en'
+ lang: 'en', // 'zh' | 'en'
notify: false, // 桌面通知
sound: false // 声音通知
};
@@ -23,9 +23,16 @@ function applySettings(settings) {
// 主题切换逻辑已移除
// 语言切换(仅UI,功能待实现)
document.documentElement.lang = settings.lang;
- // 请求通知权限(若启用浏览器通知)
- if (settings.notify && "Notification" in window && Notification.permission !== 'granted') {
- Notification.requestPermission();
+}
+
+// 兼容各浏览器的 requestPermission 调用
+function askNotificationPermission(callback) {
+ if (Notification.requestPermission.length === 0) {
+ // 返回 promise
+ Notification.requestPermission().then(callback);
+ } else {
+ // 接受 callback
+ Notification.requestPermission(callback);
}
}
@@ -37,23 +44,23 @@ function setupSettingsPanel() {
panel.className = 'settings-panel';
panel.innerHTML = `
-
设置
+
Settings
- 语言
+ Language
- 桌面通知
+ Desktop Notification
- 声音通知
+ Sound Notification