61 lines
1.0 KiB
Go
61 lines
1.0 KiB
Go
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)
|
||
}
|