Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jinchat-server
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
aigc-pioneer
jinchat-server
Commits
4f88ed79
提交
4f88ed79
authored
5月 17, 2023
作者:
root
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1: fixed bug of ui in mobile
2: add backgound image
上级
cb846690
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
90 行增加
和
5 行删除
+90
-5
bg.jpg
views/src/assets/bg.jpg
+0
-0
index.vue
views/src/views/chat/index.vue
+90
-4
index.vue
views/src/views/chat/layout/sider/knowledge-base/index.vue
+0
-1
没有找到文件。
views/src/assets/bg.jpg
0 → 100644
浏览文件 @
4f88ed79
715.9 KB
views/src/views/chat/index.vue
浏览文件 @
4f88ed79
...
...
@@ -3,7 +3,7 @@ import type { Ref } from 'vue'
import
{
computed
,
onMounted
,
onUnmounted
,
ref
}
from
'vue'
import
{
useRoute
}
from
'vue-router'
import
{
storeToRefs
}
from
'pinia'
import
{
NAutoComplete
,
NButton
,
NInput
,
NRadioButton
,
NRadioGroup
,
useDialog
,
useMessage
}
from
'naive-ui'
import
{
NAutoComplete
,
NButton
,
N
Dropdown
,
N
Input
,
NRadioButton
,
NRadioGroup
,
useDialog
,
useMessage
}
from
'naive-ui'
import
html2canvas
from
'html2canvas'
import
{
Message
}
from
'./components'
import
{
useScroll
}
from
'./hooks/useScroll'
...
...
@@ -11,13 +11,14 @@ import { useChat } from './hooks/useChat'
import
{
useUsingContext
}
from
'./hooks/useUsingContext'
import
HeaderComponent
from
'./components/Header/index.vue'
import
{
HoverButton
,
SvgIcon
}
from
'@/components/common'
import
{
useIconRender
}
from
'@/hooks/useIconRender'
import
{
useBasicLayout
}
from
'@/hooks/useBasicLayout'
import
{
useChatStore
,
usePromptStore
}
from
'@/store'
import
{
t
}
from
'@/locales'
import
{
bing_search
,
chat
,
chatfile
}
from
'@/api/chat'
import
{
idStore
}
from
'@/store/modules/knowledgebaseid/id'
let
controller
=
new
AbortController
()
const
{
iconRender
}
=
useIconRender
()
// const openLongReply = import.meta.env.VITE_GLOB_OPEN_LONG_REPLY === 'true'
const
route
=
useRoute
()
...
...
@@ -525,7 +526,57 @@ const footerClass = computed(() => {
classes
=
[
'sticky'
,
'left-0'
,
'bottom-0'
,
'right-0'
,
'p-2'
,
'pr-3'
,
'overflow-hidden'
]
return
classes
})
const
options
=
computed
(()
=>
{
const
common
=
[
{
label
:
'对话'
,
key
:
'对话'
,
icon
:
iconRender
({
icon
:
'ri-chat-1-line'
}),
},
{
label
:
'知识库'
,
key
:
'知识库'
,
icon
:
iconRender
({
icon
:
'ri-store-2-line'
}),
},
{
label
:
'Bing搜索'
,
key
:
'Bing搜索'
,
icon
:
iconRender
({
icon
:
'ri-search-line'
}),
},
{
type
:
'divider'
,
key
:
'd1'
,
},
{
label
:
'清除会话'
,
key
:
'清除会话'
,
icon
:
iconRender
({
icon
:
'ri:delete-bin-line'
}),
},
]
return
common
})
function
handleSelect
(
key
:
'copyText'
|
'delete'
|
'toggleRenderType'
)
{
if
(
key
==
'清除会话'
)
{
handleClear
()
}
else
{
search
.
value
=
key
searchfun
()
ms
.
success
(
`切换
${
key
}
成功!`
)
}
// switch (key) {
// case 'copyText':
// handleCopy()
// return
// case 'toggleRenderType':
// asRawText.value = !asRawText.value
// return
// case 'delete':
// emit('delete')
// }
}
onMounted
(()
=>
{
scrollToBottom
()
if
(
inputRef
.
value
&&
!
isMobile
.
value
)
...
...
@@ -595,16 +646,27 @@ function searchfun() {
<footer
:class=
"footerClass"
>
<div
class=
"w-full max-w-screen-xl m-auto"
>
<div
class=
"flex items-center justify-between space-x-2"
>
<NRadioGroup
v-model:value=
"search"
@
change=
"searchfun"
>
<NRadioGroup
v-
if=
"!isMobile"
v-
model:value=
"search"
@
change=
"searchfun"
>
<NRadioButton
value=
"对话"
label=
"对话"
/>
<NRadioButton
value=
"知识库"
label=
"知识库"
/>
<NRadioButton
value=
"Bing搜索"
label=
"Bing搜索"
/>
</NRadioGroup>
<HoverButton
@
click=
"handleClear"
>
<HoverButton
v-if=
"!isMobile"
@
click=
"handleClear"
>
<span
class=
"text-xl text-[#4f555e] dark:text-white"
>
<SvgIcon
icon=
"ri:delete-bin-line"
/>
</span>
</HoverButton>
<NDropdown
v-if=
"isMobile"
:trigger=
"isMobile ? 'click' : 'hover'"
:placement=
"!inversion ? 'right' : 'left'"
:options=
"options"
@
select=
"handleSelect"
>
<button>
<SvgIcon
icon=
"ri:more-2-fill"
/>
</button>
</NDropdown>
<HoverButton
v-if=
"!isMobile"
@
click=
"handleExport"
>
<span
class=
"text-xl text-[#4f555e] dark:text-white"
>
<SvgIcon
icon=
"ri:download-2-line"
/>
...
...
@@ -642,3 +704,27 @@ function searchfun() {
</footer>
</div>
</template>
<
style
>
#app
{
background-image
:
url(../../assets/bg.jpg)
;
background-size
:
100%
100%
;
}
.bg-green-50
{
background-color
:
rgba
(
250
,
250
,
250
,
0
);
}
.n-layout
{
background-color
:
rgba
(
250
,
250
,
250
,
0.5
);
}
.n-layout-sider
{
background-color
:
rgba
(
250
,
250
,
250
,
0.5
);
}
.n-switch__button
{
font-size
:
10px
;
}
.shadow-md
{
box-shadow
:
0
12px
40px
0
rgba
(
148
,
186
,
215
,
.2
);
border
:
1px
solid
;
}
</
style
>
views/src/views/chat/layout/sider/knowledge-base/index.vue
浏览文件 @
4f88ed79
...
...
@@ -34,7 +34,6 @@ const rules = {
},
}
const
handleValidateClick
=
(
item
:
any
)
=>
{
// console.log(item)
choice
.
value
=
item
store
.
knowledgeid
=
choice
.
value
items
.
value
.
forEach
((
res
:
{
value
:
any
;
show
:
boolean
})
=>
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论