1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package account
- import (
- cfacade "github.com/mhaya/facade"
- "github.com/mhaya/game/game_cluster/internal/code"
- "github.com/mhaya/game/game_cluster/internal/event"
- "github.com/mhaya/game/game_cluster/internal/mdb/models"
- "github.com/mhaya/game/game_cluster/internal/param"
- "github.com/mhaya/game/game_cluster/nodes/game/module/online"
- clog "github.com/mhaya/logger"
- cactor "github.com/mhaya/net/actor"
- "strings"
- )
- type (
- ActorAccount struct {
- cactor.Base
- account models.Account
- }
- )
- func (p *ActorAccount) AliasID() string {
- return "account"
- }
- // OnInit center为后端节点,不直接与客户端通信,所以了一些remote函数,供RPC调用
- func (p *ActorAccount) OnInit() {
- p.Remote().Register("registerAccount", p.registerOrLoinAccount)
- p.Event().Register(event.PlayerDailyDataKey, p.onLoginEvent)
- }
- // onLoginEvent 玩家登陆事件处理
- func (p *ActorAccount) onLoginEvent(e cfacade.IEventData) {
- evt, ok := e.(*event.PlayerLogin)
- if ok == false {
- return
- }
- clog.Infof("[PlayerLoginEvent] [playerId = %v,openid = %v,TargetPath=%v,, onlineCount = %v]",
- evt.PlayerId,
- evt.OpenID,
- evt.TargetPath,
- online.Count(),
- )
- }
- // registerDevAccount 注册开发者帐号
- func (p *ActorAccount) registerOrLoinAccount(req *param.LoginReq) (*param.LoginResp, int32) {
- if strings.TrimSpace(req.OpenID) == "" || strings.TrimSpace(req.IP) == "" || strings.TrimSpace(req.Platform) == "" || strings.TrimSpace(req.Channel) == "" {
- return nil, code.Error
- }
- account, err := p.account.AccountRegisterOrLogin(req)
- if err > 0 {
- return nil, code.Error
- }
- return ¶m.LoginResp{
- UserName: account.UserName,
- OpenId: account.OpenId,
- TargetPath: cfacade.NewChildPath(10001, "player", account.UserName),
- }, code.OK
- }
|