1 line
5.0 KiB
JSON
1 line
5.0 KiB
JSON
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/views/user/Ai.vue?vue&type=style&index=0&id=3f03043c&scoped=true&lang=css","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/views/user/Ai.vue","mtime":1742646695805},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/css-loader/dist/cjs.js","mtime":1743264596127},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1743264597030},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/postcss-loader/src/index.js","mtime":1743264596321},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ci5jb250YWluZXIgewogIG92ZXJmbG93LXk6IGF1dG87CiAgbWF4LWhlaWdodDogN3JlbTsKfQovKiDlj6/ku6XlnKjov5nph4zmt7vliqDmoLflvI/mnaXoh6rlrprkuYnpobXpnaLlpJbop4IgKi8KLmxvZ28gewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IHJvdzsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmb250LXNpemU6IDI0cHg7CiAgY29sb3I6ICMzMzM7CiAgcGFkZGluZzogMTZweDsKfQouc2lkZWJhciB7CiAgcGFkZGluZzogMTZweDsKfQouY2hhdC1jb250ZW50IHsKICBwYWRkaW5nOiAxNnB4Owp9Ci5pbnB1dC1ib3ggewogIHBhZGRpbmc6IDE2cHg7Cn0KLnNlbmQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgcGFkZGluZzogMTZweDsKfQo="},{"version":3,"sources":["Ai.vue"],"names":[],"mappings":";AAoFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Ai.vue","sourceRoot":"src/views/user","sourcesContent":["<!-- -->\n<template>\n <div style=\"width: 100%; height: 80vh\">\n <iframe\n src=\"http://110.40.62.21:8088/ui/chat/557a7986d311731a\"\n style=\"width: 100%; height: 100%\"\n frameborder=\"0\"\n allow=\"microphone\"\n ></iframe>\n </div>\n</template>\n\n<script>\nimport MarkdownIt from \"markdown-it\";\n\nexport default {\n name: \"ChatGPTPage\",\n data() {\n return {\n message: \"\",\n chatHistory: [{ message: \"欢迎使用竞赛AI助手!\", sentByUser: false }],\n socket: null,\n };\n },\n mounted() {\n this.initializeWebSocket();\n },\n beforeDestroy() {\n if (this.socket) {\n this.socket.close(); // 关闭 WebSocket 连接\n }\n },\n methods: {\n initializeWebSocket() {\n this.socket = new WebSocket(`ws://222.186.56.183:8888/websocketClient/3`);\n this.socket.onopen = () => {\n console.log(\"WebSocket 连接已建立\");\n };\n this.socket.onmessage = (event) => {\n console.log(\"收到消息:\", event.data);\n this.updateChatHistory(event.data, false);\n // var str=\"\"\n // str=str+event.data\n // console.log(str);\n // 定时器3秒后统一发出\n };\n // setInterval(() => {this.updateChatHistory(str, false);},3000)\n\n this.socket.onerror = (error) => {\n console.error(\"WebSocket 错误:\", error);\n };\n this.socket.onclose = () => {\n console.log(\"WebSocket 连接已关闭\");\n };\n },\n sendMessage() {\n const data = { session: this.message };\n console.log(\"发送消息:\", JSON.stringify(data));\n this.updateChatHistory(this.message, true);\n if (this.socket.readyState === WebSocket.OPEN) {\n this.socket.send(JSON.stringify(data));\n }\n this.message = \"\";\n },\n updateChatHistory(msg, sentByUser) {\n if (msg) {\n // 如果收到的消息不为空,则将其添加到聊天历史中\n this.chatHistory.push({ message: msg, sentByUser });\n } else {\n // 如果收到的消息为空,则表示回答完成\n // 将回答的内容合并并添加到聊天历史中\n let answer = \"\";\n for (const entry of this.chatHistory) {\n answer += entry.message;\n }\n this.chatHistory.push({ message: answer, sentByUser });\n // 清空聊天历史\n // this.chatHistory = [];\n }\n },\n },\n};\n</script>\n<style scoped>\n.container {\n overflow-y: auto;\n max-height: 7rem;\n}\n/* 可以在这里添加样式来自定义页面外观 */\n.logo {\n display: flex;\n flex-direction: row;\n justify-content: center;\n font-size: 24px;\n color: #333;\n padding: 16px;\n}\n.sidebar {\n padding: 16px;\n}\n.chat-content {\n padding: 16px;\n}\n.input-box {\n padding: 16px;\n}\n.send {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 16px;\n}\n</style>\n"]}]} |