From 9ccaa56da382f4d7fb9efc9aa4caac83cb894688 Mon Sep 17 00:00:00 2001 From: WangJing Date: Tue, 29 Jul 2025 13:54:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chat-client/.env | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 chat-client/.env diff --git a/chat-client/.env b/chat-client/.env new file mode 100644 index 0000000..a78fd67 --- /dev/null +++ b/chat-client/.env @@ -0,0 +1,97 @@ +# Vab Admin 系列产品受国家计算机软件著作权保护(证书号:软著登字第 7051316 号)。 +# 关于举报盗版侵权:请发送举报材料至我司客服邮箱1204505056@qq.com,一经查实,官司所得收入20%归举报人所有,80%归律师事务所所有。 +# Vue Admin系列产品购买地址:https://vue-admin-beautiful.com/authorization +# 1.购买者可将授权后的产品用于任意「符合国家法律法规」的应用平台,禁止用于黄赌毒等危害国家安全与稳定的网站。 +# 2.购买主体购买后可用于开发商业项目,不限制域名和项目数量,购买主体不可将源码分享第三方,否则我们有权利收回产品授权及更新权限,并根据事态轻重追究相应法律责任。 +# 3.购买者务必尊重知识产权,严格保证不恶意传播产品源码、不得直接对授权的产品本身进行二次转售或倒卖、开源、不得对授权的产品进行简单包装后声称为自己的产品等,无论有意或无意,我们有权利收回产品授权及更新权限,并根据事态轻重追究相应法律责任。 +# 4.购买者不可将vip群文档及资料分享给第三方,否则我们有权利收回产品授权及更新权限,并根据事态轻重追究相应法律责任。 +# 5.购买者购买项目不可以用来构建存在竞争性质的产品并直接对外销售否则我们有权利收回产品授权及更新权限,并根据事态轻重追究相应法律责任。 +# 6.购买者购买项目中的源码(包含全部源码、及部分源码片段)不可以用于任何形式的开源项目,否则我们有权利收回产品授权及更新权限,并根据事态轻重追究相应法律责任。 +# 7.用于公司的项目商用时购买需提供公司名称,用于证明购买过我们的项目来用于商业用途,防范法律风险,我们不会将【购买公司】信息泄漏到互联网或告知第三方。 +# 8.用于个人学习需提供姓名、联系方式。 +# 9.如用于外包项目,购买者购买项目中的源码不可直接对外出售,npm run build编译后的项目不受限制。 +# 10.虚拟物品不支持退货退款。 +# 11.最终解释权归vab系列著作权人所有。 + VUE_GITHUB_USER_NAME=MichaelFindSpace + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# 以下内容不建议修改建议将VUE_APP_SECRET_KEY配置到【.env.local】中 +VUE_APP_SECRET_KEY=preview + + + From 631ca18ce57a7a7cd0e8496962efa72ea16ceeb7 Mon Sep 17 00:00:00 2001 From: WangJing Date: Tue, 29 Jul 2025 15:14:47 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E6=8E=A7=E4=BB=B6=E6=9C=AA=E6=AD=A3=E7=A1=AE=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/chatweb/components/ChatBox.vue | 41 +++++++++++-------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/chat-client/src/views/chatweb/components/ChatBox.vue b/chat-client/src/views/chatweb/components/ChatBox.vue index 2116a55..28c6dcb 100644 --- a/chat-client/src/views/chatweb/components/ChatBox.vue +++ b/chat-client/src/views/chatweb/components/ChatBox.vue @@ -3,7 +3,7 @@
@@ -24,7 +24,7 @@ :class="{ 'active': currentChatIndex === index }" @click="switchChat(index)" > - {{ chat.title || $t('vabI18n.chat.chat') + ` ${index + 1}` }} + {{ chat.title || t('vabI18n.chat.chat') + ` ${index + 1}` }} {{ formatTime(chat.timestamp) }}
@@ -51,14 +51,14 @@ - {{ $t('vabI18n.chat.assistant') }} +
- {{ msg.isUser ? $t('vabI18n.chat.you') : $t('vabI18n.chat.assistant') }} + {{ msg.isUser ? t('vabI18n.chat.you') : t('vabI18n.chat.assistant') }}
@@ -70,7 +70,7 @@ type="textarea" :autosize="{ minRows: 3, maxRows: 8 }" class="edit-textarea" - placeholder="{{ $t('vabI18n.chat.placeholder') }}" + :placeholder="$t('vabI18n.chat.placeholder')" @keydown.enter.ctrl="handleSaveEdit" @keydown.escape="handleCancelEdit" /> @@ -79,14 +79,14 @@ @click="handleCancelEdit" class="edit-btn cancel-btn" > - {{ $t('vabI18n.chat.cancel') }} + {{ t('vabI18n.chat.cancel') }}
@@ -101,7 +101,7 @@ - {{ $t('vabI18n.chat.think') }} + {{ t('vabI18n.chat.think') }}
{{ parseThink(msg.text).think }} @@ -137,7 +137,7 @@ - {{ $t('vabI18n.chat.sources') }} + {{ t('vabI18n.chat.sources') }}
@@ -324,7 +324,7 @@
@@ -332,7 +332,7 @@ @@ -352,7 +352,7 @@ { // 获取文件类型图标 - 使用动态导入确保路径正确 const getFileTypeIcon = (fileType: string) => { - // 使用动态导入获取图标路径 + const icons = require.context('@/assets/img/filetype-icon', false, /\.png$/) + // console.log(icons) + // console.log('所有图标 keys:', icons.keys()) + const getIconUrl = (iconName: string) => { - return new URL(require(`@/assets/img/filetype-icon/${iconName}.png`), import.meta.url).href + const fullName = `./${iconName}.png` + if (icons.keys().includes(fullName)) { + return icons(fullName) + } else { + // console.warn('图标不存在:', fullName) + return '' + } } const iconMap: Record = { From 7f792a9ce551ad0a9b9b0c2fae08cec408ddf138 Mon Sep 17 00:00:00 2001 From: WangJing Date: Tue, 29 Jul 2025 15:16:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98,?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A0=E8=BD=BD=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasets/components/DocumentList.vue | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/chat-client/src/views/datasets/components/DocumentList.vue b/chat-client/src/views/datasets/components/DocumentList.vue index a99d9e3..cbc7401 100644 --- a/chat-client/src/views/datasets/components/DocumentList.vue +++ b/chat-client/src/views/datasets/components/DocumentList.vue @@ -339,14 +339,19 @@ const renameForm = reactive({ }) const getFileTypeIcon = (fileType: string) => { - // 使用动态导入获取图标路径 - // const getIconUrl = (iconName: string) => { - // return new URL(require(`@/assets/img/filetype-icon/${iconName}.png`), import.meta.url).href - // } - const getIconUrl = (iconName: string) => { - return new URL(`/src/assets/img/filetype-icon/${iconName}.png`, import.meta.url).href -} + const icons = require.context('@/assets/img/filetype-icon', false, /\.png$/) + // console.log(icons) + // console.log('所有图标 keys:', icons.keys()) + const getIconUrl = (iconName: string) => { + const fullName = `./${iconName}.png` + if (icons.keys().includes(fullName)) { + return icons(fullName) + } else { + // console.warn('图标不存在:', fullName) + return '' + } + } const iconMap: Record = { 'pdf': getIconUrl('pdf'),