Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
inscode
NodeJS_639770
提交
55e171ef
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看板
提交
55e171ef
编写于
5月 27, 2024
作者:
D
DebugIsFalse
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 迁移请求代码
上级
ebaa5943
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
45 addition
and
41 deletion
+45
-41
pages/search/[id].vue
pages/search/[id].vue
+45
-41
未找到文件。
pages/search/[id].vue
浏览文件 @
55e171ef
...
@@ -54,6 +54,49 @@ const state = reactive({
...
@@ -54,6 +54,49 @@ const state = reactive({
branch
:
''
,
branch
:
''
,
gitPath
:
''
gitPath
:
''
})
})
const
data
=
ref
([])
const
askingData
=
ref
({
question
:
state
.
query
,
desLoading
:
true
})
const
recommendQuestions
=
ref
([])
const
askingRef
=
ref
(
null
)
const
historyAskRefs
=
ref
([])
let
asking
=
ref
(
false
)
// 处理ai generate
let
aiChatController
=
null
// 用户取消操作方法
const
markedEnd
=
'
[DONE]
'
function
initSearchItemInfo
(
info
)
{
const
{
title
,
repo_name
,
repo_path
,
repo_branch
}
=
info
Object
.
assign
(
state
,
{
query
:
title
,
repo
:
repo_name
,
gitPath
:
repo_path
,
branch
:
repo_branch
})
}
function
initSearchRecords
(
records
)
{
data
.
value
=
records
.
map
(
item
=>
{
let
{
answer
,
actions
}
=
item
const
historyItem
=
{
article
:
answer
,
desLoading
:
false
,
searchLoading
:
false
,
ansLoading
:
false
}
// console.log(`actions:`, typeof actions)
// todo ?action为啥成了string?
actions
=
typeof
actions
===
'
string
'
?
JSON
.
parse
(
actions
)
:
actions
// console.log(actions)
// 处理搜索过程
actions
&&
actions
.
forEach
(
child
=>
{
const
childAction
=
child
.
action
if
(
childAction
===
'
rephrase_question
'
)
{
historyItem
.
description
=
child
.
output
}
else
if
(
childAction
===
'
search_file
'
)
{
historyItem
.
source
=
handleFormatSource
(
child
.
output
)
}
})
return
historyItem
})
}
async
function
init
()
{
const
{
data
,
error
}
=
await
useRequest
(
`/v1/chat/
${
state
.
id
}
/history`
)
if
(
error
.
value
)
return
const
{
info
,
records
}
=
data
.
value
&&
data
.
value
.
data
initSearchItemInfo
(
info
)
initSearchRecords
(
records
)
}
await
init
()
useHead
({
useHead
({
title
:
`
${
state
.
query
}
- GitBot`
title
:
`
${
state
.
query
}
- GitBot`
})
})
...
@@ -85,21 +128,13 @@ const handleReGenerate = () => {
...
@@ -85,21 +128,13 @@ const handleReGenerate = () => {
generateFetchData
(
`根据上述回答,对问题"
${
question
}
"重新生成`
)
generateFetchData
(
`根据上述回答,对问题"
${
question
}
"重新生成`
)
}
}
const
data
=
ref
([])
const
askingData
=
ref
({
question
:
state
.
query
,
desLoading
:
true
})
const
recommendQuestions
=
ref
([])
const
askingRef
=
ref
(
null
)
const
historyAskRefs
=
ref
([])
// git url
// git url
const
baseGitUrl
=
()
=>
{
const
baseGitUrl
=
()
=>
{
const
endWidthGit
=
state
.
gitPath
.
endsWith
(
'
.git
'
)
const
endWidthGit
=
state
.
gitPath
.
endsWith
(
'
.git
'
)
const
baseUrl
=
endWidthGit
?
state
.
gitPath
.
slice
(
0
,
state
.
gitPath
.
length
-
4
)
:
state
.
gitPath
const
baseUrl
=
endWidthGit
?
state
.
gitPath
.
slice
(
0
,
state
.
gitPath
.
length
-
4
)
:
state
.
gitPath
return
baseUrl
return
baseUrl
}
}
let
asking
=
ref
(
false
)
// 处理ai generate
let
aiChatController
=
null
// 用户取消操作方法
const
markedEnd
=
'
[DONE]
'
const
handleCloseHistoryAsk
=
()
=>
{
const
handleCloseHistoryAsk
=
()
=>
{
historyAskRefs
.
value
.
forEach
(
item
=>
{
historyAskRefs
.
value
.
forEach
(
item
=>
{
if
(
item
&&
item
.
handleCollapse
)
{
if
(
item
&&
item
.
handleCollapse
)
{
...
@@ -241,38 +276,7 @@ const generateFetchData = (query) => {
...
@@ -241,38 +276,7 @@ const generateFetchData = (query) => {
// 重新生成相关问题
// 重新生成相关问题
fetchLinkedQuestion
(
query
)
fetchLinkedQuestion
(
query
)
}
}
function
initSearchItemInfo
(
info
)
{
const
{
title
,
repo_name
,
repo_path
,
repo_branch
}
=
info
Object
.
assign
(
state
,
{
query
:
title
,
repo
:
repo_name
,
gitPath
:
repo_path
,
branch
:
repo_branch
})
}
function
initSearchRecords
(
records
)
{
data
.
value
=
records
.
map
(
item
=>
{
let
{
answer
,
actions
}
=
item
const
historyItem
=
{
article
:
answer
,
desLoading
:
false
,
searchLoading
:
false
,
ansLoading
:
false
}
// console.log(`actions:`, typeof actions)
// todo ?action为啥成了string?
actions
=
typeof
actions
===
'
string
'
?
JSON
.
parse
(
actions
)
:
actions
// console.log(actions)
// 处理搜索过程
actions
&&
actions
.
forEach
(
child
=>
{
const
childAction
=
child
.
action
if
(
childAction
===
'
rephrase_question
'
)
{
historyItem
.
description
=
child
.
output
}
else
if
(
childAction
===
'
search_file
'
)
{
historyItem
.
source
=
handleFormatSource
(
child
.
output
)
}
})
return
historyItem
})
}
async
function
init
()
{
const
{
data
,
error
}
=
await
useRequest
(
`/v1/chat/
${
state
.
id
}
/history`
)
if
(
error
.
value
)
return
const
{
info
,
records
}
=
data
.
value
&&
data
.
value
.
data
initSearchItemInfo
(
info
)
initSearchRecords
(
records
)
}
await
init
()
onMounted
(
()
=>
{
onMounted
(
()
=>
{
if
(
data
.
value
.
length
===
0
&&
state
.
query
)
{
if
(
data
.
value
.
length
===
0
&&
state
.
query
)
{
generateFetchData
(
state
.
query
)
generateFetchData
(
state
.
query
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录