| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package account
- import (
- "errors"
- "mtp20access/global"
- "mtp20access/model/account/request"
- accountRsp "mtp20access/model/account/response"
- commonRequest "mtp20access/model/common/request"
- "mtp20access/model/common/response"
- accountService "mtp20access/service/account"
- "mtp20access/utils"
- "github.com/gin-gonic/gin"
- "go.uber.org/zap"
- )
- // Login 账户登录
- // @Summary 账户登录
- // @accept application/json
- // @Produce application/json
- // @Param data body request.LoginReq true "登录入参"
- // @Success 200 {object} response.Response{data=accountRsp.LoginRsp,msg=string} "返回包括用户信息,token,过期时间"
- // @Router /Account/Login [post]
- // @Tags 账户服务
- func Login(c *gin.Context) {
- g := utils.GinUtils{C: c}
- r := request.LoginReq{}
- g.BindJsonReq(&r)
- if loginaccount, token, _, expiresAt, err := accountService.Login(r, g.C.ClientIP()); err == nil {
- response.OkWithDetailed(accountRsp.LoginRsp{
- LoginID: int(loginaccount.LOGINID),
- UserID: int(loginaccount.USERID),
- Token: token,
- ExpiresAt: expiresAt,
- }, "登录成功", g.C)
- } else {
- global.M2A_LOG.Error(err.Error(), zap.Error(err))
- response.FailWithMessage(err.Error(), c)
- }
- }
- // TokenCheck Token校验
- // @Summary Token校验
- // @Security ApiKeyAuth
- // @accept application/json
- // @Produce application/json
- // @Success 200 {object} response.Response{msg=string} "操作成功"
- // @Router /Account/TokenCheck [get]
- // @Tags 账户服务
- func TokenCheck(c *gin.Context) {
- // 获取请求账号信息
- s, exists := c.Get("claims")
- if !exists {
- err := errors.New("获取请求账号信息异常")
- response.FailWithMessage(err.Error(), c)
- return
- }
- claims := s.(*commonRequest.CustomClaims)
- token := c.Request.Header.Get("x-token")
- if err := accountService.RestoreLoginWithToken(claims.LoginID, claims.Group, token); err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- response.Ok(c)
- }
|