feat: openid login

This commit is contained in:
zzw
2026-09-02 17:37:12 +08:00
parent 540f74f9b7
commit bb14f9e324
38 changed files with 1627 additions and 1091 deletions
+14 -45
View File
@@ -2,56 +2,25 @@ package validator
import "lone-services/pkg/validate"
type RegisterValidator struct {
Openid string
Nickname string `validate:"required"`
Avatar string `validate:"required"`
Mobile string `validate:"required"`
Gender uint32 `validate:"required,oneof=1 2"`
Birthday string `validate:"required"`
Username string `validate:"required"`
AppId uint32 `validate:"required"`
}
func (p RegisterValidator) GetMessage() validate.ValidatorMessages {
return validate.ValidatorMessages{
"Nickname.required": "昵称不能为空",
"Avatar.required": "头像不能为空",
"Mobile.required": "手机号不能为空",
"Gender.required": "性别不能为空",
"Gender.oneof": "性别传值不对",
"Birthday.required": "生日不能为空",
"Username.required": "姓名不能为空",
"AppId.required": "应用标识不能为空",
}
}
type RegisterByUserValidator struct {
Type uint32 `validate:"required,oneof=1 2"`
Account string `validate:"required"`
Pwd string `validate:"required"`
Code string `validate:"required"`
AppId uint32 `validate:"required"`
}
func (p RegisterByUserValidator) GetMessage() validate.ValidatorMessages {
return validate.ValidatorMessages{
"Type.required": "类型不能为空",
"Type.oneof": "类型传值不对",
"Account.required": "账号不能为空",
"Pwd.required": "密码不能为空",
"Code.required": "验证码不能为空",
"AppId.required": "应用标识不能为空",
}
}
type LoginValidator struct {
Openid string `validate:"required"`
ClientCode string `validate:"required,max=32"`
GrantType string `validate:"required,oneof=openid password sms"`
Code string `validate:"required_if=GrantType openid,omitempty,max=128"`
Mobile string `validate:"required_if=GrantType password,omitempty,required_if=GrantType sms,omitempty,max=20"`
Password string `validate:"required_if=GrantType password,omitempty,max=64"`
SmsCode string `validate:"required_if=GrantType sms,omitempty,max=8"`
}
func (p LoginValidator) GetMessage() validate.ValidatorMessages {
return validate.ValidatorMessages{
"Openid.required": "Openid不能为空",
"ClientCode.required": "端编码不能为空",
"ClientCode.max": "端编码过长",
"GrantType.required": "登录方式不能为空",
"GrantType.oneof": "登录方式不正确",
"Code.required_if": "微信code不能为空",
"Mobile.required_if": "手机号不能为空",
"Password.required_if": "密码不能为空",
"SmsCode.required_if": "验证码不能为空",
}
}