Skip to content

Commit 86fec59

Browse files
committed
feat: Support login
1 parent 3b4e4c7 commit 86fec59

File tree

8 files changed

+11
-10
lines changed

8 files changed

+11
-10
lines changed

api/entrance.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func AppRun() {
4040
// user.Use()
4141
user.POST("/user/register", guest.RegisterByEmail)
4242
user.POST("/user/login", guest.Login)
43-
user.POST("/user/logout", guest.Logout)
43+
user.GET("/user/logout", guest.Logout)
4444
user.GET("/user/current", guest.GetCurrentUser)
4545

4646
user.POST("/topic", guest.PostArticle)

api/guest/users.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ func Login(c *gin.Context) {
3838

3939
// Logout ...
4040
func Logout(c *gin.Context) {
41-
41+
service.UserService.Logout(c)
42+
setAPIResponse(c, nil, "登出成功", true)
4243
}
4344

4445
// TestForUser is the test api for user

model/model.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ type UserToken struct {
3939
UserID int64 `gorm:"column:user_id;type:int" json:"user_id"`
4040
Token string `gorm:"type:varchar(40);unique;not null" json:"token"`
4141
ExpiredAt int64 `gorm:"column:expired_at;type:int" json:"expired_at"`
42+
Status bool `gorm:"column:status;type:tinyint;default 0" json:"status"` // 0有效 1失效
4243
CreateTime int64 `gorm:"column:create_time;default:null" json:"create_time"`
4344
}
4445

repository/token_repo.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ func (r *userTokenRepository) Create(db *gorm.DB, userToken *model.UserToken) er
2020
return db.Create(userToken).Error
2121
}
2222

23-
func (r *userTokenRepository) DeleteByToken(db *gorm.DB, token string) error {
24-
return db.Where("token = ?", token).Delete(&model.UserToken{}).Error
23+
func (r *userTokenRepository) UpdateStatusInvalidByToken(db *gorm.DB, token string) error {
24+
return db.Model(&model.UserToken{}).Where("token = ?", token).Update("status", 1).Error
2525
}
2626

2727
func (r *userTokenRepository) GetUserIDByToken(db *gorm.DB, token string) (*model.UserToken, error) {

service/users.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func (s *userService) GetCurrentUser(c *gin.Context) *model.User {
3131
logs.Logger.Errorf("数据库查询token出错")
3232
return nil
3333
}
34-
if userToken == nil || userToken.ExpiredAt < util.NowTimestamp() { // 不存在或者过期了
34+
if userToken == nil || userToken.Status == true || userToken.ExpiredAt < util.NowTimestamp() { // 不存在或者过期了
3535
return nil
3636
}
3737
user, err := repository.UserRepository.GetUserByUserID(util.DB(), userToken.UserID)
@@ -141,7 +141,7 @@ func (s *userService) loginByUsername(username string, password string) (*model.
141141

142142
func (s *userService) Logout(c *gin.Context) error {
143143
token := s.GetToken(c)
144-
return repository.UserTokenRepository.DeleteByToken(util.DB(), token)
144+
return repository.UserTokenRepository.UpdateStatusInvalidByToken(util.DB(), token)
145145
}
146146

147147
func (s *userService) SetToken(userID int64) string {

site/components/MyFooter.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
<a href="/links">友链</a>
88
</div>
99
<div>
10-
© 2019 Powered by
10+
© 2021 Powered by
1111
<a href="https://github.com/nk-akun" target="_blank" class="light">NK-akun</a>
1212
</div>
1313
</div>
1414
</footer>
1515
</template>
1616

1717
<script>
18-
export default {};
18+
export default {}
1919
</script>
2020

2121
<style lang="scss" scoped>

site/components/MyNav.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ export default {
9191
},
9292
computed: {
9393
user() {
94-
console.log(this.$store.state.user.current)
9594
return this.$store.state.user.current
9695
},
9796
isOwnerOrAdmin() {

site/store/user.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export const actions = {
5555
// 退出登录
5656
async signout(context) {
5757
const userToken = this.$cookies.get('userToken')
58-
await this.$axios.get('/api/user/signout', {
58+
await this.$axios.get('/api/user/logout', {
5959
params: {
6060
userToken,
6161
},

0 commit comments

Comments
 (0)