123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package controllers
- import (
- "encoding/json"
- "hongze/hongze_clpt/models"
- "hongze/hongze_clpt/utils"
- "strconv"
- "strings"
- "time"
- )
- type UserController struct {
- BaseAuthController
- }
- type UserCommonController struct {
- BaseCommonController
- }
- // @Title 登录
- // @Description 登录接口
- // @Param request body models.LoginReq true "type json string"
- // @Success 200 {object} models.LoginResp
- // @router /login [post]
- func (this *UserCommonController) Login() {
- br := new(models.BaseResponse).Init()
- defer func() {
- this.Data["json"] = br
- this.ServeJSON()
- }()
- var token string
- var req models.LoginReq
- err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
- if err != nil {
- br.Msg = "参数解析异常!"
- br.ErrMsg = "参数解析失败,Err:" + err.Error()
- return
- }
- mobile := req.Mobile
- req.Mobile = strings.Trim(req.Mobile, " ")
- if req.Mobile == "" {
- br.Msg = "参数错误"
- br.ErrMsg = "参数错误,手机号为空"
- return
- }
- code := req.VCode
- if code == "" {
- br.Msg = "参数错误"
- br.ErrMsg = "Code 为空"
- return
- }
- item, err := models.GetMsgCode(req.Mobile, req.VCode)
- if err != nil {
- if err.Error() == utils.ErrNoRow() {
- br.Msg = "验证码错误,请重新输入"
- br.ErrMsg = "校验验证码失败,Err:" + err.Error()
- return
- } else {
- br.Msg = "验证码错误,请重新输入"
- br.ErrMsg = "校验验证码失败,Err:" + err.Error()
- return
- }
- }
- if item == nil {
- br.Msg = "验证码错误,请重新输入"
- return
- }
- user, err := models.GetWxUserItemByMobile(mobile)
- if err != nil {
- br.Msg = "登录失败"
- br.ErrMsg = "获取用户信息失败,GetUserDetailByMobile Err:" + err.Error()
- return
- }
- timeUnix := time.Now().Unix()
- timeUnixStr := strconv.FormatInt(timeUnix, 10)
- token = utils.MD5(mobile) + utils.MD5(timeUnixStr)
- itemsSession := new(models.CygxClptSession)
- itemsSession.UserId = user.UserId
- itemsSession.Mobile = mobile
- itemsSession.AccessToken = token
- itemsSession.CreatedTime = time.Now()
- itemsSession.LastUpdatedTime = time.Now()
- itemsSession.ExpireTime = time.Now().AddDate(0, 3, 0)
- err = models.AddCygxClptSession(itemsSession)
- if err != nil {
- br.Msg = "获取用户信息失败"
- br.ErrMsg = "添加Token失败,Err:" + err.Error()
- return
- }
- resp := new(models.LoginResp)
- resp.UserId = user.UserId
- resp.Headimgurl = user.Headimgurl
- resp.Mobile = user.Mobile
- resp.Email = user.Email
- resp.CompanyName = user.CompanyName
- resp.Authorization = token
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
|