package dev import ( "f1-game/internal/code" nameActor "f1-game/internal/name/actor" nameRemote "f1-game/internal/name/remote" "f1-game/internal/pb" "f1-game/nodes/center/internal/db" "strings" "github.com/cherry-game/cherry/net/parser/pomelo" ) type ( actor struct { pomelo.ActorBase //workerSize int64 } ) func NewActor() *actor { return &actor{} } func (p *actor) AliasID() string { return nameActor.Dev } func (p *actor) OnInit() { p.Remote().Register(nameRemote.Dev_Register, p.register) p.Remote().Register(nameRemote.Dev_Auth, p.auth) } // register 注册开发者帐号 func (p *actor) register(req *pb.DevRegister) int32 { var ( accountName = req.AccountName password = req.Password ) if strings.TrimSpace(accountName) == "" || strings.TrimSpace(password) == "" { return code.AccountInputParamsError } if len(accountName) < 3 || len(accountName) > 18 { return code.AccountNameLenError } if len(password) < 3 || len(password) > 18 { return code.AccountPasswordLenShort } return db.DevAccountRegister(accountName, password, req.Ip) } // auth 帐号验证 func (p *actor) auth(req *pb.DevRegister) (*pb.I64, int32) { var ( accountName = req.AccountName password = req.Password ) devAccount, _ := db.DevAccountWithName(accountName) if devAccount == nil || devAccount.Password != password { return nil, code.AccountSDKAuthFail } return &pb.I64{Value: devAccount.AccountID}, code.OK }