package user import ( "go_dreamfactory/comm" "go_dreamfactory/modules" "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/log" "google.golang.org/protobuf/proto" ) const ( UserSubTypeLogin = "login" UserSubTypeLogout = "logout" UserSubTypeCreate = "create" UserSubTypeAddRes = "addres" //添加用户资源 金币、宝石等 UserSubTypeGetSetting = "getsetting" //获取设置 UserSubTypeUpdatesetting = "updatesetting" //更新设置 UserSubTypeVeriCode = "vericode" //验证码 UserSubTypeInitData = "initdata" //初始化用户 UserGetTujianResp = "gettujian" //获取图鉴信息 UserSubTypeLvChangedPush = "lvchanged" //等级变化推送 UserSubTypeModifyName = "modifyname" //修改名称 UserSubTypeModifyFigure = "modifyfigure" //修改形象 UserSubTypeModifySign = "modifysign" //修改签名 UserSubTypeModifyAvatar = "modifyavatar" //修改头像 UserSubTYpeModifyBgp = "modifybgp" //修改背景 UserSubTypeInfo = "info" //用户信息 UserSubTypeBattlerecord = "battlerecord" //玩家战斗记录 UserSubTypeShowteam = "showteam" //展示阵容 UserSubTypeSettingteam = "settingteam" //设置阵容展示 UserGetServerDataResp = "getserverdata" //获取服务器信息 UserSubTypeVipChangedPush = "vipchanged" //vip等级变化推送 ) type apiComp struct { modules.MCompGate service base.IRPCXService module *User hero comm.IHero mail comm.Imail chat comm.IChat } func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.MCompGate.Init(service, module, comp, options) this.service = service.(base.IRPCXService) this.module = module.(*User) return } func (this *apiComp) Start() (err error) { err = this.MCompGate.Start() var module core.IModule //get module hero if module, err = this.service.GetModule(comm.ModuleHero); err != nil { return } this.hero = module.(comm.IHero) if module, err = this.service.GetModule(comm.ModuleMail); err != nil { return } this.mail = module.(comm.Imail) if module, err = this.service.GetModule(comm.ModuleChat); err != nil { return } this.chat = module.(comm.IChat) return } func (this *apiComp) sendMsg(session comm.IUserSession, subType string, rsp proto.Message) { if err := session.SendMsg(string(this.module.GetType()), subType, rsp); err != nil { this.module.Error("User sendMsg err", log.Field{Key: "err", Value: err.Error()}) return } }