diff --git a/src/assets/img/AIchat/圈.png b/src/assets/img/AIchat/圈.png deleted file mode 100644 index d0116bb..0000000 Binary files a/src/assets/img/AIchat/圈.png and /dev/null differ diff --git a/src/assets/img/AIchat/圈1.png b/src/assets/img/AIchat/圈1.png deleted file mode 100644 index d0116bb..0000000 Binary files a/src/assets/img/AIchat/圈1.png and /dev/null differ diff --git a/src/assets/img/homePage/bk.png b/src/assets/img/homePage/bk.png deleted file mode 100644 index 64cc22b..0000000 Binary files a/src/assets/img/homePage/bk.png and /dev/null differ diff --git a/src/store/userPessionCode.js b/src/store/userPessionCode.js index 9c8b584..625a45f 100644 --- a/src/store/userPessionCode.js +++ b/src/store/userPessionCode.js @@ -17,7 +17,7 @@ export const useUserStore = defineStore('user', () => { const airadarPerssion = ref(0) const userRole = ref('') const loading = ref(false) - const isReady = ref(false) + const isReady = ref(false) const getAppToken = ref('') const getQueryVariable = (variable) => { diff --git a/src/views/AIchat.vue b/src/views/AIchat.vue index 7c94cf5..0d28e18 100644 --- a/src/views/AIchat.vue +++ b/src/views/AIchat.vue @@ -30,8 +30,6 @@ import title3 from "@/assets/img/AIchat/攻防三维.png"; import title4 from "@/assets/img/AIchat/综合作战.png"; import logo1 from "@/assets/img/AIchat/夺宝奇兵logo.png"; import logo2 from "@/assets/img/AIchat/开启无限财富.png"; -import bgc from "@/assets/img/AIchat/圈.png"; -import bgc1 from "@/assets/img/AIchat/圈1.png"; import getCountAll from "../assets/img/homePage/get-count-all.png"; import voice from "../assets/img/homePage/tail/voice.png"; import voiceNoActive from "../assets/img/homePage/tail/voice-no-active.png"; @@ -476,7 +474,7 @@ const createTypingEffect = (message, content, speed) => { content: "工作流返回出错,请稍后重试", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); if (message.error == "2") { apiStatus.two.isError = true; } else if (message.error == "3") { @@ -488,7 +486,7 @@ const createTypingEffect = (message, content, speed) => { if (message.end) { chatStore.getUserCount(); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); } message.isTyping = false; nextTick(() => { @@ -607,7 +605,7 @@ const createTypingEffect = (message, content, speed) => { content: "工作流返回出错,请稍后重试", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); if (message.error == "2") { apiStatus.two.isError = true; } else if (message.error == "3") { @@ -640,7 +638,7 @@ const createTypingEffect = (message, content, speed) => { content: "工作流返回出错,请稍后重试", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); if (message.error == "2") { apiStatus.two.isError = true; } else if (message.error == "3") { @@ -886,7 +884,7 @@ watch( }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); } } catch (e) { // 意图识别异常,先清理思考过程消息 @@ -905,7 +903,7 @@ watch( content: "工作流返回出错,请稍后重试", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); } if (flag) { @@ -937,7 +935,7 @@ watch( spaceForecastPrivilegeState: 1, aibullPrivilegeState: 1, aigoldBullPrivilegeState: 1, - airadarPrivilegeState: 1, + airadarPrivilegeState: 1, // marketList: 1, // brainPrivilegeState: userStore.brainPerssion, // swordPrivilegeState: userStore.swordPerssion, @@ -946,7 +944,7 @@ watch( // aibullPrivilegeState: userStore.aibullPerssion, // aigoldBullPrivilegeState: userStore.aiGnbullPerssion, // airadarPrivilegeState: userStore.airadarPerssion, - marketList: 'usa,sg,my,hk,cn,can,vi,th,in,gb', + marketList: "usa,sg,my,hk,cn,can,vi,th,in,gb", }); // 添加空值检查防止访问null对象的属性 @@ -1730,7 +1728,7 @@ watch( content: "工作流返回出错,请稍后重试", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); } } @@ -1830,7 +1828,7 @@ watch( content: "工作流返回出错,请稍后重试", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); } } } @@ -2016,7 +2014,7 @@ watch( content: "工作流返回出错,请稍后重试1111", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); } } } @@ -2151,7 +2149,7 @@ watch( content: "工作流返回出错,请稍后重试", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); } } } @@ -2328,7 +2326,7 @@ watch( content: "数据缺失,请稍后重试", }); chatStore.isLoading = false; - emit('enableInput'); + emit("enableInput"); } // 同时发起所有API调用 @@ -4170,7 +4168,11 @@ onUnmounted(() => {
- 夺宝奇兵大模型logo + 夺宝奇兵大模型logo 夺宝奇兵大模型logo 夺宝奇兵大模型logo
@@ -4288,12 +4290,23 @@ p { .bgc { position: absolute; z-index: -1; - max-width: 530px; - min-width: 340px; + max-width: 440px; + min-width: 300px; + top: -15px; width: 40%; height: auto; - /* right: 30px; */ - /* top: -30px; */ + /* 添加旋转动画 */ + animation: rotate 10s linear infinite reverse; +} + +/* 定义旋转动画 */ +@keyframes rotate { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } } .logo1 { @@ -4329,19 +4342,6 @@ p { /* 防止GIF区域被压缩 */ } -.gif-area img { - /* width: 30%; */ - /* 改为百分比单位 */ - /* min-width: 200px; */ - /* 最小尺寸 */ - /* max-width: 400px; */ - /* 最大尺寸 */ - /* height: auto; */ - /* left: 50%; */ - /* transition: all 0.3s; */ - /* 添加过渡效果 */ -} - .message-area { margin-top: 2%; flex: 1; diff --git a/src/views/Selectmodel.vue b/src/views/Selectmodel.vue index edae6e0..18bc0b1 100644 --- a/src/views/Selectmodel.vue +++ b/src/views/Selectmodel.vue @@ -26,7 +26,6 @@
- @@ -78,7 +77,7 @@ const goToEmotionsmodel = () => { align-items: center; /* box-sizing: border-box; text-align: center; */ - background-attachment: fixed + background-attachment: fixed; } .main-icon { @@ -109,6 +108,19 @@ const goToEmotionsmodel = () => { align-items: center; width: 90vw; max-width: 200px; + cursor: pointer; + animation: breathing 1.5s ease-in-out infinite; +} + +/* 呼吸动效关键帧 */ +@keyframes breathing { + 0%, + 100% { + transform: scale(1); + } + 50% { + transform: scale(1.02); + } } .btn-icon { @@ -129,6 +141,7 @@ const goToEmotionsmodel = () => { height: 150px; width: 100%; background-image: url("@/assets/img/Selectmodel/金轮 拷贝.png"); + z-index: 3; } .btn-ball { diff --git a/src/views/components/HistoryRecord.vue b/src/views/components/HistoryRecord.vue index d6b28a3..8f509e3 100644 --- a/src/views/components/HistoryRecord.vue +++ b/src/views/components/HistoryRecord.vue @@ -1,11 +1,8 @@ @@ -124,7 +275,13 @@ const props = defineProps({ }); // Emits -const emit = defineEmits(["selectRecord", "recordAdded", "startNewChat"]); +const emit = defineEmits([ + "selectRecord", + "recordAdded", + "startNewChat", + "showAnnouncement", + "showFeedback", +]); // 响应式数据 const isCollapsed = ref(false); @@ -145,13 +302,11 @@ const toggleCollapse = () => { const openHistory = () => { isCollapsed.value = false; -} +}; const closeHistory = () => { isCollapsed.value = true; -} - - +}; const selectRecord = (record) => { selectedRecordId.value = record.id; @@ -253,6 +408,16 @@ const loadFromLocalStorage = () => { } }; +// 处理公告按钮点击 +const handleAnnouncementClick = () => { + emit("showAnnouncement"); +}; + +// 处理用户反馈按钮点击 +const handleFeedbackClick = () => { + emit("showFeedback"); +}; + // 暴露方法和状态给父组件 defineExpose({ addRecord, @@ -278,40 +443,64 @@ watch( \ No newline at end of file diff --git a/src/views/homePage.vue b/src/views/homePage.vue index 177edf7..f05eef5 100644 --- a/src/views/homePage.vue +++ b/src/views/homePage.vue @@ -603,6 +603,8 @@ onUnmounted(() => { :current-type="activeTab" @selectRecord="handleHistorySelect" :is-mobile="isMobile" + @showAnnouncement="showAnnouncement" + @showFeedback="showFeedback" />
{ -