Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
inscode
NodeJS_639770
提交
9a2a4af6
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看板
提交
9a2a4af6
编写于
5月 29, 2024
作者:
View Design
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
401全局登录
上级
33a5804e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
22 addition
and
13 deletion
+22
-13
components/i/Nav.vue
components/i/Nav.vue
+6
-12
composables/useRequest.js
composables/useRequest.js
+7
-0
stores/user.js
stores/user.js
+9
-1
未找到文件。
components/i/Nav.vue
浏览文件 @
9a2a4af6
...
@@ -18,31 +18,25 @@
...
@@ -18,31 +18,25 @@
to=
"/library"
to=
"/library"
@
click=
"handleClickItem"
@
click=
"handleClickItem"
/>
/>
<ISearchHistory
@
sign=
"
handleO
penSign"
/>
<ISearchHistory
@
sign=
"
$o
penSign"
/>
<ClientOnly>
<ClientOnly>
<UButton
<UButton
v-if=
"!$isSignIn"
v-if=
"!$isSignIn"
class=
"flex gap-2 justify-center"
class=
"flex gap-2 justify-center"
size=
"lg"
size=
"lg"
label=
"登录"
label=
"登录"
@
click=
"
handleO
penSign"
@
click=
"
$o
penSign"
/>
/>
</ClientOnly>
</ClientOnly>
</div>
</div>
<UModal
v-model=
"isOpenSign"
>
<UModal
v-model=
"
$
isOpenSign"
>
<ISign
@
close=
"
handleC
loseSign"
/>
<ISign
@
close=
"
$c
loseSign"
/>
</UModal>
</UModal>
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
const
{
$isSignIn
}
=
storeToRefs
(
useUserStore
())
const
{
$isSignIn
,
$isOpenSign
}
=
storeToRefs
(
useUserStore
())
const
{
$openSign
,
$closeSign
}
=
useUserStore
()
const
Layout
=
inject
(
'
Layout
'
)
const
Layout
=
inject
(
'
Layout
'
)
const
isOpenSign
=
ref
(
false
)
const
handleOpenSign
=
()
=>
{
isOpenSign
.
value
=
true
}
const
handleCloseSign
=
()
=>
{
isOpenSign
.
value
=
false
}
function
handleClickItem
()
{
function
handleClickItem
()
{
Layout
.
handleCloseAside
()
Layout
.
handleCloseAside
()
}
}
...
...
composables/useRequest.js
浏览文件 @
9a2a4af6
...
@@ -21,6 +21,7 @@ const request = async (url, options = {}) => {
...
@@ -21,6 +21,7 @@ const request = async (url, options = {}) => {
onResponseError
({
request
,
response
,
options
})
{
onResponseError
({
request
,
response
,
options
})
{
const
status
=
response
.
status
const
status
=
response
.
status
if
(
process
.
client
&&
(
status
===
401
||
status
===
403
))
{
if
(
process
.
client
&&
(
status
===
401
||
status
===
403
))
{
// 全局弹提示
let
title
let
title
if
(
status
===
401
)
title
=
'
抱歉,您没有权限操作
'
if
(
status
===
401
)
title
=
'
抱歉,您没有权限操作
'
else
if
(
status
===
403
)
title
=
'
抱歉,您没有权限访问当前内容
'
else
if
(
status
===
403
)
title
=
'
抱歉,您没有权限访问当前内容
'
...
@@ -33,6 +34,12 @@ const request = async (url, options = {}) => {
...
@@ -33,6 +34,12 @@ const request = async (url, options = {}) => {
color
:
'
red
'
color
:
'
red
'
})
})
})
})
// 全局弹登录
const
{
$isSignIn
}
=
storeToRefs
(
useUserStore
())
const
{
$openSign
}
=
useUserStore
()
if
(
status
===
401
&&
!
$isSignIn
.
value
)
{
$openSign
()
}
}
}
// 处理响应错误
// 处理响应错误
console
.
log
(
'
[ResponseError]
'
,
request
)
console
.
log
(
'
[ResponseError]
'
,
request
)
...
...
stores/user.js
浏览文件 @
9a2a4af6
...
@@ -6,6 +6,7 @@ export const useUserStore = defineStore('user', () => {
...
@@ -6,6 +6,7 @@ export const useUserStore = defineStore('user', () => {
const
$info
=
computed
(()
=>
userInfo
.
value
?
userInfo
.
value
:
{})
const
$info
=
computed
(()
=>
userInfo
.
value
?
userInfo
.
value
:
{})
const
$isSignIn
=
computed
(()
=>
!!
token
.
value
)
const
$isSignIn
=
computed
(()
=>
!!
token
.
value
)
const
$isOpenSign
=
ref
(
false
)
function
$signOut
()
{
function
$signOut
()
{
token
.
value
=
null
token
.
value
=
null
...
@@ -18,5 +19,12 @@ export const useUserStore = defineStore('user', () => {
...
@@ -18,5 +19,12 @@ export const useUserStore = defineStore('user', () => {
userInfo
.
value
=
data
.
value
.
data
userInfo
.
value
=
data
.
value
.
data
}
}
return
{
$info
,
$isSignIn
,
$signOut
,
$updateUserInfo
}
function
$openSign
()
{
$isOpenSign
.
value
=
true
}
function
$closeSign
()
{
$isOpenSign
.
value
=
false
}
return
{
$info
,
$isSignIn
,
$isOpenSign
,
$signOut
,
$updateUserInfo
,
$openSign
,
$closeSign
}
})
})
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录