login.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package account
  2. import (
  3. "mtp20access/global"
  4. "mtp20access/model/account/request"
  5. accountRsp "mtp20access/model/account/response"
  6. "mtp20access/model/common/response"
  7. accountService "mtp20access/service/account"
  8. "mtp20access/utils"
  9. "github.com/gin-gonic/gin"
  10. "go.uber.org/zap"
  11. )
  12. // Login 账户登录
  13. // @Summary 账户登录
  14. // @accept application/json
  15. // @Produce application/json
  16. // @Param data body request.LoginReq true "登录入参"
  17. // @Success 200 {object} response.Response{data=accountRsp.LoginRsp,msg=string} "返回包括用户信息,token,过期时间"
  18. // @Router /Account/Login [post]
  19. // @Tags 账户服务
  20. func Login(c *gin.Context) {
  21. g := utils.GinUtils{C: c}
  22. r := request.LoginReq{}
  23. g.BindJsonReq(&r)
  24. if loginaccount, token, expiresAt, err := accountService.Login(r, g.C.ClientIP()); err == nil {
  25. response.OkWithDetailed(accountRsp.LoginRsp{
  26. LoginID: int(loginaccount.LOGINID),
  27. UserID: int(loginaccount.USERID),
  28. Token: token,
  29. ExpiresAt: expiresAt,
  30. }, "登录成功", g.C)
  31. } else {
  32. global.M2A_LOG.Error(err.Error(), zap.Error(err))
  33. response.FailWithMessage(err.Error(), c)
  34. }
  35. }
  36. // TokenCheck Token校验
  37. // @Summary Token校验
  38. // @Security ApiKeyAuth
  39. // @accept application/json
  40. // @Produce application/json
  41. // @Success 200 {object} response.Response{msg=string} "操作成功"
  42. // @Router /Account/TokenCheck [get]
  43. // @Tags 账户服务
  44. func TokenCheck(c *gin.Context) {
  45. response.Ok(c)
  46. }