Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yubinCloud
fairy-wiki
提交
c601990a
F
fairy-wiki
项目概览
yubinCloud
/
fairy-wiki
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fairy-wiki
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c601990a
编写于
4月 27, 2021
作者:
yubinCloud
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
9-10 增加退出登录功能,退出登录后前端 store 中的信息和后端 redis 中的信息被清除
上级
9796ff29
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
41 addition
and
1 deletion
+41
-1
src/main/java/io/github/yubincloud/fairywiki/controller/UserController.java
...ithub/yubincloud/fairywiki/controller/UserController.java
+14
-0
web/src/components/the-header.vue
web/src/components/the-header.vue
+27
-1
未找到文件。
src/main/java/io/github/yubincloud/fairywiki/controller/UserController.java
浏览文件 @
c601990a
...
...
@@ -8,16 +8,21 @@ import io.github.yubincloud.fairywiki.dto.req.UserSaveReqDto;
import
io.github.yubincloud.fairywiki.dto.resp.*
;
import
io.github.yubincloud.fairywiki.service.UserService
;
import
io.github.yubincloud.fairywiki.utils.SnowFlake
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.util.DigestUtils
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.client.RestTemplate
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
java.util.concurrent.TimeUnit
;
@Api
(
"用户相关接口"
)
@RestController
@RequestMapping
(
"/user"
)
public
class
UserController
{
...
...
@@ -92,4 +97,13 @@ public class UserController {
LOG
.
info
(
"key: {}, value: {}"
,
key
,
object
);
return
object
;
}
@ApiOperation
(
value
=
"退出登录"
,
notes
=
"该接口会清除掉存放于 redis 中所传入的 token"
)
@GetMapping
(
"/logout/{userToken}"
)
public
RestfulModel
<
Integer
>
logout
(
@PathVariable
String
userToken
)
{
redisTemplate
.
delete
(
userToken
);
LOG
.
info
(
"redis 中清除 token:{}"
,
userToken
);
return
new
RestfulModel
<>(
ErrorCode
.
SUCCESS
,
""
,
0
);
}
}
web/src/components/the-header.vue
浏览文件 @
c601990a
...
...
@@ -21,8 +21,18 @@
<a-menu-item
key=
"/about"
>
<router-link
to=
"/about"
>
关于我们
</router-link>
</a-menu-item>
<a-popconfirm
title=
"确认退出登录?"
ok-text=
"是"
cancel-text=
"否"
@
confirm=
"logout()"
>
<a
class=
"login-menu"
v-show=
"currUser.id"
>
<span>
退出登录
</span>
</a>
</a-popconfirm>
<a
class=
"login-menu"
v-show=
"currUser.name"
>
<span>
Welcome,
{{
currUser
.
name
}}
</span>
<span>
Hello,
{{
currUser
.
name
}}
</span>
</a>
<a
class=
"login-menu"
v-show=
"!currUser.name"
@
click=
"showLoginModal"
>
<span>
登录
</span>
...
...
@@ -91,12 +101,27 @@ export default defineComponent({
});
};
// 退出登录
const
logout
=
()
=>
{
console
.
log
(
"
退出登录开始
"
);
axios
.
get
(
'
/user/logout/
'
+
currUser
.
value
.
token
).
then
((
response
)
=>
{
const
respData
=
response
.
data
;
if
(
respData
.
code
===
0
)
{
message
.
success
(
"
退出登录成功!
"
);
store
.
commit
(
"
setLocalUser
"
,
{});
}
else
{
message
.
error
(
respData
.
msg
);
}
});
};
return
{
loginModalVisible
,
loginModalLoading
,
showLoginModal
,
loginUser
,
login
,
logout
,
currUser
,
}
...
...
@@ -109,5 +134,6 @@ export default defineComponent({
.login-menu
{
float
:
right
;
color
:
white
;
padding-left
:
10px
;
}
</
style
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录