package robot import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "log" ) func (r *Robot) handleUserMsg(msg *pb.UserMessage) { switch msg.SubType { case "login": r.handleLogin(msg) case "create": r.handleCreateUser(msg) } } //处理登录响应数据 func (r *Robot) handleLogin(msg *pb.UserMessage) { rsp := &pb.UserLoginResp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) //是否有登录数据返回 if rsp != nil { r.user = rsp.Data r.onUserLoaded() } else { r.AccountRegister() //请求Http接口,模拟创建新账号 } } //创角 func (r *Robot) CreateUser(NickName string) { req := &pb.UserCreateReq{ NickName: NickName, } head := &pb.UserMessage{ MainType: "user", SubType: "create", } defer traceFunc(head.MainType, head.SubType, r.user.UserData.GetUserId(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleCreateUser(msg *pb.UserMessage) { rsp := &pb.UserCreateRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) }