Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
inscode
NodeJS_639770
提交
eaa72034
N
NodeJS_639770
项目概览
inscode
/
NodeJS_639770
与 Fork 源项目一致
Fork自
inscode / NodeJS
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NodeJS_639770
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
eaa72034
编写于
5月 17, 2024
作者:
View Design
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'main' of gitcode.com:git_bot/ai-fe
上级
9b1f1634
1000f6c4
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
36 addition
and
16 deletion
+36
-16
pages/search/[id].vue
pages/search/[id].vue
+36
-16
未找到文件。
pages/search/[id].vue
浏览文件 @
eaa72034
...
@@ -99,11 +99,12 @@
...
@@ -99,11 +99,12 @@
<UDivider
v-if=
"index !== data.length - 1"
class=
"pt-3 pb-2"
/>
<UDivider
v-if=
"index !== data.length - 1"
class=
"pt-3 pb-2"
/>
</template>
</template>
<div
class=
"text-xl flex items-center space-x-1"
>
<div
class=
"text-xl flex items-center space-x-1"
v-if=
"recommendQuestions.length > 0 && !asking"
>
<UIcon
name=
"i-heroicons-rectangle-group-20-solid"
/>
<UIcon
name=
"i-heroicons-rectangle-group-20-solid"
/>
<span>
相关问题
</span>
<span>
相关问题
</span>
</div>
</div>
<UButton
<UButton
v-if=
"!asking"
v-for=
"item in recommendQuestions"
v-for=
"item in recommendQuestions"
color=
"gray"
color=
"gray"
size=
"md"
size=
"md"
...
@@ -155,6 +156,7 @@ const { fetchRequest } = useFetchRequest()
...
@@ -155,6 +156,7 @@ const { fetchRequest } = useFetchRequest()
const
repos
=
getMockRepo
()
const
repos
=
getMockRepo
()
const
initLoading
=
ref
(
true
)
const
initLoading
=
ref
(
true
)
const
editIndex
=
ref
(
0
)
const
editIndex
=
ref
(
0
)
const
{
y
}
=
useWindowScroll
();
// todo mock
// todo mock
const
repoItem
=
repos
.
find
(
item
=>
route
.
query
.
repo
===
item
.
label
)
const
repoItem
=
repos
.
find
(
item
=>
route
.
query
.
repo
===
item
.
label
)
const
state
=
reactive
({
const
state
=
reactive
({
...
@@ -167,7 +169,7 @@ const state = reactive({
...
@@ -167,7 +169,7 @@ const state = reactive({
const
scrollToView
=
()
=>
{
const
scrollToView
=
()
=>
{
const
$target
=
document
.
querySelector
(
'
#scrollElement
'
)
const
$target
=
document
.
querySelector
(
'
#scrollElement
'
)
const
height
=
$target
.
clientHeight
const
height
=
$target
.
clientHeight
window
.
scrollTo
(
0
,
height
,
{
behavior
:
'
smooth
'
})
y
.
value
=
height
;
}
}
const
isEditTitle
=
ref
(
false
)
const
isEditTitle
=
ref
(
false
)
const
titleRef
=
ref
(
null
)
const
titleRef
=
ref
(
null
)
...
@@ -208,17 +210,7 @@ const handleReGenerate = (index) => {
...
@@ -208,17 +210,7 @@ const handleReGenerate = (index) => {
const
data
=
ref
([])
const
data
=
ref
([])
const
recommendQuestions
=
[
const
recommendQuestions
=
ref
([]);
{
title
:
'
ViewUIPlus Select 组件如何按需加载
'
},
{
title
:
'
ViewUIPlus Select 组件如何按需加载
'
},
{
title
:
'
ViewUIPlus Select 组件如何按需加载
'
}
]
const
continueQuestion
=
ref
(
null
)
const
continueQuestion
=
ref
(
null
)
defineShortcuts
({
defineShortcuts
({
enter
:
{
enter
:
{
...
@@ -258,15 +250,17 @@ const handleFormFetchData = (fetchData) => {
...
@@ -258,15 +250,17 @@ const handleFormFetchData = (fetchData) => {
let
message
=
{}
let
message
=
{}
try
{
try
{
message
=
JSON
.
parse
(
fetchData
)
message
=
JSON
.
parse
(
fetchData
)
}
catch
(
error
)
{
}
catch
(
error
)
{
}
console
.
log
(
error
)
}
if
(
Object
.
keys
(
message
).
length
===
0
)
return
if
(
Object
.
keys
(
message
).
length
===
0
)
return
const
{
meta
,
choices
}
=
message
const
{
meta
,
choices
}
=
message
const
index
=
editIndex
.
value
const
index
=
editIndex
.
value
nextTick
(()
=>
{
nextTick
(()
=>
{
scrollToView
()
scrollToView
()
})
})
// 处理报错信息
if
(
!
meta
)
{
handleStopGenerate
();
}
if
(
meta
.
type
===
'
answer
'
)
{
if
(
meta
.
type
===
'
answer
'
)
{
Object
.
assign
(
data
.
value
[
index
],
{
Object
.
assign
(
data
.
value
[
index
],
{
ansLoading
:
true
,
ansLoading
:
true
,
...
@@ -321,10 +315,34 @@ const handleMessage = (event) => {
...
@@ -321,10 +315,34 @@ const handleMessage = (event) => {
const
handleStopGenerate
=
()
=>
{
const
handleStopGenerate
=
()
=>
{
asking
.
value
&&
aiChatController
&&
aiChatController
.
abort
()
asking
.
value
&&
aiChatController
&&
aiChatController
.
abort
()
asking
.
value
=
false
asking
.
value
=
false
data
.
value
.
forEach
(
item
=>
{
item
.
desLoading
=
false
;
item
.
ansLoading
=
false
;
})
}
}
const
handleError
=
(
event
)
=>
{
const
handleError
=
(
event
)
=>
{
handleStopGenerate
()
handleStopGenerate
()
}
}
const
fetchLinkedQuestion
=
(
query
)
=>
{
const
{
gitPath
,
id
}
=
state
const
messages
=
[]
messages
.
push
({
role
:
'
user
'
,
content
:
query
})
fetchRequest
(
'
/v1/chat/recomend_question
'
,
{
method
:
'
post
'
,
body
:
{
repo_path
:
gitPath
,
c_id
:
id
,
messages
,
rephrase_question
:
true
}
}).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
&&
res
.
data
.
items
)
{
recommendQuestions
.
value
=
res
.
data
.
items
.
map
(
item
=>
{
return
{
title
:
item
}
})
}
})
}
const
generateFetchData
=
(
query
)
=>
{
const
generateFetchData
=
(
query
)
=>
{
const
{
gitPath
,
id
}
=
state
const
{
gitPath
,
id
}
=
state
const
messages
=
[]
const
messages
=
[]
...
@@ -343,6 +361,8 @@ const generateFetchData = (query) => {
...
@@ -343,6 +361,8 @@ const generateFetchData = (query) => {
onerror
:
handleError
,
onerror
:
handleError
,
controller
:
aiChatController
controller
:
aiChatController
})
})
// 重新生成相关问题
fetchLinkedQuestion
(
query
)
}
}
onMounted
(()
=>
{
onMounted
(()
=>
{
generateFetchData
(
state
.
query
)
generateFetchData
(
state
.
query
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录