diff --git a/backend/main.go b/backend/main.go index 4728920a..a7d23c35 100644 --- a/backend/main.go +++ b/backend/main.go @@ -128,6 +128,7 @@ func main() { app.POST("/users/:id", routes.PostUser) // 更改用户 app.DELETE("/users/:id", routes.DeleteUser) // 删除用户 app.POST("/login", routes.Login) // 用户登录 + app.GET("/me", routes.GetMe) // 获取自己账户 } // 路由ping diff --git a/backend/routes/user.go b/backend/routes/user.go index 39d227ba..a3d5a431 100644 --- a/backend/routes/user.go +++ b/backend/routes/user.go @@ -183,3 +183,22 @@ func Login(c *gin.Context) { Data: tokenStr, }) } + +func GetMe(c *gin.Context) { + // 获取token string + tokenStr := c.GetHeader("Authorization") + + // 校验token + user, err := services.CheckToken(tokenStr) + if err != nil { + HandleError(http.StatusUnauthorized, c, errors.New("not authorized")) + return + } + user.Password = "" + + c.JSON(http.StatusOK, Response{ + Status: "ok", + Message: "success", + Data: user, + }) +}