Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
inscode
NodeJS_639770
提交
e3b9b55d
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看板
提交
e3b9b55d
编写于
5月 21, 2024
作者:
View Design
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
b7c7028f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
73 addition
and
34 deletion
+73
-34
components/i/Nav.vue
components/i/Nav.vue
+1
-30
components/i/SearchHistory.vue
components/i/SearchHistory.vue
+71
-0
components/prose/ProsePre.global.vue
components/prose/ProsePre.global.vue
+1
-4
未找到文件。
components/i/Nav.vue
浏览文件 @
e3b9b55d
...
@@ -17,19 +17,8 @@
...
@@ -17,19 +17,8 @@
to=
"/library"
to=
"/library"
/>
/>
<ISearchHistory
@
sign=
"handleOpenSign"
/>
<ISearchHistory
@
sign=
"handleOpenSign"
/>
<div
v-if=
"$isSignIn"
class=
"flex flex-col gap-2 border-l border-gray-200 dark:border-gray-800 pl-2 ml-5"
>
<template
v-for=
"(item, index) in searchHistory"
:key=
"index"
>
<UButton
color=
"gray"
variant=
"ghost"
size=
"xs"
>
<div
class=
"truncate"
>
{{
item
.
title
}}
</div>
</UButton>
</
template
>
</div>
<UButton
<UButton
v-
else
v-
if=
"!$isSignIn"
class=
"flex flex-grow gap-2 justify-center"
class=
"flex flex-grow gap-2 justify-center"
size=
"lg"
size=
"lg"
label=
"登录"
label=
"登录"
...
@@ -42,24 +31,6 @@
...
@@ -42,24 +31,6 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
const
{
$isSignIn
}
=
useUserStore
()
const
{
$isSignIn
}
=
useUserStore
()
const
searchHistory
=
ref
([
{
title
:
'
Vue 的 v-model 怎么用
'
,
url
:
'
c_20240521161631_C8miVoieSKGfgNGP?query=Vue%20的%20v-model%20怎么用&repo=keycloak
'
},
{
title
:
'
帮我写一个爬虫,爬取豆瓣热门电影top250
'
,
url
:
'
c_20240521161649_0LbyaJFKX6fyJYyA?query=帮我写一个爬虫,爬取豆瓣热门电影top250&repo=keycloak
'
},
{
title
:
'
grid 的 grid-template-columns 除了 minmax 和 repeat,还有哪些值
'
,
url
:
'
c_20240521161709_LtiJL8thi5XuYLd6?query=grid%20的%20grid-template-columns%20除了%20minmax%20和%20repeat,还有哪些值&repo=keycloak
'
},
{
title
:
'
flex 各种布局的区别
'
,
url
:
'
c_20240521161933_wxgXGKYhmfJe6QE0?query=flex%20各种布局的区别&repo=keycloak
'
}
])
const
isOpenSign
=
ref
(
false
)
const
isOpenSign
=
ref
(
false
)
const
handleOpenSign
=
()
=>
{
const
handleOpenSign
=
()
=>
{
isOpenSign
.
value
=
true
isOpenSign
.
value
=
true
...
...
components/i/SearchHistory.vue
浏览文件 @
e3b9b55d
...
@@ -17,14 +17,85 @@
...
@@ -17,14 +17,85 @@
@
click=
"handleClear"
@
click=
"handleClear"
/>
/>
</div>
</div>
<div
v-if=
"$isSignIn"
class=
"flex flex-col gap-2 border-l border-gray-200 dark:border-gray-800 pl-2 ml-5"
>
<template
v-for=
"(item, index) in searchHistory"
:key=
"index"
>
<UButton
color=
"gray"
variant=
"ghost"
size=
"xs"
:to=
"'/search/' + item.url"
>
<div
class=
"truncate"
>
{{
item
.
title
}}
</div>
</UButton>
</
template
>
</div>
<UModal
v-model=
"isOpenHistory"
:ui=
"{ width: 'w-full sm:max-w-screen-md' }"
>
<div
class=
"flex items-center p-2"
>
<UInput
class=
"w-full"
v-model=
"query"
:padded=
"false"
variant=
"none"
leading-icon=
"i-heroicons-magnifying-glass-20-solid"
placeholder=
"输入关键字搜索..."
/>
<UButton
leading-icon=
"i-heroicons-x-mark-20-solid"
color=
"gray"
variant=
"ghost"
@
click=
"handleClose"
/>
</div>
<UDivider
/>
<div
class=
"flex flex-col p-2"
>
<
template
v-for=
"(item, index) in searchHistory"
:key=
"index"
>
<UButton
color=
"gray"
variant=
"ghost"
long
leading-icon=
"i-heroicons-document-text"
:to=
"'/search/' + item.url"
@
click=
"handleClose"
>
<div
class=
"truncate font-light"
>
{{
item
.
title
}}
</div>
</UButton>
</
template
>
</div>
</UModal>
</template>
</template>
<
script
setup
>
<
script
setup
>
const
emits
=
defineEmits
([
'
sign
'
,
'
clear
'
])
const
emits
=
defineEmits
([
'
sign
'
,
'
clear
'
])
const
{
$isSignIn
}
=
useUserStore
()
const
{
$isSignIn
}
=
useUserStore
()
const
searchHistory
=
ref
([
{
title
:
'
Vue 的 v-model 怎么用
'
,
url
:
'
c_20240521161631_C8miVoieSKGfgNGP?query=Vue%20的%20v-model%20怎么用&repo=keycloak
'
},
{
title
:
'
帮我写一个爬虫,爬取豆瓣热门电影top250
'
,
url
:
'
c_20240521161649_0LbyaJFKX6fyJYyA?query=帮我写一个爬虫,爬取豆瓣热门电影top250&repo=keycloak
'
},
{
title
:
'
grid 的 grid-template-columns 除了 minmax 和 repeat,还有哪些值
'
,
url
:
'
c_20240521161709_LtiJL8thi5XuYLd6?query=grid%20的%20grid-template-columns%20除了%20minmax%20和%20repeat,还有哪些值&repo=keycloak
'
},
{
title
:
'
flex 各种布局的区别
'
,
url
:
'
c_20240521161933_wxgXGKYhmfJe6QE0?query=flex%20各种布局的区别&repo=keycloak
'
}
])
function
handleClear
()
{
function
handleClear
()
{
emits
(
'
clear
'
)
emits
(
'
clear
'
)
}
}
const
isOpenHistory
=
ref
(
false
)
const
query
=
ref
(
''
)
function
handleOpen
()
{
function
handleOpen
()
{
if
(
!
$isSignIn
)
emits
(
'
sign
'
)
if
(
!
$isSignIn
)
emits
(
'
sign
'
)
else
{
isOpenHistory
.
value
=
true
}
}
function
handleClose
()
{
isOpenHistory
.
value
=
false
}
}
</
script
>
</
script
>
components/prose/ProsePre.global.vue
浏览文件 @
e3b9b55d
<
template
>
<
template
>
<pre
class=
"flex justify-between m-0 rounded-bl-none rounded-br-none dark"
>
<pre
class=
"flex justify-between m-0 rounded-bl-none rounded-br-none dark"
>
<div>
{{
language
Name
}}
</div>
<div>
{{
language
}}
</div>
<UButton
<UButton
leading-icon=
"i-heroicons-document-duplicate-20-solid"
leading-icon=
"i-heroicons-document-duplicate-20-solid"
color=
"gray"
color=
"gray"
...
@@ -42,9 +42,6 @@ const props = defineProps({
...
@@ -42,9 +42,6 @@ const props = defineProps({
default
:
null
default
:
null
}
}
})
})
const
languageName
=
computed
(()
=>
{
return
props
.
language
?
props
.
language
.
charAt
(
0
).
toUpperCase
()
+
props
.
language
.
slice
(
1
)
:
''
;
})
const
handleCopy
=
()
=>
{
const
handleCopy
=
()
=>
{
useCopyToClipboard
().
copy
(
props
.
code
)
useCopyToClipboard
().
copy
(
props
.
code
)
toast
.
add
({
toast
.
add
({
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录