syntax = "proto3"; import "google/protobuf/empty.proto"; //import "postal.proto"; option go_package = "./chat"; service Chat { rpc Send(ReqSend) returns (ResSend); rpc RoomSend(ReqRoomSend) returns (ResSend); rpc RoomCreate(ReqRoomCreate) returns (ResRoomCreate); rpc RoomJoin(ReqRoomJoin) returns (google.protobuf.Empty); rpc RoomLeave(ReqRoomLeave) returns (google.protobuf.Empty); rpc RoomKickOut(ReqRoomKickOut) returns (google.protobuf.Empty); rpc RoomInfo(ReqRoomInfo) returns (ResRoomInfo); rpc RoomList(ReqRoomList) returns (ResRoomList); } message ChatMessage { string sender = 1; string content = 7; // Message message = 8; } message ReqSend { string receiver = 2; string content = 3; // 消息格式化器 [img:img_id][file:file_id]text... } message ReqRoomSend { string gid = 1; string message = 2; } message ResSend { int32 status = 1; // 1已发送,2已接收 string result = 2; } message Group { string gid = 1; string masterUid = 2; int32 userLimit = 3; int32 userNum = 4; string gname = 5; string createUid = 6; int64 createAt = 7; } message ReqRoomCreate { string gname = 2; } message ResRoomCreate { Group group = 1; } message ReqRoomJoin { string gid = 1; } message ReqRoomLeave { string gid = 1; } message ReqRoomKickOut { string gid = 1; string uid = 2; } message ReqRoomInfo { string gid = 1; } message ResRoomInfo { Group group = 1; } message ReqRoomList { } message ResRoomList { repeated Group groups = 1; }