Files
servicebase/pkg/dto/request/UserSignUpRequest.go
2025-11-19 14:24:13 +08:00

106 lines
2.5 KiB
Go

package request
import (
"errors"
"gitea.ddegame.cn/open/servicebase/pkg/common"
)
type UserSignUpRequest struct {
RegionCode string //不传默认+86
Mobile string // 手机号必传
Password string // 可不传
Birthday string // 必传
NickName string // 必传
Gender string // 男1 女0 必传
Avatar string // 空或key
VerificationCode string // 登录时的验证码
SignupSource string // 注册来源 1=手机号 2=微信 3=QQ 4=H5 5=易盾一键 6=苹果注册 99=robot
WxUnionId string // 微信注册时 填写
QQOpenId string // QQ开放平台
InviteCode string // 邀请码
YiDunToken string // 易盾一键注册
AppleAuthCode string // 苹果登录的code
WebSignUpIp string // H5注册传下IP
}
// 注册用户信息签名验证
func (request *UserSignUpRequest) CheckParameter() (err error) {
if len(request.SignupSource) == 0 {
err = errors.New("SignupSource不能为空")
return
}
// 手机号注册
if request.SignupSource == common.SIGNUP_SOURCE_APP_MOBILE {
if len(request.Mobile) == 0 {
err = errors.New("手机号不能为空")
return
}
if len(request.VerificationCode) == 0 {
err = errors.New("验证码不能为空")
return
}
}
if len(request.NickName) == 0 {
err = errors.New("昵称不能为空")
return
}
// if len(request.Gender) == 0 {
// err = errors.New("性别不能为空")
// return
// }
if len(request.NickName) > 30 {
err = errors.New("昵称长度不能超过30个字符")
return
}
//H5注册
if request.SignupSource == common.SIGNUP_SOURCE_WEB_H5 {
if len(request.Mobile) == 0 {
err = errors.New("Mobile不能为空")
return
}
if len(request.VerificationCode) == 0 {
err = errors.New("VerificationCode不能为空")
return
}
}
if request.SignupSource == common.SIGNUP_SOURCE_APP_WEIXIN {
if len(request.WxUnionId) == 0 {
err = errors.New("WxUnionId不能为空")
return
}
}
if request.SignupSource == common.SIGNUP_SOURCE_APP_QQ {
if len(request.QQOpenId) == 0 {
err = errors.New("QQOpenId不能为空")
return
}
}
if request.SignupSource == common.SIGNUP_SOURCE_YIDUN_ONECLICK {
if len(request.YiDunToken) == 0 {
err = errors.New("YiDunToken不能为空")
return
}
}
if request.SignupSource == common.SIGNUP_SOURCE_APPLE_SIGN {
if len(request.AppleAuthCode) == 0 {
err = errors.New("AppleAuthCode不能为空")
return
}
}
return
}