code_login.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package handler
  2. import (
  3. "youngee_b_api/consts"
  4. "youngee_b_api/model/http_model"
  5. "youngee_b_api/service"
  6. "youngee_b_api/util"
  7. "github.com/gin-gonic/gin"
  8. "github.com/sirupsen/logrus"
  9. log "github.com/sirupsen/logrus"
  10. )
  11. // WrapSendCodeHandler
  12. // @BasePath /youngee/m/
  13. // Codelogin godoc
  14. // @Summary login 登录
  15. // @Schemes
  16. // @Description 输入手机号和验证码,并登录
  17. // @Accept json
  18. // @Produce json
  19. // @Param req body http_model.CodeLoginRequest true "登录输入内容请求参数结构体"
  20. // @Success 200 {object} http_model.CommonResponse{data=http_model.CodeLoginData} "登录返回相应结构体"
  21. // @Router /login [post]
  22. func WrapCodeLoginHandler(ctx *gin.Context) {
  23. handler := newCodeLoginHandler(ctx)
  24. baseRun(handler)
  25. }
  26. func newCodeLoginHandler(ctx *gin.Context) *CodeLoginHandler {
  27. return &CodeLoginHandler{
  28. req: http_model.NewCodeLoginRequest(),
  29. resp: http_model.NewCodeLoginResponse(),
  30. ctx: ctx,
  31. }
  32. }
  33. type CodeLoginHandler struct {
  34. req *http_model.CodeLoginRequest
  35. resp *http_model.CommonResponse
  36. ctx *gin.Context
  37. }
  38. func (h *CodeLoginHandler) getRequest() interface{} {
  39. return h.req
  40. }
  41. func (h *CodeLoginHandler) getContext() *gin.Context {
  42. return h.ctx
  43. }
  44. func (h *CodeLoginHandler) getResponse() interface{} {
  45. return h.resp
  46. }
  47. func (h *CodeLoginHandler) run() {
  48. token, err := service.LoginAuth.AuthCode(h.ctx, h.req.Phone, h.req.Code)
  49. if err != nil {
  50. logrus.Errorf("[CodeLoginHandler] call AuthCode err:%+v\n", err)
  51. util.HandlerPackErrorResp(h.resp, consts.ErrorInternal, token)
  52. log.Info("login fail,req:%+v", h.req)
  53. return
  54. }
  55. data := http_model.CodeLoginData{}
  56. data.Token = token
  57. // h.resp.Message = "登陆成功"
  58. h.resp.Data = data
  59. }
  60. func (h *CodeLoginHandler) checkParam() error {
  61. return nil
  62. }