Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
inscode
NodeJS_639770
提交
fec531f9
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看板
提交
fec531f9
编写于
6月 03, 2024
作者:
View Design
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update Create.vue
上级
fcff9f63
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
66 addition
and
30 deletion
+66
-30
components/i/Create.vue
components/i/Create.vue
+66
-30
未找到文件。
components/i/Create.vue
浏览文件 @
fec531f9
...
@@ -14,36 +14,60 @@
...
@@ -14,36 +14,60 @@
:padded=
"false"
:padded=
"false"
maxlength=
"2000"
maxlength=
"2000"
/>
/>
<div
class=
"flex justify-between"
>
<div
class=
"flex justify-between items-center"
>
<USelectMenu
<div
class=
"flex items-center gap-2"
>
:ui-menu=
"menuUI"
<UTooltip
:text=
"isInternet ? '已接入互联网' : '不接入互联网'"
:shortcuts=
"[metaSymbol, 'O']"
>
v-model=
"selectedRepo"
:options=
"$repos"
placeholder=
"选择 GitHub 项目"
value-attribute=
"label"
option-attribute=
"label"
>
<UButton
color=
"gray"
variant=
"ghost"
:class=
"
{ 'group': selectedRepo }">
<span>
{{
selectedRepo
||
'
选择 GitHub 项目
'
}}
</span>
<UIcon
name=
"i-heroicons-chevron-down-20-solid"
class=
"text-xl flex group-hover:hidden"
/>
<UButton
<UButton
v-if=
"selectedRepo"
:ui=
"
{ rounded: 'rounded-full' }"
class=
"hidden group-hover:flex"
:icon="isInternet ? 'i-heroicons-signal-20-solid' : 'i-heroicons-signal-slash-20-solid'"
@
click.stop.prevent=
"handleClearRepo"
icon=
"i-heroicons-x-mark-20-solid"
:padded=
"false"
color="gray"
color="gray"
variant=
"link"
variant="ghost"
@click="handleToggleInternet"
/>
/>
</UButton>
</UTooltip>
</USelectMenu>
<USelectMenu
<UButton
:ui-menu=
"menuUI"
trailing-icon=
"i-heroicons-chevron-right-20-solid"
v-model=
"selectedRepo"
@
click=
"handleSearch"
:options=
"$repos"
:loading=
"loading"
placeholder=
"选择 GitHub 项目"
:disabled=
"query === ''"
value-attribute=
"label"
label=
"搜索"
option-attribute=
"label"
/>
>
<UTooltip
text=
"选择 GitHub 项目"
v-if=
"!selectedRepo"
>
<UButton
:ui=
"
{ rounded: 'rounded-full' }"
icon="i-simple-icons-github"
color="gray"
variant="ghost"
/>
</UTooltip>
<UButton
v-else
color=
"gray"
variant=
"ghost"
:class=
"
{ 'group': selectedRepo }">
<UIcon
name=
"i-simple-icons-github"
/>
<span>
{{
selectedRepo
}}
</span>
<UIcon
name=
"i-heroicons-chevron-down-20-solid"
class=
"text-xl flex group-hover:hidden"
/>
<UButton
v-if=
"selectedRepo"
class=
"hidden group-hover:flex"
@
click.stop.prevent=
"handleClearRepo"
icon=
"i-heroicons-x-mark-20-solid"
:padded=
"false"
color=
"gray"
variant=
"link"
/>
</UButton>
</USelectMenu>
</div>
<UTooltip
text=
"搜索"
:shortcuts=
"[metaSymbol, 'Enter']"
>
<UButton
:ui=
"
{ rounded: 'rounded-full' }"
icon="i-heroicons-chevron-right-20-solid"
@click="handleSearch"
:loading="loading"
:disabled="query === ''"
size="md"
/>
</UTooltip>
</div>
</div>
</UCard>
</UCard>
</div>
</div>
...
@@ -52,26 +76,28 @@
...
@@ -52,26 +76,28 @@
const
{
$repos
}
=
storeToRefs
(
useReposStore
())
const
{
$repos
}
=
storeToRefs
(
useReposStore
())
const
{
$setRepo
}
=
useReposStore
()
const
{
$setRepo
}
=
useReposStore
()
const
{
$setFirstRecordTitle
}
=
useSearchStore
()
const
{
$setFirstRecordTitle
}
=
useSearchStore
()
const
{
metaSymbol
}
=
useShortcuts
()
const
emits
=
defineEmits
([
'
search
'
])
const
emits
=
defineEmits
([
'
search
'
])
const
query
=
ref
(
''
)
const
query
=
ref
(
''
)
const
selectedRepo
=
ref
(
''
)
const
selectedRepo
=
ref
(
''
)
const
loading
=
ref
(
false
)
const
loading
=
ref
(
false
)
const
cardUI
=
{
const
cardUI
=
{
body
:
{
body
:
{
padding
:
'
p-
4 sm:p-4
'
padding
:
'
p-
3 sm:p-3
'
},
},
rounded
:
'
rounded-xl
'
rounded
:
'
rounded-xl
'
}
}
const
menuUI
=
{
const
menuUI
=
{
width
:
'
w-auto
'
width
:
'
w-auto
'
}
}
const
isInternet
=
ref
(
true
)
const
handleSearch
=
async
()
=>
{
const
handleSearch
=
async
()
=>
{
if
(
loading
.
value
||
query
.
value
===
''
)
return
if
(
loading
.
value
||
query
.
value
===
''
)
return
loading
.
value
=
true
loading
.
value
=
true
const
currentRepo
=
$repos
.
value
.
find
(
item
=>
item
.
label
===
selectedRepo
.
value
)
const
currentRepo
=
$repos
.
value
.
find
(
item
=>
item
.
label
===
selectedRepo
.
value
)
const
repo_path
=
currentRepo
?
currentRepo
.
url
:
''
const
repo_path
=
currentRepo
?
currentRepo
.
url
:
''
const
{
data
,
error
}
=
await
useRequest
(
'
/v1/chat/completion/create
'
,
{
const
{
data
,
error
}
=
await
useRequest
(
'
/v1/chat/completion/create
'
,
{
method
:
'
post
'
,
method
:
'
post
'
,
body
:
{
body
:
{
repo_path
,
repo_path
,
...
@@ -108,6 +134,16 @@ defineShortcuts({
...
@@ -108,6 +134,16 @@ defineShortcuts({
handler
:
()
=>
{
handler
:
()
=>
{
handleSearch
()
handleSearch
()
}
}
},
meta_o
:
{
usingInput
:
'
createInput
'
,
handler
:
()
=>
{
handleToggleInternet
()
}
}
}
})
})
function
handleToggleInternet
()
{
isInternet
.
value
=
!
isInternet
.
value
}
</
script
>
</
script
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录