|
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
|
|
package pb;
|
|
|
|
|
|
|
|
|
|
option go_package = "./pb";
|
|
|
|
|
|
|
|
|
|
// model
|
|
|
|
|
message User {
|
|
|
|
|
int64 id = 1;
|
|
|
|
|
string username = 2;
|
|
|
|
|
// platform
|
|
|
|
|
string platform = 3;
|
|
|
|
|
string pUid = 4;
|
|
|
|
|
string pUname = 5;
|
|
|
|
|
string pAvatar = 6;
|
|
|
|
|
string pInfo = 7;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message Empty {}
|
|
|
|
|
|
|
|
|
|
// req
|
|
|
|
|
message PlatformUserReq {
|
|
|
|
|
string platform = 1;
|
|
|
|
|
string pUid = 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message PlatformUserResp {
|
|
|
|
|
User user = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通知-PvP伤害 statistics.pvp.damage
|
|
|
|
|
message StatPvPDamageReq {
|
|
|
|
|
int64 uid = 1; // 造成伤害的用户ID
|
|
|
|
|
optional int64 targetUid = 2; // 目标用户ID(可能是基地,不一定有)
|
|
|
|
|
float damage = 3; // 伤害量
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通知-PvP击杀单位 statistics.pvp.killunit
|
|
|
|
|
message StatPvPKillUnitReq {
|
|
|
|
|
int64 uid = 1; // 用户ID
|
|
|
|
|
optional int64 targetUid = 2; // 目标用户
|
|
|
|
|
string attacker = 3; // 造成击杀东西(building:兵营 U0001:xxx兵 S0001: 技能)
|
|
|
|
|
string victim = 4; // 被击杀的东西(U0001:xxx兵)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通知-PvP杀兵营(人) statistics.pvp.kill
|
|
|
|
|
message StatPvPKillReq {
|
|
|
|
|
int64 uid = 1; // 用户ID
|
|
|
|
|
int64 targetUid = 2; // 目标用户
|
|
|
|
|
bool isGeneral = 3; // targetUid是否名将
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通知-PvP一血 statistics.pvp.first
|
|
|
|
|
message StatPvPFirstBloodReq {
|
|
|
|
|
int64 uid = 1; // 用户ID
|
|
|
|
|
int32 type = 2; // 1-拿到一血 2-被破一血
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通知-PvP战报 statistics.pvp.report
|
|
|
|
|
message StatPvPReportReq {
|
|
|
|
|
int32 winCamp = 1; // 获胜阵营 1-蓝 2-红
|
|
|
|
|
int64 generalUid = 2; // 名将UID
|
|
|
|
|
repeated int64 winUids = 3; // 战胜方玩家列表
|
|
|
|
|
repeated int64 lostUids = 4; // 战败方玩家列表
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// rank
|
|
|
|
|
message RankPvpReq {
|
|
|
|
|
int32 type = 1; // rank类型
|
|
|
|
|
int32 topN = 2; // TopN
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message RankPvpResp {
|
|
|
|
|
message Item {
|
|
|
|
|
int64 uid = 1;
|
|
|
|
|
string uname = 2;
|
|
|
|
|
int64 score = 3;
|
|
|
|
|
string avatar = 4;
|
|
|
|
|
}
|
|
|
|
|
int32 type = 1; // rank类型
|
|
|
|
|
repeated Item items = 2; // rank数据
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
service userCenter {
|
|
|
|
|
// user
|
|
|
|
|
rpc retrievePlatformUser(PlatformUserReq) returns (PlatformUserResp);
|
|
|
|
|
|
|
|
|
|
// statistics
|
|
|
|
|
rpc statPvpDamage(StatPvPDamageReq) returns (Empty);
|
|
|
|
|
rpc statPvpKillUnit(StatPvPKillUnitReq) returns (Empty);
|
|
|
|
|
rpc statPvpKill(StatPvPKillReq) returns (Empty);
|
|
|
|
|
rpc statPvpFirstBlood(StatPvPFirstBloodReq) returns (Empty);
|
|
|
|
|
rpc statPvpReport(StatPvPReportReq) returns (Empty);
|
|
|
|
|
|
|
|
|
|
// rank
|
|
|
|
|
rpc rankPvp(RankPvpReq) returns(RankPvpResp);
|
|
|
|
|
}
|