34 lines
664 B
Go
34 lines
664 B
Go
package account
|
|
|
|
import (
|
|
"SciencesServer/app/handle"
|
|
"SciencesServer/utils"
|
|
"errors"
|
|
)
|
|
|
|
type Other struct{}
|
|
|
|
type OtherHandle func() *Other
|
|
|
|
// BindMobile 绑定手机号码
|
|
func (c *Other) BindMobile(token, mobile, captcha string) (interface{}, error) {
|
|
if !utils.ValidateMobile(mobile) {
|
|
return nil, errors.New("手机号码格式异常")
|
|
}
|
|
pass, err := handle.NewCaptcha().Validate(&handle.CaptchaSms{
|
|
Mobile: mobile, Captcha: captcha,
|
|
})
|
|
if err != nil {
|
|
return nil, err
|
|
} else if !pass {
|
|
return nil, errors.New("验证码错误或已过期")
|
|
}
|
|
return nil, nil
|
|
}
|
|
|
|
func NewOther() OtherHandle {
|
|
return func() *Other {
|
|
return &Other{}
|
|
}
|
|
}
|