first commit

This commit is contained in:
闫旭隆
2025-10-17 09:31:28 +08:00
commit 4698145045
589 changed files with 196795 additions and 0 deletions

View File

@ -0,0 +1,154 @@
/**
* 开关按钮与原有逻辑的桥接
* 保持原有的事件处理逻辑不变
*/
(function() {
'use strict';
// DOM加载完成后初始化
document.addEventListener('DOMContentLoaded', function() {
// 获取欢迎模式开关元素
const deepResearchToggle = document.getElementById('deepResearchToggle');
const showThinkingToggle = document.getElementById('showThinkingToggle');
// 获取聊天模式开关元素
const chatModeDeepResearchToggle = document.getElementById('chatModeDeepResearchToggle');
const chatModeShowThinkingToggle = document.getElementById('chatModeShowThinkingToggle');
// 获取原有的菜单项元素
const deepResearchItem = document.getElementById('deepResearchItem');
const showThinkingItem = document.getElementById('showThinkingItem');
const chatModeDeepResearchItem = document.getElementById('chatModeDeepResearchItem');
const chatModeShowThinkingItem = document.getElementById('chatModeShowThinkingItem');
// 获取状态显示元素
const deepResearchStatus = document.getElementById('deepResearchStatus');
const showThinkingStatus = document.getElementById('showThinkingStatus');
const chatModeDeepResearchStatus = document.getElementById('chatModeDeepResearchStatus');
const chatModeShowThinkingStatus = document.getElementById('chatModeShowThinkingStatus');
// 初始化开关状态为关闭
if (deepResearchToggle) {
deepResearchToggle.checked = false;
}
if (showThinkingToggle) {
showThinkingToggle.checked = false;
}
if (chatModeDeepResearchToggle) {
chatModeDeepResearchToggle.checked = false;
}
if (chatModeShowThinkingToggle) {
chatModeShowThinkingToggle.checked = false;
}
// 深度研究开关处理
if (deepResearchToggle && deepResearchItem) {
// 标记避免循环触发
let isUpdatingFromToggle = false;
deepResearchToggle.addEventListener('change', function() {
if (isUpdatingFromToggle) return;
// 设置标记
isUpdatingFromToggle = true;
// 触发原有的点击事件
deepResearchItem.click();
// 延迟重置标记
setTimeout(() => {
isUpdatingFromToggle = false;
}, 100);
});
// 监听原有逻辑的状态变化
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'childList' || mutation.type === 'characterData') {
const status = deepResearchStatus ? deepResearchStatus.textContent : '关';
deepResearchToggle.checked = status === '开';
// 同步到聊天模式的开关
if (chatModeDeepResearchToggle) {
chatModeDeepResearchToggle.checked = status === '开';
}
}
});
});
if (deepResearchStatus) {
observer.observe(deepResearchStatus, { childList: true, characterData: true, subtree: true });
}
}
// 显示思考开关处理 - 已禁用
if (showThinkingToggle) {
// 禁用开关,不添加任何事件监听
showThinkingToggle.disabled = true;
showThinkingToggle.checked = false; // 始终保持关闭状态
}
// 聊天模式深度研究开关处理
if (chatModeDeepResearchToggle && chatModeDeepResearchItem) {
// 标记避免循环触发
let isUpdatingFromToggle = false;
chatModeDeepResearchToggle.addEventListener('change', function() {
if (isUpdatingFromToggle) return;
// 设置标记
isUpdatingFromToggle = true;
// 触发原有的点击事件
chatModeDeepResearchItem.click();
// 延迟重置标记
setTimeout(() => {
isUpdatingFromToggle = false;
}, 100);
});
// 监听原有逻辑的状态变化
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'childList' || mutation.type === 'characterData') {
const status = chatModeDeepResearchStatus ? chatModeDeepResearchStatus.textContent : '关';
chatModeDeepResearchToggle.checked = status === '开';
// 同步两个模式的开关状态
if (deepResearchToggle) {
deepResearchToggle.checked = status === '开';
}
}
});
});
if (chatModeDeepResearchStatus) {
observer.observe(chatModeDeepResearchStatus, { childList: true, characterData: true, subtree: true });
}
}
// 聊天模式显示思考开关处理 - 已禁用
if (chatModeShowThinkingToggle) {
// 禁用开关,不添加任何事件监听
chatModeShowThinkingToggle.disabled = true;
chatModeShowThinkingToggle.checked = false; // 始终保持关闭状态
}
// 阻止菜单项本身的点击事件冒泡到开关
[deepResearchItem, showThinkingItem, chatModeDeepResearchItem, chatModeShowThinkingItem].forEach(item => {
if (item) {
const originalClick = item.onclick;
item.onclick = function(e) {
// 如果点击的是开关,不执行原有逻辑
if (e.target.closest('.switch')) {
return;
}
// 否则执行原有逻辑
if (originalClick) {
originalClick.call(this, e);
}
};
}
});
});
})();