syntax = "proto3"; package ranking_management; option go_package = "./ranking_management"; message Request { string ping = 1; } message Response { string pong = 1; } // 定义SetUserGameScoreRequest消息类型 message SetUserGameScoreRequest { uint32 score = 1; // 对应json的"score" uint32 type = 2; // 对应json的"type", 带默认值0 uint32 userId = 3; } // 定义RankingData消息类型 message RankingData { string nickname = 1; // 昵称,对应db:"nickname" string avatar = 2; // 头像,对应db:"avatar" uint32 score = 3; // 得分,对应db:"score" uint64 user_id = 4; // 用户ID,对应db:"app_user_id" uint32 rank = 5; // 排名,对应db:"rank" bool self = 6; // 是否自我判断 } // 定义分页请求参数(如果有的话) message PageRequest { int32 page = 1; int32 limit = 2; } // 定义Base响应结构 message BaseResult { int32 error_code = 1; // 错误码 string error_msg = 2; // 错误信息 } service Ranking_management { rpc Ping(Request) returns(Response); rpc SetUserGameScore (SetUserGameScoreRequest) returns (BaseResult); rpc GetRankingList (PageRequest) returns (stream RankingData); }