diff --git a/src/views/homePage.vue b/src/views/homePage.vue index 1b8eb5f..7bd779b 100644 --- a/src/views/homePage.vue +++ b/src/views/homePage.vue @@ -100,13 +100,74 @@ const activeIndex = ref( // 手机端选择器的值,与activeTab保持同步 const activeTabMobile = ref(activeTab.value); +// 下拉菜单开关状态 +const isDropdownOpen = ref(false); + +// 模型选项数据 +const modelOptions = [ + { + label: "夺宝奇兵大模型", + value: "AIchat", + image: "https://d31zlh4on95l9h.cloudfront.net/images/0389f08c458c20b715be7acebf7a8eb2.png" + }, + { + label: "AI情绪大模型", + value: "AiEmotion", + image: "https://d31zlh4on95l9h.cloudfront.net/images/aed3597ea187c5af6c88d5a5c67fc9c1.png" + }, + { + label: "深度九大模型", + value: "deepNine", + image: "https://d31zlh4on95l9h.cloudfront.net/images/35bf808538183be0062e4647570a9abd.png" + } +]; // 监听activeTab变化,同步到activeTabMobile watch(activeTab, (newVal) => { activeTabMobile.value = newVal; }); -// 手机端选择器变化处理 +// 切换下拉菜单显示状态 +const toggleDropdown = () => { + isDropdownOpen.value = !isDropdownOpen.value; +}; + +// 选择选项 +const selectOption = (value) => { + activeTabMobile.value = value; + isDropdownOpen.value = false; + + const tabIndexMap = { + "AIchat": 0, + "AiEmotion": 1, + "deepNine": 2 + }; + setActiveTab(value, tabIndexMap[value]); +}; + +// 获取当前选中选项的标签 +const getSelectedOptionLabel = () => { + const option = modelOptions.find(opt => opt.value === activeTabMobile.value); + return option ? option.label : "请选择模型"; +}; + +// 获取当前选中选项的图片 +const getSelectedOptionImage = () => { + const option = modelOptions.find(opt => opt.value === activeTabMobile.value); + return option ? option.image : ""; +}; + +// 点击外部关闭下拉菜单 +onMounted(() => { + document.addEventListener('click', (e) => { + const container = document.querySelector('.custom-select-container'); + if (container && !container.contains(e.target) && isDropdownOpen.value) { + isDropdownOpen.value = false; + } + }); +}); + +// 手机端选择器变化处理(保留原函数以兼容其他地方可能的调用) const handleMobileTabChange = (value) => { const tabIndexMap = { "AIchat": 0, @@ -1468,13 +1529,33 @@ onUnmounted(() => { " @click="setActiveTab('deepNine', 2)" class="action-btn model-btn" alt="深度九大模型" /> - +