syntax = "proto3"; package group; option go_package = ".;group"; import "blocks.proto"; // relation-关系管理:群组 service Member{ //获取群组成员列表 rpc Fetch(IdentRequest) returns (GroupMemberReply); //申请加群 rpc DoJoin(DoJoinRequest) returns (StatusReply); //申请加群列表 rpc JoinFetch(Empty) returns (JoinFetchReply); //申请加群处理 rpc JoinDoHandle(GroupOPRequest) returns (StatusReply); //设置或取消管理员 rpc DoSetManager(GroupOPRequest) returns (StatusReply); //踢人 rpc DoKick(GroupOPRequest) returns (StatusReply); //退群 rpc DoQuit(GroupOPRequest) returns (StatusReply); } message PassportInfoSimpleCard{ string identity=1; string nickname=2; //昵称 string remark_name=3; // 备注名称 string avatar=4; int32 sex = 5; //性别,1为男性,2为女性 int32 role=6;//角色,主要是群组内的角色使用 } message PassportInfoDetailCard{ string identity=1; string nickname=2; //昵称 string remark_name=3; // 备注名称 int32 popular=4; //是否置顶 string avatar=5; string birthday = 6; //生日 int32 sex = 7; //性别,1为男性,2为女性 int32 province = 8; //省 int32 city = 9; //市 int32 area = 10; //区 string sign = 11; //签名 repeated string tags=12; //所属标签组 int32 foreign_status=13; //外表的状态值,根据表不同,值的作用不同 } message GroupMemberReply { int32 total=1; // 总记录数 int64 version=2; //版本号 repeated PassportInfoSimpleCard members=3; //成员信息 } message DoJoinRequest{ int64 id = 1; // 群组ID string identity = 2; // 群组唯一码 string message=3;//加群留言 } message JoinFetchReply { int32 total=1; // 总记录数 repeated ApplyJoinGroupItem applys=2; //群组信息 } message ApplyJoinGroupItem { string identity=1; // 唯一标识 int64 group_id =2; // 主键 PassportInfoDetailCard from=3; string message=4; string created_at=5; //时间 int32 status =6; // 状态 } message GroupOPRequest { string identity=1; // 唯一标识 string group_identity=2; //群组identity string direction=3; //操作方式:Pass通过,Reject拒绝,Set设置,cancel取消 }