mirror of
https://github.com/jumpserver/lina.git
synced 2025-09-21 02:59:07 +00:00
perf: 优化chat提示
This commit is contained in:
@@ -22,5 +22,6 @@ VUE_APP_LOGOUT_PATH = '/core/auth/logout/'
|
|||||||
# Dev server for core proxy
|
# Dev server for core proxy
|
||||||
VUE_APP_CORE_HOST = 'http://localhost:8080'
|
VUE_APP_CORE_HOST = 'http://localhost:8080'
|
||||||
VUE_APP_CORE_WS = 'ws://localhost:8080'
|
VUE_APP_CORE_WS = 'ws://localhost:8080'
|
||||||
|
VUE_APP_KAEL_HOST = 'http://localhost:8083'
|
||||||
VUE_APP_KAEL_WS = 'ws://localhost:8083'
|
VUE_APP_KAEL_WS = 'ws://localhost:8083'
|
||||||
VUE_APP_ENV = 'development'
|
VUE_APP_ENV = 'development'
|
||||||
|
@@ -90,9 +90,10 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initWebSocket() {
|
initWebSocket() {
|
||||||
|
const api = '/kael/chat/system/'
|
||||||
const protocol = window.location.protocol === 'https:' ? 'wss' : 'ws'
|
const protocol = window.location.protocol === 'https:' ? 'wss' : 'ws'
|
||||||
const path = `${protocol}://${window.location.host}/kael/chat/system/`
|
const path = `${protocol}://${window.location.host}${api}`
|
||||||
const localPath = process.env.VUE_APP_KAEL_WS + '/kael/chat/system/'
|
const localPath = process.env.VUE_APP_KAEL_WS + api
|
||||||
const url = process.env.NODE_ENV === 'development' ? localPath : path
|
const url = process.env.NODE_ENV === 'development' ? localPath : path
|
||||||
createWebSocket(url, this.onWebSocketMessage)
|
createWebSocket(url, this.onWebSocketMessage)
|
||||||
},
|
},
|
||||||
@@ -174,15 +175,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
onStopHandle() {
|
onStopHandle() {
|
||||||
const { protocol, host } = window.location
|
|
||||||
const { NODE_ENV, VUE_APP_KAEL_WS } = process.env || {}
|
|
||||||
const api = '/kael/chat/system/interrupt_current_ask/'
|
|
||||||
const path = `${protocol}://${host}`
|
|
||||||
const index = VUE_APP_KAEL_WS.indexOf('//')
|
|
||||||
const localPath = protocol + VUE_APP_KAEL_WS.substring(index, VUE_APP_KAEL_WS.length) + api
|
|
||||||
const url = NODE_ENV === 'development' ? localPath : path
|
|
||||||
this.$axios.post(
|
this.$axios.post(
|
||||||
url,
|
'/kael/chat/system/interrupt_current_ask/',
|
||||||
{ id: this.currentConversationId || '' }
|
{ id: this.currentConversationId || '' }
|
||||||
).finally(() => {
|
).finally(() => {
|
||||||
removeLoadingMessageInChat()
|
removeLoadingMessageInChat()
|
||||||
|
@@ -1,12 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<svg-icon icon-class="collapse" @click="onClose" />
|
<el-tooltip effect="dark" placement="left" :content="$tc('common.CollapseSidebar')">
|
||||||
|
<svg-icon icon-class="collapse" @click="onClose" />
|
||||||
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<el-tabs v-model="active" :tab-position="'right'" @tab-click="handleClick">
|
<el-tabs v-model="active" :tab-position="'right'" @tab-click="handleClick">
|
||||||
<el-tab-pane v-for="(item) in submenu" :key="item.name" :label="item.label" :name="item.name">
|
<el-tab-pane v-for="(item) in submenu" :key="item.name" :name="item.name">
|
||||||
<span slot="label">
|
<span slot="label">
|
||||||
<svg-icon :icon-class="item.icon" />
|
<el-tooltip effect="dark" placement="left" :content="item.label">
|
||||||
|
<svg-icon :icon-class="item.icon" />
|
||||||
|
</el-tooltip>
|
||||||
</span>
|
</span>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -50,12 +54,20 @@ export default {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 14px 0;
|
padding: 14px 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
>>> .svg-icon {
|
||||||
|
&:hover {
|
||||||
|
color: #7b8085;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
>>> .el-tabs {
|
>>> .el-tabs {
|
||||||
.el-tabs__item {
|
.el-tabs__item {
|
||||||
padding: 0 13px;
|
padding: 0 13px;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
|
:hover {
|
||||||
|
color: #7b8085;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@@ -48,7 +48,7 @@ export default {
|
|||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
name: 'chat',
|
name: 'chat',
|
||||||
label: 'chat',
|
label: this.$t('common.Chat'),
|
||||||
icon: 'chat'
|
icon: 'chat'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -196,6 +196,9 @@ export default {
|
|||||||
// left: -52px !important;
|
// left: -52px !important;
|
||||||
// width: 52px !important;
|
// width: 52px !important;
|
||||||
background-color: rgba(182, 181, 186, .9);
|
background-color: rgba(182, 181, 186, .9);
|
||||||
|
img {
|
||||||
|
filter: grayscale(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
i {
|
i {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
@@ -740,6 +740,7 @@
|
|||||||
"Reconnect": "Reconnect",
|
"Reconnect": "Reconnect",
|
||||||
"NewChat": "New Chat",
|
"NewChat": "New Chat",
|
||||||
"Chat": "Chat",
|
"Chat": "Chat",
|
||||||
|
"CollapseSidebar": "Collapse the sidebar",
|
||||||
"introduction": {
|
"introduction": {
|
||||||
"ConceptTitle": "🤔 Explain a complex concept",
|
"ConceptTitle": "🤔 Explain a complex concept",
|
||||||
"ConceptContent": "Tell me something about the Big Bang so that I can explain it to my 5-year-old child",
|
"ConceptContent": "Tell me something about the Big Bang so that I can explain it to my 5-year-old child",
|
||||||
|
@@ -741,6 +741,7 @@
|
|||||||
"Reconnect": "再接続",
|
"Reconnect": "再接続",
|
||||||
"NewChat": "新しいチャット",
|
"NewChat": "新しいチャット",
|
||||||
"Chat": "チャット",
|
"Chat": "チャット",
|
||||||
|
"CollapseSidebar": "サイドバーを閉じる",
|
||||||
"introduction": {
|
"introduction": {
|
||||||
"ConceptTitle": "🤔 複雑な概念を説明する",
|
"ConceptTitle": "🤔 複雑な概念を説明する",
|
||||||
"ConceptContent": "ビッグバンについて教えてください。5歳の子供に説明することができます",
|
"ConceptContent": "ビッグバンについて教えてください。5歳の子供に説明することができます",
|
||||||
|
@@ -792,6 +792,7 @@
|
|||||||
"Reconnect": "重新连接",
|
"Reconnect": "重新连接",
|
||||||
"NewChat": "新聊天",
|
"NewChat": "新聊天",
|
||||||
"Chat": "聊天",
|
"Chat": "聊天",
|
||||||
|
"CollapseSidebar": "收起侧边栏",
|
||||||
"introduction": {
|
"introduction": {
|
||||||
"ConceptTitle": "🤔 解释一个复杂的概念",
|
"ConceptTitle": "🤔 解释一个复杂的概念",
|
||||||
"ConceptContent": "告诉我一些关于大爆炸的事情,这样我就可以向我 5 岁的孩子解释",
|
"ConceptContent": "告诉我一些关于大爆炸的事情,这样我就可以向我 5 岁的孩子解释",
|
||||||
|
@@ -74,6 +74,11 @@ module.exports = {
|
|||||||
target: 'http://127.0.0.1:4200',
|
target: 'http://127.0.0.1:4200',
|
||||||
changeOrigin: true
|
changeOrigin: true
|
||||||
},
|
},
|
||||||
|
'/kael/': {
|
||||||
|
target: process.env.VUE_APP_KAEL_HOST,
|
||||||
|
changeOrigin: true,
|
||||||
|
ws: true
|
||||||
|
},
|
||||||
'^/(core|static|media)/': {
|
'^/(core|static|media)/': {
|
||||||
target: process.env.VUE_APP_CORE_HOST,
|
target: process.env.VUE_APP_CORE_HOST,
|
||||||
changeOrigin: true
|
changeOrigin: true
|
||||||
|
Reference in New Issue
Block a user