diff --git a/controllers/auth2.go b/controllers/auth2.go index 194c35ab6..7fe913a10 100644 --- a/controllers/auth2.go +++ b/controllers/auth2.go @@ -184,7 +184,6 @@ func (c *Auth2Controller) WeixinOAuth2() { // @Param code query string true "客户同意后得到的code" // @Param block query string true "回调地址" // @Param state query string false "微信回调的登录状态" -// @Param mobile query string false "手机号" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /WeixinMPOAuth2 [get] @@ -207,15 +206,20 @@ func (c *Auth2Controller) WeixinMPOAuth2() { Desc: err.Error(), } } - if params.Mobile != "" { - if user, err := dao.GetUserByID(dao.GetDB(), "mobile", params.Mobile); err == nil { - if user != nil { - auth2.AddAuthBind(user, authInfo) - } else { - return retVal, errCode, fmt.Errorf("未查询到用户!mobile :%v", params.Mobile) + if params.Block != "" { + if moblie := params.Block[:strings.LastIndex("?", params.Block)]; moblie != "" { + if user, err := dao.GetUserByID(dao.GetDB(), "mobile", moblie); err == nil { + if user != nil { + auth2.AddAuthBind(user, authInfo) + } else { + return retVal, errCode, fmt.Errorf("未查询到用户!mobile :%v", moblie) + } } } } + if strings.Contains(params.Block,"?"){ + params.Block = params.Block[strings.LastIndex("?", params.Block):] + } redirectURL = fmt.Sprintf("%s?info=%s", params.Block, base64.StdEncoding.EncodeToString(utils.MustMarshal(callResult))) return retVal, model.ErrorCodeIgnore, err })