50 lines
854 B
Go
50 lines
854 B
Go
package robot
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/pb"
|
|
"log"
|
|
|
|
"google.golang.org/protobuf/proto"
|
|
)
|
|
|
|
func (r *Robot) handleLogin(msg *pb.UserMessage) {
|
|
switch msg.SubType {
|
|
case "login":
|
|
handleLogin(r, msg)
|
|
default:
|
|
log.Fatal("methodName no exist")
|
|
}
|
|
}
|
|
|
|
//处理接口响应数据
|
|
func handleLogin(r *Robot, msg *pb.UserMessage) {
|
|
rsp := &pb.UserLoginResp{}
|
|
if !comm.ProtoDecode(msg, rsp) {
|
|
return
|
|
}
|
|
log.Printf("to client: %v", rsp.Data)
|
|
}
|
|
|
|
//处理登录请求
|
|
func (r *Robot) AccountLogin() {
|
|
//登录
|
|
loginReg := &pb.UserLoginReq{
|
|
Name: r.Opts.Account,
|
|
}
|
|
|
|
head := &pb.UserMessage{
|
|
MainType: "login",
|
|
SubType: "login",
|
|
}
|
|
if comm.ProtoEncode(loginReg, head) {
|
|
data, _ := proto.Marshal(head)
|
|
err := r.SendToClient(data)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
|
|
log.Printf("%s login ", r.Opts.Account)
|
|
}
|