From 57c7c415dce830bff6a85de8441abd3e45e1a33c Mon Sep 17 00:00:00 2001 From: wang <3202024218@qq.com> Date: Wed, 18 Jun 2025 09:13:56 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit c5d6e452159bbf5e349ba6d13c19065cf5f25ca8. --- .../backend/__pycache__/app.cpython-312.pyc | Bin 24056 -> 21836 bytes goldminer/backend/app.py | 41 +++--------------- goldminer/backend/requirements.txt | 3 +- ...a1f7336ea51f0f22310d12c58bdef663c4d43.json | 1 - ...acc420e32f03ce0b1f2d1c2f35c39e72fbfce.json | 1 - ...557e973a38f3ea266600a7dc58b9a586879ec.json | 1 - ...399d3cbd4eb8348ac696b34b47ec4503228e7.json | 1 - ...98638025d37e2b0d25b48b5724ab7c95f99fb.json | 1 - ...5d288a1c68f185ceade3496701a8cd6b8848e.json | 1 - .../node_modules/.cache/eslint/123ee647.json | 2 +- goldminer/start.bat | 2 +- 11 files changed, 8 insertions(+), 46 deletions(-) delete mode 100644 goldminer/frontend/node_modules/.cache/babel-loader/15df5abc4b3b0eb2d29c87df8ada1f7336ea51f0f22310d12c58bdef663c4d43.json delete mode 100644 goldminer/frontend/node_modules/.cache/babel-loader/24a99a6067e6f9dcee51a29de6aacc420e32f03ce0b1f2d1c2f35c39e72fbfce.json delete mode 100644 goldminer/frontend/node_modules/.cache/babel-loader/4363643b0b4b21333a3577c8591557e973a38f3ea266600a7dc58b9a586879ec.json delete mode 100644 goldminer/frontend/node_modules/.cache/babel-loader/a14b20bf1da3ea67acd97f53794399d3cbd4eb8348ac696b34b47ec4503228e7.json delete mode 100644 goldminer/frontend/node_modules/.cache/babel-loader/cc6ca55790ce06b0d3a38d6c82998638025d37e2b0d25b48b5724ab7c95f99fb.json delete mode 100644 goldminer/frontend/node_modules/.cache/babel-loader/e1e88b21e19be30dc863165bf3e5d288a1c68f185ceade3496701a8cd6b8848e.json diff --git a/goldminer/backend/__pycache__/app.cpython-312.pyc b/goldminer/backend/__pycache__/app.cpython-312.pyc index aab2687e99d5983d40e06e3f84bf266b6bd473eb..c097bb52cf54608786f6fa0a365a8f03a23b0ef6 100644 GIT binary patch delta 5242 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 delta 7170 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 {\n this.fetchRooms();\n }, 10000);\n },\n beforeUnmount() {\n this.stopPolling();\n },\n methods: {\n // 获取聊天室列表\n async fetchRooms() {\n this.loading = true;\n this.error = null;\n try {\n const response = await axios.get('/api/chat/rooms', {\n withCredentials: true\n });\n this.rooms = response.data || [];\n } catch (err) {\n console.error('获取聊天室列表失败:', err);\n this.error = '获取聊天室列表失败,请稍后重试';\n } finally {\n this.loading = false;\n }\n },\n // 创建聊天室\n async createRoom() {\n if (!this.newRoomName.trim()) return;\n try {\n const response = await axios.post('/api/chat/rooms', {\n name: this.newRoomName\n }, {\n withCredentials: true\n });\n this.newRoomName = '';\n await this.fetchRooms();\n\n // 自动加入创建的房间\n const newRoom = response.data;\n if (newRoom && newRoom.id) {\n this.joinRoom(newRoom);\n }\n } catch (err) {\n console.error('创建聊天室失败:', err);\n alert('创建聊天室失败,请稍后重试');\n }\n },\n // 加入聊天室\n async joinRoom(room) {\n if (this.currentRoom && this.currentRoom.id === room.id) return;\n\n // 停止之前的轮询\n this.stopPolling();\n this.currentRoom = room;\n this.messages = [];\n this.notifications = [];\n try {\n // 获取聊天室历史消息\n const response = await axios.get(`/api/chat/rooms/${room.id}/messages`, {\n withCredentials: true\n });\n this.messages = response.data.messages;\n\n // 开始轮询新消息\n this.startPolling();\n\n // 滚动到底部\n this.$nextTick(() => {\n this.scrollToBottom();\n });\n } catch (err) {\n console.error('加入聊天室失败:', err);\n alert('加入聊天室失败,请稍后重试');\n this.currentRoom = null;\n }\n },\n // 离开聊天室\n leaveRoom() {\n if (!this.currentRoom) return;\n\n // 停止轮询\n this.stopPolling();\n this.currentRoom = null;\n this.messages = [];\n this.notifications = [];\n },\n // 发送消息\n async sendMessage() {\n if (!this.newMessage.trim() || !this.currentRoom) return;\n try {\n // 准备消息数据\n const messageData = {\n room_id: this.currentRoom.id,\n message: this.newMessage\n };\n\n // 发送消息\n await axios.post('/api/chat/send', messageData, {\n withCredentials: true,\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n\n // UDP不保证消息到达,所以这里我们模拟一条本地消息\n const localMessage = {\n id: Date.now(),\n user_id: this.currentUser.username,\n username: this.currentUser.username,\n message: this.newMessage,\n created_at: new Date().toISOString()\n };\n this.messages.push(localMessage);\n\n // 清空输入框\n this.newMessage = '';\n\n // 滚动到底部\n this.$nextTick(() => {\n this.scrollToBottom();\n });\n } catch (err) {\n console.error('发送消息失败:', err);\n }\n },\n // 开始轮询获取新消息\n startPolling() {\n if (this.pollingInterval) return;\n this.pollingInterval = setInterval(async () => {\n if (!this.currentRoom) return;\n try {\n // 使用POST方法,因为某些浏览器可能会缓存GET请求\n const response = await axios.post(`/api/chat/poll/${this.currentRoom.id}`, {}, {\n withCredentials: true\n });\n\n // 更新消息列表,保留本地消息\n if (Array.isArray(response.data) && response.data.length > 0) {\n // 合并本地和服务器消息,避免重复\n const existingIds = new Set(this.messages.map(m => m.id));\n const newMessages = response.data.filter(m => !existingIds.has(m.id));\n if (newMessages.length > 0) {\n this.messages = [...this.messages, ...newMessages];\n\n // 滚动到底部\n this.$nextTick(() => {\n this.scrollToBottom();\n });\n }\n }\n } catch (error) {\n console.error('轮询消息失败', error);\n }\n }, 2000); // 每2秒轮询一次\n },\n // 停止轮询\n stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n this.pollingInterval = null;\n }\n },\n // 格式化时间\n formatTime(dateString) {\n if (!dateString) return '';\n const date = new Date(dateString);\n return date.toLocaleTimeString('zh-CN', {\n hour: '2-digit',\n minute: '2-digit'\n });\n },\n // 滚动到底部\n scrollToBottom() {\n const container = this.$refs.messagesContainer;\n if (container) {\n container.scrollTop = container.scrollHeight;\n }\n },\n // 检查是否是当前用户\n isCurrentUser(userId) {\n return this.currentUser && this.currentUser.id === userId;\n }\n }\n};","map":{"version":3,"names":["axios","name","data","loading","error","rooms","currentRoom","messages","notifications","newMessage","newRoomName","showCreateRoomModal","messagesContainer","currentUser","JSON","parse","localStorage","getItem","pollingInterval","isConnecting","created","fetchRooms","setInterval","beforeUnmount","stopPolling","methods","response","get","withCredentials","err","console","createRoom","trim","post","newRoom","id","joinRoom","alert","room","startPolling","$nextTick","scrollToBottom","leaveRoom","sendMessage","messageData","room_id","message","headers","localMessage","Date","now","user_id","username","created_at","toISOString","push","Array","isArray","length","existingIds","Set","map","m","newMessages","filter","has","clearInterval","formatTime","dateString","date","toLocaleTimeString","hour","minute","container","$refs","scrollTop","scrollHeight","isCurrentUser","userId"],"sources":["D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\ChatRoom.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/goldminer/frontend/node_modules/.cache/babel-loader/24a99a6067e6f9dcee51a29de6aacc420e32f03ce0b1f2d1c2f35c39e72fbfce.json b/goldminer/frontend/node_modules/.cache/babel-loader/24a99a6067e6f9dcee51a29de6aacc420e32f03ce0b1f2d1c2f35c39e72fbfce.json deleted file mode 100644 index badb121e..00000000 --- a/goldminer/frontend/node_modules/.cache/babel-loader/24a99a6067e6f9dcee51a29de6aacc420e32f03ce0b1f2d1c2f35c39e72fbfce.json +++ /dev/null @@ -1 +0,0 @@ -{"ast":null,"code":"import { createApp } from 'vue';\nimport App from './App.vue';\nimport router from './router';\nimport axios from 'axios';\n\n// In containerized environment, API calls will be proxied through Nginx\n// No need to specify a baseURL as we'll use relative URLs that Nginx will route\naxios.defaults.baseURL = '';\nconst app = createApp(App);\napp.use(router);\napp.mount('#app');","map":{"version":3,"names":["createApp","App","router","axios","defaults","baseURL","app","use","mount"],"sources":["D:/学习/网络应用程序开发/pdf/goldminer/frontend/src/main.js"],"sourcesContent":["import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport axios from 'axios'\r\n\r\n// In containerized environment, API calls will be proxied through Nginx\r\n// No need to specify a baseURL as we'll use relative URLs that Nginx will route\r\naxios.defaults.baseURL = ''\r\n\r\nconst app = createApp(App)\r\napp.use(router)\r\napp.mount('#app') "],"mappings":"AAAA,SAASA,SAAS,QAAQ,KAAK;AAC/B,OAAOC,GAAG,MAAM,WAAW;AAC3B,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,KAAK,MAAM,OAAO;;AAEzB;AACA;AACAA,KAAK,CAACC,QAAQ,CAACC,OAAO,GAAG,EAAE;AAE3B,MAAMC,GAAG,GAAGN,SAAS,CAACC,GAAG,CAAC;AAC1BK,GAAG,CAACC,GAAG,CAACL,MAAM,CAAC;AACfI,GAAG,CAACE,KAAK,CAAC,MAAM,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/goldminer/frontend/node_modules/.cache/babel-loader/4363643b0b4b21333a3577c8591557e973a38f3ea266600a7dc58b9a586879ec.json b/goldminer/frontend/node_modules/.cache/babel-loader/4363643b0b4b21333a3577c8591557e973a38f3ea266600a7dc58b9a586879ec.json deleted file mode 100644 index f87388bf..00000000 --- a/goldminer/frontend/node_modules/.cache/babel-loader/4363643b0b4b21333a3577c8591557e973a38f3ea266600a7dc58b9a586879ec.json +++ /dev/null @@ -1 +0,0 @@ -{"ast":null,"code":"import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, vModelText as _vModelText, withKeys as _withKeys, withDirectives as _withDirectives } from \"vue\";\nconst _hoisted_1 = {\n class: \"chat-container\"\n};\nconst _hoisted_2 = {\n key: 0,\n class: \"loading\"\n};\nconst _hoisted_3 = {\n key: 1,\n class: \"error-message\"\n};\nconst _hoisted_4 = {\n key: 2,\n class: \"chat-content\"\n};\nconst _hoisted_5 = {\n class: \"rooms-panel\"\n};\nconst _hoisted_6 = {\n class: \"panel-header\"\n};\nconst _hoisted_7 = {\n class: \"room-list\"\n};\nconst _hoisted_8 = [\"onClick\"];\nconst _hoisted_9 = {\n class: \"room-name\"\n};\nconst _hoisted_10 = {\n class: \"room-info\"\n};\nconst _hoisted_11 = {\n key: 0,\n class: \"no-rooms\"\n};\nconst _hoisted_12 = {\n class: \"chat-panel\"\n};\nconst _hoisted_13 = {\n key: 0,\n class: \"no-room-selected\"\n};\nconst _hoisted_14 = {\n class: \"chat-room-header\"\n};\nconst _hoisted_15 = {\n class: \"messages-container\",\n ref: \"messagesContainer\"\n};\nconst _hoisted_16 = {\n class: \"timestamp\"\n};\nconst _hoisted_17 = {\n key: 0,\n class: \"no-messages\"\n};\nconst _hoisted_18 = {\n class: \"message-input\"\n};\nconst _hoisted_19 = [\"disabled\"];\nconst _hoisted_20 = {\n key: 3,\n class: \"modal-overlay\"\n};\nconst _hoisted_21 = {\n class: \"modal-content\"\n};\nconst _hoisted_22 = {\n class: \"form-group\"\n};\nconst _hoisted_23 = {\n class: \"modal-actions\"\n};\nconst _hoisted_24 = [\"disabled\"];\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_cache[16] || (_cache[16] = _createElementVNode(\"div\", {\n class: \"chat-header\"\n }, [_createElementVNode(\"h2\", null, \"游戏聊天室\"), _createElementVNode(\"p\", {\n class: \"subtitle\"\n }, \"与其他玩家交流游戏心得\")], -1 /* HOISTED */)), $data.loading ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _cache[9] || (_cache[9] = [_createElementVNode(\"p\", null, \"加载中...\", -1 /* HOISTED */)]))) : $data.error ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createElementVNode(\"p\", null, _toDisplayString($data.error), 1 /* TEXT */), _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = (...args) => $options.fetchRooms && $options.fetchRooms(...args)),\n class: \"retry-button\"\n }, \"重试\")])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [_createCommentVNode(\" 左侧聊天室列表 \"), _createElementVNode(\"div\", _hoisted_5, [_createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h3\", null, \"聊天室列表\", -1 /* HOISTED */)), _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = $event => $data.showCreateRoomModal = true),\n class: \"create-room-btn\"\n }, \" 创建聊天室 \")]), _createElementVNode(\"div\", _hoisted_7, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($data.rooms, room => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: room.id,\n class: _normalizeClass([\"room-item\", {\n active: $data.currentRoom && $data.currentRoom.id === room.id\n }]),\n onClick: $event => $options.joinRoom(room)\n }, [_createElementVNode(\"div\", _hoisted_9, _toDisplayString(room.name), 1 /* TEXT */), _createElementVNode(\"div\", _hoisted_10, _toDisplayString(room.members_count || 0) + \"人在线\", 1 /* TEXT */)], 10 /* CLASS, PROPS */, _hoisted_8);\n }), 128 /* KEYED_FRAGMENT */)), $data.rooms.length === 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, _cache[11] || (_cache[11] = [_createElementVNode(\"p\", null, \"暂无聊天室,创建一个吧!\", -1 /* HOISTED */)]))) : _createCommentVNode(\"v-if\", true)])]), _createCommentVNode(\" 右侧聊天区域 \"), _createElementVNode(\"div\", _hoisted_12, [!$data.currentRoom ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, _cache[12] || (_cache[12] = [_createElementVNode(\"p\", null, \"请选择或创建一个聊天室\", -1 /* HOISTED */)]))) : (_openBlock(), _createElementBlock(_Fragment, {\n key: 1\n }, [_createElementVNode(\"div\", _hoisted_14, [_createElementVNode(\"h3\", null, _toDisplayString($data.currentRoom.name), 1 /* TEXT */), _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = (...args) => $options.leaveRoom && $options.leaveRoom(...args)),\n class: \"leave-room-btn\"\n }, \"离开\")]), _createElementVNode(\"div\", _hoisted_15, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($data.messages, msg => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: msg.id,\n class: _normalizeClass([\"message-item\", {\n 'current-user-message': $options.isCurrentUser(msg.user_id)\n }])\n }, [_createElementVNode(\"div\", {\n class: _normalizeClass([\"message-header\", {\n 'current-user-header': $options.isCurrentUser(msg.user_id)\n }])\n }, [_createElementVNode(\"span\", {\n class: _normalizeClass([\"username\", {\n 'current-user': $options.isCurrentUser(msg.user_id)\n }])\n }, _toDisplayString(msg.username), 3 /* TEXT, CLASS */), _createElementVNode(\"span\", _hoisted_16, _toDisplayString($options.formatTime(msg.created_at)), 1 /* TEXT */)], 2 /* CLASS */), _createElementVNode(\"div\", {\n class: _normalizeClass([\"message-content\", {\n 'current-user-content': $options.isCurrentUser(msg.user_id)\n }])\n }, _toDisplayString(msg.message), 3 /* TEXT, CLASS */)], 2 /* CLASS */);\n }), 128 /* KEYED_FRAGMENT */)), $data.messages.length === 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, _cache[13] || (_cache[13] = [_createElementVNode(\"p\", null, \"暂无消息,开始聊天吧!\", -1 /* HOISTED */)]))) : _createCommentVNode(\"v-if\", true), (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($data.notifications, notification => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: notification.id,\n class: \"notification\"\n }, _toDisplayString(notification.message), 1 /* TEXT */);\n }), 128 /* KEYED_FRAGMENT */))], 512 /* NEED_PATCH */), _createElementVNode(\"div\", _hoisted_18, [_withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.newMessage = $event),\n placeholder: \"输入消息...\",\n onKeyup: _cache[4] || (_cache[4] = _withKeys((...args) => $options.sendMessage && $options.sendMessage(...args), [\"enter\"]))\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[_vModelText, $data.newMessage]]), _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = (...args) => $options.sendMessage && $options.sendMessage(...args)),\n disabled: !$data.newMessage.trim()\n }, \"发送\", 8 /* PROPS */, _hoisted_19)])], 64 /* STABLE_FRAGMENT */))])])), _createCommentVNode(\" 创建聊天室模态框 \"), $data.showCreateRoomModal ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [_createElementVNode(\"div\", _hoisted_21, [_cache[15] || (_cache[15] = _createElementVNode(\"h3\", null, \"创建新聊天室\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_22, [_cache[14] || (_cache[14] = _createElementVNode(\"label\", {\n for: \"roomName\"\n }, \"聊天室名称\", -1 /* HOISTED */)), _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n id: \"roomName\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $data.newRoomName = $event),\n placeholder: \"输入聊天室名称\"\n }, null, 512 /* NEED_PATCH */), [[_vModelText, $data.newRoomName]])]), _createElementVNode(\"div\", _hoisted_23, [_createElementVNode(\"button\", {\n onClick: _cache[7] || (_cache[7] = (...args) => $options.createRoom && $options.createRoom(...args)),\n class: \"create-btn\",\n disabled: !$data.newRoomName.trim()\n }, \"创建\", 8 /* PROPS */, _hoisted_24), _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = $event => $data.showCreateRoomModal = false),\n class: \"cancel-btn\"\n }, \"取消\")])])])) : _createCommentVNode(\"v-if\", true)]);\n}","map":{"version":3,"names":["class","ref","_createElementBlock","_hoisted_1","_createElementVNode","$data","loading","_hoisted_2","_cache","error","_hoisted_3","_toDisplayString","onClick","args","$options","fetchRooms","_hoisted_4","_createCommentVNode","_hoisted_5","_hoisted_6","$event","showCreateRoomModal","_hoisted_7","_Fragment","_renderList","rooms","room","key","id","_normalizeClass","active","currentRoom","joinRoom","_hoisted_9","name","_hoisted_10","members_count","length","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","leaveRoom","_hoisted_15","messages","msg","isCurrentUser","user_id","username","_hoisted_16","formatTime","created_at","message","_hoisted_17","notifications","notification","_hoisted_18","type","newMessage","placeholder","onKeyup","_withKeys","sendMessage","disabled","trim","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","for","newRoomName","_hoisted_23","createRoom","_hoisted_24"],"sources":["D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\ChatRoom.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/goldminer/frontend/node_modules/.cache/babel-loader/a14b20bf1da3ea67acd97f53794399d3cbd4eb8348ac696b34b47ec4503228e7.json b/goldminer/frontend/node_modules/.cache/babel-loader/a14b20bf1da3ea67acd97f53794399d3cbd4eb8348ac696b34b47ec4503228e7.json deleted file mode 100644 index fe2f66c0..00000000 --- a/goldminer/frontend/node_modules/.cache/babel-loader/a14b20bf1da3ea67acd97f53794399d3cbd4eb8348ac696b34b47ec4503228e7.json +++ /dev/null @@ -1 +0,0 @@ -{"ast":null,"code":"import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, vModelText as _vModelText, withKeys as _withKeys, withDirectives as _withDirectives } from \"vue\";\nconst _hoisted_1 = {\n class: \"chat-container\"\n};\nconst _hoisted_2 = {\n key: 0,\n class: \"loading\"\n};\nconst _hoisted_3 = {\n key: 1,\n class: \"error-message\"\n};\nconst _hoisted_4 = {\n key: 2,\n class: \"chat-content\"\n};\nconst _hoisted_5 = {\n class: \"rooms-panel\"\n};\nconst _hoisted_6 = {\n class: \"panel-header\"\n};\nconst _hoisted_7 = {\n class: \"room-list\"\n};\nconst _hoisted_8 = [\"onClick\"];\nconst _hoisted_9 = {\n class: \"room-name\"\n};\nconst _hoisted_10 = {\n class: \"room-creator\"\n};\nconst _hoisted_11 = {\n key: 0,\n class: \"no-rooms\"\n};\nconst _hoisted_12 = {\n class: \"chat-panel\"\n};\nconst _hoisted_13 = {\n key: 0,\n class: \"no-room-selected\"\n};\nconst _hoisted_14 = {\n class: \"chat-room-header\"\n};\nconst _hoisted_15 = {\n class: \"messages-container\",\n ref: \"messagesContainer\"\n};\nconst _hoisted_16 = {\n class: \"timestamp\"\n};\nconst _hoisted_17 = {\n key: 0,\n class: \"no-messages\"\n};\nconst _hoisted_18 = {\n class: \"message-input\"\n};\nconst _hoisted_19 = [\"disabled\"];\nconst _hoisted_20 = {\n key: 3,\n class: \"modal-overlay\"\n};\nconst _hoisted_21 = {\n class: \"modal-content\"\n};\nconst _hoisted_22 = {\n class: \"form-group\"\n};\nconst _hoisted_23 = {\n class: \"modal-actions\"\n};\nconst _hoisted_24 = [\"disabled\"];\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_cache[16] || (_cache[16] = _createElementVNode(\"div\", {\n class: \"chat-header\"\n }, [_createElementVNode(\"h2\", null, \"游戏聊天室\"), _createElementVNode(\"p\", {\n class: \"subtitle\"\n }, \"与其他玩家交流游戏心得\")], -1 /* HOISTED */)), $data.loading ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _cache[9] || (_cache[9] = [_createElementVNode(\"p\", null, \"加载中...\", -1 /* HOISTED */)]))) : $data.error ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createElementVNode(\"p\", null, _toDisplayString($data.error), 1 /* TEXT */), _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = (...args) => $options.fetchRooms && $options.fetchRooms(...args)),\n class: \"retry-button\"\n }, \"重试\")])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [_createCommentVNode(\" 左侧聊天室列表 \"), _createElementVNode(\"div\", _hoisted_5, [_createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h3\", null, \"聊天室列表\", -1 /* HOISTED */)), _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = $event => $data.showCreateRoomModal = true),\n class: \"create-room-btn\"\n }, \" 创建聊天室 \")]), _createElementVNode(\"div\", _hoisted_7, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($data.rooms, room => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: room.id,\n class: _normalizeClass([\"room-item\", {\n active: $data.currentRoom && $data.currentRoom.id === room.id\n }]),\n onClick: $event => $options.joinRoom(room)\n }, [_createElementVNode(\"div\", _hoisted_9, _toDisplayString(room.name), 1 /* TEXT */), _createElementVNode(\"div\", _hoisted_10, \"创建者: \" + _toDisplayString(room.creator), 1 /* TEXT */)], 10 /* CLASS, PROPS */, _hoisted_8);\n }), 128 /* KEYED_FRAGMENT */)), $data.rooms.length === 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, _cache[11] || (_cache[11] = [_createElementVNode(\"p\", null, \"暂无聊天室,创建一个吧!\", -1 /* HOISTED */)]))) : _createCommentVNode(\"v-if\", true)])]), _createCommentVNode(\" 右侧聊天区域 \"), _createElementVNode(\"div\", _hoisted_12, [!$data.currentRoom ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, _cache[12] || (_cache[12] = [_createElementVNode(\"p\", null, \"请选择或创建一个聊天室\", -1 /* HOISTED */)]))) : (_openBlock(), _createElementBlock(_Fragment, {\n key: 1\n }, [_createElementVNode(\"div\", _hoisted_14, [_createElementVNode(\"h3\", null, _toDisplayString($data.currentRoom.name), 1 /* TEXT */), _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = (...args) => $options.leaveRoom && $options.leaveRoom(...args)),\n class: \"leave-room-btn\"\n }, \"离开\")]), _createElementVNode(\"div\", _hoisted_15, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($data.messages, msg => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: msg.id,\n class: _normalizeClass([\"message-item\", {\n 'current-user-message': $options.isCurrentUser(msg.user_id)\n }])\n }, [_createElementVNode(\"div\", {\n class: _normalizeClass([\"message-header\", {\n 'current-user-header': $options.isCurrentUser(msg.user_id)\n }])\n }, [_createElementVNode(\"span\", {\n class: _normalizeClass([\"username\", {\n 'current-user': $options.isCurrentUser(msg.user_id)\n }])\n }, _toDisplayString(msg.username), 3 /* TEXT, CLASS */), _createElementVNode(\"span\", _hoisted_16, _toDisplayString($options.formatTime(msg.created_at)), 1 /* TEXT */)], 2 /* CLASS */), _createElementVNode(\"div\", {\n class: _normalizeClass([\"message-content\", {\n 'current-user-content': $options.isCurrentUser(msg.user_id)\n }])\n }, _toDisplayString(msg.message), 3 /* TEXT, CLASS */)], 2 /* CLASS */);\n }), 128 /* KEYED_FRAGMENT */)), $data.messages.length === 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, _cache[13] || (_cache[13] = [_createElementVNode(\"p\", null, \"暂无消息,开始聊天吧!\", -1 /* HOISTED */)]))) : _createCommentVNode(\"v-if\", true), (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($data.notifications, notification => {\n return _openBlock(), _createElementBlock(\"div\", {\n key: notification.id,\n class: \"notification\"\n }, _toDisplayString(notification.message), 1 /* TEXT */);\n }), 128 /* KEYED_FRAGMENT */))], 512 /* NEED_PATCH */), _createElementVNode(\"div\", _hoisted_18, [_withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.newMessage = $event),\n placeholder: \"输入消息...\",\n onKeyup: _cache[4] || (_cache[4] = _withKeys((...args) => $options.sendMessage && $options.sendMessage(...args), [\"enter\"]))\n }, null, 544 /* NEED_HYDRATION, NEED_PATCH */), [[_vModelText, $data.newMessage]]), _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = (...args) => $options.sendMessage && $options.sendMessage(...args)),\n disabled: !$data.newMessage.trim()\n }, \"发送\", 8 /* PROPS */, _hoisted_19)])], 64 /* STABLE_FRAGMENT */))])])), _createCommentVNode(\" 创建聊天室模态框 \"), $data.showCreateRoomModal ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [_createElementVNode(\"div\", _hoisted_21, [_cache[15] || (_cache[15] = _createElementVNode(\"h3\", null, \"创建新聊天室\", -1 /* HOISTED */)), _createElementVNode(\"div\", _hoisted_22, [_cache[14] || (_cache[14] = _createElementVNode(\"label\", {\n for: \"roomName\"\n }, \"聊天室名称\", -1 /* HOISTED */)), _withDirectives(_createElementVNode(\"input\", {\n type: \"text\",\n id: \"roomName\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $data.newRoomName = $event),\n placeholder: \"输入聊天室名称\"\n }, null, 512 /* NEED_PATCH */), [[_vModelText, $data.newRoomName]])]), _createElementVNode(\"div\", _hoisted_23, [_createElementVNode(\"button\", {\n onClick: _cache[7] || (_cache[7] = (...args) => $options.createRoom && $options.createRoom(...args)),\n class: \"create-btn\",\n disabled: !$data.newRoomName.trim()\n }, \"创建\", 8 /* PROPS */, _hoisted_24), _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = $event => $data.showCreateRoomModal = false),\n class: \"cancel-btn\"\n }, \"取消\")])])])) : _createCommentVNode(\"v-if\", true)]);\n}","map":{"version":3,"names":["class","ref","_createElementBlock","_hoisted_1","_createElementVNode","$data","loading","_hoisted_2","_cache","error","_hoisted_3","_toDisplayString","onClick","args","$options","fetchRooms","_hoisted_4","_createCommentVNode","_hoisted_5","_hoisted_6","$event","showCreateRoomModal","_hoisted_7","_Fragment","_renderList","rooms","room","key","id","_normalizeClass","active","currentRoom","joinRoom","_hoisted_9","name","_hoisted_10","creator","length","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","leaveRoom","_hoisted_15","messages","msg","isCurrentUser","user_id","username","_hoisted_16","formatTime","created_at","message","_hoisted_17","notifications","notification","_hoisted_18","type","newMessage","placeholder","onKeyup","_withKeys","sendMessage","disabled","trim","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","for","newRoomName","_hoisted_23","createRoom","_hoisted_24"],"sources":["D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\ChatRoom.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/goldminer/frontend/node_modules/.cache/babel-loader/cc6ca55790ce06b0d3a38d6c82998638025d37e2b0d25b48b5724ab7c95f99fb.json b/goldminer/frontend/node_modules/.cache/babel-loader/cc6ca55790ce06b0d3a38d6c82998638025d37e2b0d25b48b5724ab7c95f99fb.json deleted file mode 100644 index e670104c..00000000 --- a/goldminer/frontend/node_modules/.cache/babel-loader/cc6ca55790ce06b0d3a38d6c82998638025d37e2b0d25b48b5724ab7c95f99fb.json +++ /dev/null @@ -1 +0,0 @@ -{"ast":null,"code":"import { createApp } from 'vue';\nimport App from './App.vue';\nimport router from './router';\nimport axios from 'axios';\n\n// 配置axios默认URL,使用当前主机名而不是硬编码的localhost\nconst currentHost = window.location.hostname;\naxios.defaults.baseURL = process.env.NODE_ENV === 'production' ? '' : `http://${currentHost}:5000`;\nconst app = createApp(App);\napp.use(router);\napp.mount('#app');","map":{"version":3,"names":["createApp","App","router","axios","currentHost","window","location","hostname","defaults","baseURL","process","env","NODE_ENV","app","use","mount"],"sources":["D:/学习/网络应用程序开发/pdf/goldminer/frontend/src/main.js"],"sourcesContent":["import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport axios from 'axios'\r\n\r\n// 配置axios默认URL,使用当前主机名而不是硬编码的localhost\r\nconst currentHost = window.location.hostname\r\naxios.defaults.baseURL = process.env.NODE_ENV === 'production' \r\n ? '' \r\n : `http://${currentHost}:5000`\r\n\r\nconst app = createApp(App)\r\napp.use(router)\r\napp.mount('#app') "],"mappings":"AAAA,SAASA,SAAS,QAAQ,KAAK;AAC/B,OAAOC,GAAG,MAAM,WAAW;AAC3B,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,KAAK,MAAM,OAAO;;AAEzB;AACA,MAAMC,WAAW,GAAGC,MAAM,CAACC,QAAQ,CAACC,QAAQ;AAC5CJ,KAAK,CAACK,QAAQ,CAACC,OAAO,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,GAC1D,EAAE,GACF,UAAUR,WAAW,OAAO;AAEhC,MAAMS,GAAG,GAAGb,SAAS,CAACC,GAAG,CAAC;AAC1BY,GAAG,CAACC,GAAG,CAACZ,MAAM,CAAC;AACfW,GAAG,CAACE,KAAK,CAAC,MAAM,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/goldminer/frontend/node_modules/.cache/babel-loader/e1e88b21e19be30dc863165bf3e5d288a1c68f185ceade3496701a8cd6b8848e.json b/goldminer/frontend/node_modules/.cache/babel-loader/e1e88b21e19be30dc863165bf3e5d288a1c68f185ceade3496701a8cd6b8848e.json deleted file mode 100644 index 96d9d7ee..00000000 --- a/goldminer/frontend/node_modules/.cache/babel-loader/e1e88b21e19be30dc863165bf3e5d288a1c68f185ceade3496701a8cd6b8848e.json +++ /dev/null @@ -1 +0,0 @@ -{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport \"core-js/modules/es.iterator.constructor.js\";\nimport \"core-js/modules/es.iterator.filter.js\";\nimport \"core-js/modules/es.iterator.map.js\";\nimport \"core-js/modules/es.set.difference.v2.js\";\nimport \"core-js/modules/es.set.intersection.v2.js\";\nimport \"core-js/modules/es.set.is-disjoint-from.v2.js\";\nimport \"core-js/modules/es.set.is-subset-of.v2.js\";\nimport \"core-js/modules/es.set.is-superset-of.v2.js\";\nimport \"core-js/modules/es.set.symmetric-difference.v2.js\";\nimport \"core-js/modules/es.set.union.v2.js\";\nimport axios from 'axios';\nexport default {\n name: 'ChatRoom',\n data() {\n return {\n loading: true,\n error: null,\n rooms: [],\n currentRoom: null,\n messages: [],\n notifications: [],\n newMessage: '',\n newRoomName: '',\n showCreateRoomModal: false,\n messagesContainer: null,\n currentUser: JSON.parse(localStorage.getItem('user') || '{}'),\n pollingInterval: null,\n isConnecting: false\n };\n },\n created() {\n this.fetchRooms();\n\n // 每10秒刷新房间列表\n setInterval(() => {\n this.fetchRooms();\n }, 10000);\n },\n beforeUnmount() {\n this.stopPolling();\n },\n methods: {\n // 获取聊天室列表\n async fetchRooms() {\n this.loading = true;\n this.error = null;\n try {\n const response = await axios.get('/api/chat/rooms', {\n withCredentials: true\n });\n this.rooms = response.data.rooms;\n } catch (err) {\n console.error('获取聊天室列表失败:', err);\n this.error = '获取聊天室列表失败,请稍后重试';\n } finally {\n this.loading = false;\n }\n },\n // 创建聊天室\n async createRoom() {\n if (!this.newRoomName.trim()) return;\n try {\n const response = await axios.post('/api/chat/rooms', {\n name: this.newRoomName\n }, {\n withCredentials: true\n });\n this.newRoomName = '';\n await this.fetchRooms();\n\n // 自动加入创建的房间\n this.joinRoom(response.data.room);\n } catch (err) {\n console.error('创建聊天室失败:', err);\n alert('创建聊天室失败,请稍后重试');\n }\n },\n // 加入聊天室\n async joinRoom(room) {\n if (this.currentRoom && this.currentRoom.id === room.id) return;\n\n // 停止之前的轮询\n this.stopPolling();\n this.currentRoom = room;\n this.messages = [];\n this.notifications = [];\n try {\n // 获取聊天室历史消息\n const response = await axios.get(`/api/chat/rooms/${room.id}/messages`, {\n withCredentials: true\n });\n this.messages = response.data.messages;\n\n // 开始轮询新消息\n this.startPolling();\n\n // 滚动到底部\n this.$nextTick(() => {\n this.scrollToBottom();\n });\n } catch (err) {\n console.error('加入聊天室失败:', err);\n alert('加入聊天室失败,请稍后重试');\n this.currentRoom = null;\n }\n },\n // 离开聊天室\n leaveRoom() {\n if (!this.currentRoom) return;\n\n // 停止轮询\n this.stopPolling();\n this.currentRoom = null;\n this.messages = [];\n this.notifications = [];\n },\n // 发送消息\n async sendMessage() {\n if (!this.newMessage.trim() || !this.currentRoom) return;\n try {\n await axios.post('/api/chat/send', {\n room_id: this.currentRoom.id,\n message: this.newMessage\n }, {\n withCredentials: true\n });\n\n // UDP不保证消息到达,所以这里我们模拟一条本地消息\n const localMessage = {\n id: Date.now(),\n user_id: this.currentUser.username,\n username: this.currentUser.username,\n message: this.newMessage,\n created_at: new Date().toISOString()\n };\n this.messages.push(localMessage);\n\n // 清空输入框\n this.newMessage = '';\n\n // 滚动到底部\n this.$nextTick(() => {\n this.scrollToBottom();\n });\n } catch (err) {\n console.error('发送消息失败:', err);\n }\n },\n // 开始轮询获取新消息\n startPolling() {\n if (this.pollingInterval) return;\n this.pollingInterval = setInterval(async () => {\n if (!this.currentRoom) return;\n try {\n const response = await axios.get(`/api/chat/poll/${this.currentRoom.id}`, {\n withCredentials: true\n });\n\n // 更新消息列表,保留本地消息\n if (response.data && response.data.length > 0) {\n // 合并本地和服务器消息,避免重复\n const existingIds = new Set(this.messages.map(m => m.id));\n const newMessages = response.data.filter(m => !existingIds.has(m.id));\n if (newMessages.length > 0) {\n this.messages = [...this.messages, ...newMessages];\n\n // 滚动到底部\n this.$nextTick(() => {\n this.scrollToBottom();\n });\n }\n }\n } catch (error) {\n console.error('轮询消息失败', error);\n }\n }, 2000); // 每2秒轮询一次\n },\n // 停止轮询\n stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n this.pollingInterval = null;\n }\n },\n // 格式化时间\n formatTime(dateString) {\n if (!dateString) return '';\n const date = new Date(dateString);\n return date.toLocaleTimeString('zh-CN', {\n hour: '2-digit',\n minute: '2-digit'\n });\n },\n // 滚动到底部\n scrollToBottom() {\n const container = this.$refs.messagesContainer;\n if (container) {\n container.scrollTop = container.scrollHeight;\n }\n },\n // 检查是否是当前用户\n isCurrentUser(userId) {\n return this.currentUser && this.currentUser.id === userId;\n }\n }\n};","map":{"version":3,"names":["axios","name","data","loading","error","rooms","currentRoom","messages","notifications","newMessage","newRoomName","showCreateRoomModal","messagesContainer","currentUser","JSON","parse","localStorage","getItem","pollingInterval","isConnecting","created","fetchRooms","setInterval","beforeUnmount","stopPolling","methods","response","get","withCredentials","err","console","createRoom","trim","post","joinRoom","room","alert","id","startPolling","$nextTick","scrollToBottom","leaveRoom","sendMessage","room_id","message","localMessage","Date","now","user_id","username","created_at","toISOString","push","length","existingIds","Set","map","m","newMessages","filter","has","clearInterval","formatTime","dateString","date","toLocaleTimeString","hour","minute","container","$refs","scrollTop","scrollHeight","isCurrentUser","userId"],"sources":["D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\ChatRoom.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/goldminer/frontend/node_modules/.cache/eslint/123ee647.json b/goldminer/frontend/node_modules/.cache/eslint/123ee647.json index b246fd38..5d8fd632 100644 --- a/goldminer/frontend/node_modules/.cache/eslint/123ee647.json +++ b/goldminer/frontend/node_modules/.cache/eslint/123ee647.json @@ -1 +1 @@ -[{"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\main.js":"1","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\App.vue":"2","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\router.js":"3","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Home.vue":"4","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Register.vue":"5","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Game.vue":"6","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Login.vue":"7","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\UserProfile.vue":"8","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\ChatRoom.vue":"9","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Leaderboard.vue":"10","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Header.vue":"11"},{"size":420,"mtime":1750175162366,"results":"12","hashOfConfig":"13"},{"size":1004,"mtime":1750128639386,"results":"14","hashOfConfig":"13"},{"size":1555,"mtime":1750147385472,"results":"15","hashOfConfig":"13"},{"size":5735,"mtime":1750130209089,"results":"16","hashOfConfig":"13"},{"size":4492,"mtime":1750147385471,"results":"17","hashOfConfig":"13"},{"size":26829,"mtime":1750130209088,"results":"18","hashOfConfig":"13"},{"size":3647,"mtime":1750147385470,"results":"19","hashOfConfig":"13"},{"size":11652,"mtime":1750130209090,"results":"20","hashOfConfig":"13"},{"size":16278,"mtime":1750176402240,"results":"21","hashOfConfig":"13"},{"size":13225,"mtime":1750128639387,"results":"22","hashOfConfig":"13"},{"size":4152,"mtime":1750147491182,"results":"23","hashOfConfig":"13"},{"filePath":"24","messages":"25","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"i331ru",{"filePath":"26","messages":"27","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"28","messages":"29","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"30","messages":"31","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"32","messages":"33","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"34","messages":"35","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"38","messages":"39","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"40","messages":"41","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"42","messages":"43","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"44","messages":"45","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\main.js",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\App.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\router.js",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Home.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Register.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Game.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Login.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\UserProfile.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\ChatRoom.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Leaderboard.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Header.vue",[]] \ No newline at end of file +[{"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\main.js":"1","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\App.vue":"2","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\router.js":"3","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Home.vue":"4","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Register.vue":"5","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Game.vue":"6","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Login.vue":"7","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\UserProfile.vue":"8","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\ChatRoom.vue":"9","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Leaderboard.vue":"10","D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Header.vue":"11"},{"size":407,"mtime":1750159657634,"results":"12","hashOfConfig":"13"},{"size":1004,"mtime":1750128639386,"results":"14","hashOfConfig":"13"},{"size":1555,"mtime":1750147385472,"results":"15","hashOfConfig":"13"},{"size":5735,"mtime":1750130209089,"results":"16","hashOfConfig":"13"},{"size":4492,"mtime":1750147385471,"results":"17","hashOfConfig":"13"},{"size":26829,"mtime":1750130209088,"results":"18","hashOfConfig":"13"},{"size":3647,"mtime":1750147385470,"results":"19","hashOfConfig":"13"},{"size":11652,"mtime":1750130209090,"results":"20","hashOfConfig":"13"},{"size":16278,"mtime":1750130209087,"results":"21","hashOfConfig":"13"},{"size":13225,"mtime":1750128639387,"results":"22","hashOfConfig":"13"},{"size":4152,"mtime":1750147491182,"results":"23","hashOfConfig":"13"},{"filePath":"24","messages":"25","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"i331ru",{"filePath":"26","messages":"27","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"28","messages":"29","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"30","messages":"31","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"32","messages":"33","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"34","messages":"35","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"38","messages":"39","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"40","messages":"41","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"42","messages":"43","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"44","messages":"45","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\main.js",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\App.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\router.js",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Home.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Register.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Game.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Login.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\UserProfile.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\ChatRoom.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Leaderboard.vue",[],"D:\\学习\\网络应用程序开发\\pdf\\goldminer\\frontend\\src\\components\\Header.vue",[]] \ No newline at end of file diff --git a/goldminer/start.bat b/goldminer/start.bat index 4e460151..a5f27312 100644 --- a/goldminer/start.bat +++ b/goldminer/start.bat @@ -65,7 +65,7 @@ echo =================================== echo Starting Backend Server... echo Backend will listen on all network interfaces (0.0.0.0:5000) echo =================================== -python app.py +python -c "from app import socketio, app; socketio.run(app, host='0.0.0.0', port=5000, debug=True)" pause if "%1"=="" goto menu exit /b