SendVerifyCode

This commit is contained in:
gazebo
2020-01-06 15:36:33 +08:00
parent 483aa6df20
commit fda22fa2d4
4 changed files with 12 additions and 23 deletions

View File

@@ -53,7 +53,6 @@ type IUser interface {
GetEmail() string GetEmail() string
GetName() string GetName() string
GetAvatar() string GetAvatar() string
IsAdmin() bool
} }
const ( const (
@@ -196,13 +195,9 @@ func CreateCaptcha(width, height, captchaLen int) (captchaInfo *CaptchaInfo, err
return captchaInfo, err return captchaInfo, err
} }
func SendVerifyCode(authToken, captchaID, captchaValue, authID string) (verfifyCode string, err error) { func SendVerifyCode(authToken, captchaID, captchaValue, authID string) (verfifyCode string, authInfo *AuthInfo, err error) {
isReturnVerifyCode := false
if authToken != "" { if authToken != "" {
authInfo, err2 := GetTokenInfo(authToken) authInfo, err = GetTokenInfo(authToken)
if err = err2; err == nil {
isReturnVerifyCode = authInfo.IsAdmin()
}
} else if captchaID != "" && captchaValue != "" { } else if captchaID != "" && captchaValue != "" {
if !(TestCaptchaMap[captchaID] == captchaValue || captcha.VerifyString(captchaID, captchaValue)) { if !(TestCaptchaMap[captchaID] == captchaValue || captcha.VerifyString(captchaID, captchaValue)) {
err = ErrCaptchaIsNotOk err = ErrCaptchaIsNotOk
@@ -215,13 +210,10 @@ func SendVerifyCode(authToken, captchaID, captchaValue, authID string) (verfifyC
if handler := authers[authType]; handler == nil { if handler := authers[authType]; handler == nil {
err = ErrIllegalAuthType err = ErrIllegalAuthType
} else { } else {
code, err2 := handler.SendVerifyCode(authID) verfifyCode, err = handler.SendVerifyCode(authID)
if err = err2; err == nil && isReturnVerifyCode {
verfifyCode = code
} }
} }
} return verfifyCode, authInfo, err
return verfifyCode, err
} }
// 账号密码时authIDType可能是UserIDID,UserIDID2,UserIDMobile,UserIDEmailauthSecret是密码的sha1 // 账号密码时authIDType可能是UserIDID,UserIDID2,UserIDMobile,UserIDEmailauthSecret是密码的sha1

View File

@@ -19,7 +19,6 @@ type UserBasic struct {
Email string `json:"email"` Email string `json:"email"`
Name string `json:"name"` Name string `json:"name"`
Avatar string `json:"avatar"` Avatar string `json:"avatar"`
IsAdminData bool `json:"isAdmin"`
} }
func (u *UserBasic) GetID() string { func (u *UserBasic) GetID() string {
@@ -45,10 +44,6 @@ func (u *UserBasic) GetAvatar() string {
return u.Avatar return u.Avatar
} }
func (u *UserBasic) IsAdmin() bool {
return u.IsAdminData
}
func (u *UserBasic) UpdateByIUser(user IUser) { func (u *UserBasic) UpdateByIUser(user IUser) {
if user != nil { if user != nil {
u.UserID = user.GetID() u.UserID = user.GetID()
@@ -57,7 +52,6 @@ func (u *UserBasic) UpdateByIUser(user IUser) {
u.Email = user.GetEmail() u.Email = user.GetEmail()
u.Name = user.GetName() u.Name = user.GetName()
u.Avatar = user.GetAvatar() u.Avatar = user.GetAvatar()
u.IsAdminData = user.IsAdmin()
} }
} }

View File

@@ -85,10 +85,6 @@ func (user *User) GetAvatar() string {
return user.Avatar return user.Avatar
} }
func (user *User) IsAdmin() bool {
return user.Type&(UserTypeOperator|UserTypeBoss) != 0
}
type StoreBoss struct { type StoreBoss struct {
ModelIDCULD ModelIDCULD
UserID string `orm:"size(48);column(user_id);unique" json:"userID"` // 内部唯一标识 UserID string `orm:"size(48);column(user_id);unique" json:"userID"` // 内部唯一标识

View File

@@ -13,6 +13,7 @@ import (
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/password" "git.rosy.net.cn/jx-callback/business/auth2/authprovider/password"
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
"git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego" "github.com/astaxie/beego"
) )
@@ -66,7 +67,13 @@ func (c *Auth2Controller) CreateCaptcha() {
// @router /SendVerifyCode [post] // @router /SendVerifyCode [post]
func (c *Auth2Controller) SendVerifyCode() { func (c *Auth2Controller) SendVerifyCode() {
c.callSendVerifyCode(func(params *tAuth2SendVerifyCodeParams) (retVal interface{}, errCode string, err error) { c.callSendVerifyCode(func(params *tAuth2SendVerifyCodeParams) (retVal interface{}, errCode string, err error) {
retVal, err = auth2.SendVerifyCode(params.AuthToken, params.CaptchaID, params.CaptchaValue, params.AuthID) code, authInfo, err := auth2.SendVerifyCode(params.AuthToken, params.CaptchaID, params.CaptchaValue, params.AuthID)
if err == nil && authInfo != nil {
user, err2 := dao.GetUserByID(dao.GetDB(), "user_id", authInfo.GetID())
if err2 == nil && user.Type&(model.UserTypeBoss|model.UserTypeOperator) != 0 {
retVal = code
}
}
return retVal, "", err return retVal, "", err
}) })
} }