ecs/servers/gate/logic/check.go

82 lines
1.8 KiB
Go
Raw Normal View History

2025-06-04 18:17:39 +08:00
package logic
import (
"github.com/oylshe1314/framework/errors"
2025-07-17 16:21:08 +08:00
"regexp"
2025-06-04 18:17:39 +08:00
)
const (
ErrVersionEmpty errors.StringError = "版本不能为空"
ErrVersionFormat errors.StringError = "版本格式错误"
ErrVersionTooLow errors.StringError = "版本过低,请将游戏更新至最新版本"
ErrUsernameEmpty errors.StringError = "用户名不能为空"
ErrUsernameFormat errors.StringError = "用户名格式错误"
ErrPasswordEmpty errors.StringError = "密码不能为空"
ErrPasswordFormat errors.StringError = "密码格式错误"
2025-07-17 16:21:08 +08:00
ErrPhoneEmpty errors.StringError = "手机号码不能为空"
ErrPhoneFormat errors.StringError = "手机号码不正确"
2025-06-04 18:17:39 +08:00
ErrTokenEmpty errors.StringError = "TOKEN不能为空"
ErrTokenInvalid errors.StringError = "TOKEN无效"
ErrTokenExpired errors.StringError = "TOKEN已过期"
)
func CheckDevice(device string) error {
return nil
}
func CheckVersion(version, newestVersion string) error {
if newestVersion == "" || version == newestVersion {
return nil
}
return ErrVersionTooLow
}
func CheckUsername(username string) error {
if len(username) == 0 {
return ErrUsernameEmpty
}
2025-07-17 16:21:08 +08:00
if len(username) < 8 || len(username) > 20 {
return ErrUsernameFormat
}
2025-06-04 18:17:39 +08:00
2025-07-17 16:21:08 +08:00
return nil
2025-06-04 18:17:39 +08:00
}
func CheckPassword(password string) error {
2025-07-17 16:21:08 +08:00
if len(password) == 0 {
return ErrPasswordEmpty
}
if len(password) < 8 || len(password) > 20 {
return ErrPasswordFormat
}
2025-06-04 18:17:39 +08:00
return nil
2025-07-17 16:21:08 +08:00
}
2025-06-04 18:17:39 +08:00
2025-07-17 16:21:08 +08:00
func CheckPhone(number string) error {
if len(number) == 0 {
return ErrPhoneEmpty
}
if len(number) != 11 {
return ErrPhoneFormat
}
matched, err := regexp.MatchString(`^1[3-9]\d{9}$`, number)
if err != nil || !matched {
return ErrPhoneFormat
}
return nil
2025-06-04 18:17:39 +08:00
}
func CheckToken(token string) error {
if len(token) == 0 {
return ErrTokenEmpty
}
return nil
}