diff --git a/package-lock.json b/package-lock.json index a56dd8d..7aface2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@element-plus/icons-vue": "^2.3.1", "axios": "^1.7.9", "element-plus": "^2.9.4", + "stream": "^0.0.3", "vue": "^3.5.13", "vue-router": "^4.5.0" }, @@ -1100,6 +1101,17 @@ "node": ">= 0.8" } }, + "node_modules/component-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-2.0.0.tgz", + "integrity": "sha512-4m5s3Me2xxlVKG9PkZpQqHQR7bgpnN7joDMJ4yvVkVXngjoITG76IaZmzmywSeRTeTpc6N6r3H3+KyUurV8OYw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", @@ -1598,6 +1610,14 @@ "node": ">=0.10.0" } }, + "node_modules/stream": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/stream/-/stream-0.0.3.tgz", + "integrity": "sha512-aMsbn7VKrl4A2T7QAQQbzgN7NVc70vgF5INQrBXqn4dCXN1zy3L9HGgLO5s7PExmdrzTJ8uR/27aviW8or8/+A==", + "dependencies": { + "component-emitter": "^2.0.0" + } + }, "node_modules/vite": { "version": "6.1.1", "resolved": "https://registry.npmmirror.com/vite/-/vite-6.1.1.tgz", diff --git a/package.json b/package.json index 2277a63..62a6fef 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@element-plus/icons-vue": "^2.3.1", "axios": "^1.7.9", "element-plus": "^2.9.4", + "stream": "^0.0.3", "vue": "^3.5.13", "vue-router": "^4.5.0" }, diff --git a/src/store/userPermissionCode.js b/src/store/userPermissionCode.js index 600daa3..b8f342f 100644 --- a/src/store/userPermissionCode.js +++ b/src/store/userPermissionCode.js @@ -23,6 +23,23 @@ export const useUserInfo = () => { return '' } + const getSessionId = (sessionID,data) => { + const query = data + const vars = query.split(',') + // console.log('vars', vars) + for (let i = 0; i < vars.length; i++) { + const pair = vars[i].split(':') + // console.log('pair', pair) + if (pair[0].includes(sessionID)) { + const sessionId = pair[1].split('"')[1]; + // console.log('sessionId', sessionId) + return sessionId + } + } + + return '' + } + const fetchUserInfo = async () => { getAppToken.value = localStorage.getItem('localToken') ? String(localStorage.getItem('localToken')) @@ -51,7 +68,7 @@ export const useUserInfo = () => { } onMounted(() => { - init() + }) return { @@ -60,6 +77,7 @@ export const useUserInfo = () => { isReady, init, fetchUserInfo, - getQueryVariable + getQueryVariable, + getSessionId } } \ No newline at end of file diff --git a/src/views/aaa.vue b/src/views/aaa.vue new file mode 100644 index 0000000..1089fa7 --- /dev/null +++ b/src/views/aaa.vue @@ -0,0 +1,473 @@ + + + + + + 夺宝奇兵智能客服 + + + + + + + + + + + + {{ message.content }} + + + + + + + {{ formatTime(message.timestamp) }} + + + + + + + + + + + + + 机器人正在思考 + + + + + + + + + + + + + 发送 + + + + + + + 用户未登录 + + + + + \ No newline at end of file diff --git a/src/views/chat.vue b/src/views/chat.vue index 3ff3c58..5f9ee8f 100644 --- a/src/views/chat.vue +++ b/src/views/chat.vue @@ -1,9 +1,14 @@ @@ -183,15 +227,8 @@ onMounted(async () => { - - - - {{ message.content }} - - - - - {{ message.content }} + + {{ formatTime(message.timestamp) }} @@ -232,7 +269,17 @@ onMounted(async () => { + \ No newline at end of file