feat(user):完成用户登出功能。

This commit is contained in:
徐涛 2023-06-01 06:13:43 +08:00
parent 61fef8d0fa
commit 73737c3753

View File

@ -1,9 +1,11 @@
package controller
import (
"electricity_bill_calc/cache"
"electricity_bill_calc/exceptions"
"electricity_bill_calc/model"
"electricity_bill_calc/response"
"electricity_bill_calc/security"
"electricity_bill_calc/service"
"net/http"
@ -11,6 +13,7 @@ import (
)
func InitializeUserHandlers(router *fiber.App) {
router.Delete("/login", security.MustAuthenticated, doLogout)
router.Post("/login", doLogin)
}
@ -47,3 +50,16 @@ func doLogin(c *fiber.Ctx) error {
}
return result.LoginSuccess(session)
}
func doLogout(c *fiber.Ctx) error {
result := response.NewResult(c)
session := c.Locals("session")
if session == nil {
return result.Success("用户会话已结束。")
}
_, err := cache.ClearSession(session.(*model.Session).Token)
if err != nil {
return result.Error(http.StatusInternalServerError, err.Error())
}
return result.Success("用户已成功登出系统。")
}