diff --git a/pages/chat/chatPage - 副本 (2).vue b/pages/chat/chatPage - 副本 (2).vue new file mode 100644 index 0000000..9b62821 --- /dev/null +++ b/pages/chat/chatPage - 副本 (2).vue @@ -0,0 +1,353 @@ + + + + + \ No newline at end of file diff --git a/pages/chat/chatPage.vue b/pages/chat/chatPage.vue index 6c87fe8..2e61710 100644 --- a/pages/chat/chatPage.vue +++ b/pages/chat/chatPage.vue @@ -1,370 +1,330 @@ \ No newline at end of file diff --git a/pages/chat/index.vue b/pages/chat/index.vue index 58ac98a..fa1ae80 100644 --- a/pages/chat/index.vue +++ b/pages/chat/index.vue @@ -30,6 +30,7 @@ import Footer from '@/components/footer_common.vue'; import { get, post } from '@/utils/request'; import { IMAGE_BASE_URL, BASE_URL } from '@/utils/config'; + import {navigateTo} from '@/utils/router.js' export default { name: 'aiHelper', components: { Footer }, @@ -45,7 +46,7 @@ }, methods: { goAiType(item) { - uni.navigateTo({ + navigateTo({ url: `/pages/chat/chatPage?serviceUrl=${item.serviceUrl}&apiKey=${item.apiKey}&id=${item.id}&name=${item.name}&icon=${item.icon}` }); }, diff --git a/pages/meetingDetail/index.vue b/pages/meetingDetail/index.vue index 167fc5d..a421b8c 100644 --- a/pages/meetingDetail/index.vue +++ b/pages/meetingDetail/index.vue @@ -89,7 +89,7 @@ - 申请场次及人数 + 申请场次及人数(选填) @@ -217,16 +217,14 @@ concatPhone: '负责人电话', companyName: '公司名称', startTime: '开始时间', - endTime: '结束时间', - num: "人数", - counter: '场次' + endTime: '结束时间' }, - userName: '丁', - userPhone: "13667879876", - userCardId: '1234', - userAddress: '北京二环', - counter: '10', - num: '100', + userName: '', + userPhone: "", + userCardId: '', + userAddress: '', + counter: '', + num: '', // 会议室图片数组 applyTheme: 1, applyArea:1, @@ -267,8 +265,8 @@ maxDate: `${year + 1}-12-31`, // 时间相关 - startTime: `2025-08`, - endTime: `2025-10`, + startTime: ``, + endTime: ``, startTimeValue: `${startHours.toString().padStart(2, '0')}:${startMinutes.toString().padStart(2, '0')}`, endTimeValue: `${endHours.toString().padStart(2, '0')}:${endMinutes.toString().padStart(2, '0')}`, diff --git a/pages/sign/sign.vue b/pages/sign/sign.vue index 6bdcd0c..453231d 100644 --- a/pages/sign/sign.vue +++ b/pages/sign/sign.vue @@ -600,14 +600,14 @@ import pickerColor from "./pickerColor.vue" display: flex; align-content: center; flex-direction:column; - justify-content: center; + /* justify-content: center; */ font-size: 28rpx; } .handWriting { background: #fff; width: 95vw; - height: 90vh; + height: 240px; margin: 0 auto; } @@ -618,7 +618,7 @@ import pickerColor from "./pickerColor.vue" .handCenter { border: 4rpx dashed #e9e9e9; - flex: 5; + height: 240px; overflow: hidden; width: 95vw; box-sizing: border-box; diff --git a/utils/ws.js b/utils/ws.js new file mode 100644 index 0000000..2c0dbb5 --- /dev/null +++ b/utils/ws.js @@ -0,0 +1,61 @@ +// 连接WebSocket +const connectWebSocket = () => { + if (isConnected.value) return; + + socket.value = new WebSocket(WS_URL); + + socket.value.onopen = () => { + isConnected.value = true; + addMessage('ai', '连接已建立,请问有什么可以帮您?', MESSAGE_TYPE.NORMAL); + }; + + socket.value.onmessage = (event) => { + console.log('收到消息:', event); + const data = event.data.trim(); + if (data.startsWith('')) { + aiStatus.value = 2; // 切换到思考状态 + isReplying.value = true; + } + if (data.includes('')) { + aiStatus.value = 1; // 切换到思考状态 + } + if (data.startsWith('')) { + addingText.value = ''; + isAnswer.value = true; + } + if (isAnswer.value) { + addingText.value += data.replace(//g, '').replace(/<\/answer>/g, ''); + console.log('添加的文本:', addingText.value); + } + if (!data.includes('你好,我是 AI 小助手,请输入你的问题。') && !data.includes('')) { + processThinkingMessage(data); + } + if (data.includes('')) { + const strList = data.split('')[1].split('')[0]; + // videoList.value = [{ src: '/videos/1.mp4' }, { src: '/videos/2.mp4' }, { src: '/videos/3.mp4' }]; + videoList.value = strList.replace(/\[/g, '').replace(/\]/g, '').split(',').map(src => ({ src: `/videos/${src.trim()}.mp4` })) + } + if (data.includes('')) { + currentThinking.value = null + isReplying.value = false; + isAnswer.value = false; + audioText.value = addingText.value; + messages.value[messages.value.length - 1].loading = false; + // audioText.value='先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也' + } + + }; + + socket.value.onerror = (error) => { + console.error('WebSocket错误:', error); + addMessage('ai', '连接出错,请稍后再试', MESSAGE_TYPE.NORMAL); + }; + + socket.value.onclose = () => { + isConnected.value = false; + addMessage('ai', '连接已断开', MESSAGE_TYPE.NORMAL); + }; +}; \ No newline at end of file