31 lines
644 B
Go
31 lines
644 B
Go
package register
|
|
|
|
import (
|
|
"context"
|
|
"regexp"
|
|
|
|
"git.apinb.com/bsm-sdk/core/errcode"
|
|
pb "git.apinb.com/bsm-sdk/sample/pb"
|
|
)
|
|
|
|
// 手机验证码注册
|
|
func Code(ctx context.Context, in *pb.RegisterRequest) (reply *pb.RegisterReply, err error) {
|
|
if in.Phone == "" || in.Code == "" {
|
|
return nil, errcode.ErrInvalidArgument
|
|
}
|
|
|
|
//手机号验证
|
|
matched, err := regexp.MatchString("^1[3456789]{1}\\d{9}$", in.Phone)
|
|
if err != nil || !matched {
|
|
return nil, errcode.ErrInvalidArgument
|
|
}
|
|
|
|
//账号唯一验证
|
|
found := models.sampleAccountExists("phone", in.Phone)
|
|
if found {
|
|
return nil, errcode.ErrAlreadyExists
|
|
}
|
|
|
|
return Do(in)
|
|
}
|