login_pwd.go 1007 字节
package command

import (
	"fmt"

	"github.com/beego/beego/v2/core/validation"
)

type LoginPwdCommand struct {
	Username   string `json:"username"  valid:"Required"`
	Password   string `json:"password"`
	DeviceType string `json:"-"`
	// 图形验证码操作成功的识别字段,服务端需使用图形验证插件(geetest)提供的验证模块
	// 对相应数据进行验证,用以确定该次请求为用户手动操作的正确行为
	CaptchaChallenge string `json:"captchaChallenge"`
	CaptchaValidate  string `json:"captchaValidate"`
	CaptchaSeccode   string `json:"captchaSeccode"`
	SessionMode      int    `json:"sessionMode"`
}

func (cmd *LoginPwdCommand) Valid(validation *validation.Validation) {

}

func (cmd *LoginPwdCommand) ValidateCommand() error {
	valid := validation.Validation{}
	b, err := valid.Valid(cmd)
	if err != nil {
		return err
	}
	if !b {
		for _, validErr := range valid.Errors {
			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
		}
	}
	return nil
}