syntax = "proto3"; package user_management; option go_package = "./user_management"; message Request { string ping = 1; } message Response { string pong = 1; } message SetUserRequest{ uint64 UserId = 1;//用户id string Nickname = 2;//昵称 string Avatar = 3;//头像 } message SetUserResponse{ int64 RowsAffected = 1; } message CreateUserRequest{ string Nickname = 1; string Avatar = 2; } message UserId{ uint64 UserId = 1; } message Empty {}//空结构体 message User { uint64 ID = 1; string Nickname = 2; string Avatar = 3; bool IsNew = 4; } service user_management { rpc Ping(Request) returns(Response); //SetUser 设置用户信息 rpc SetUser (SetUserRequest) returns(SetUserResponse); //CreateUser 获取用户或者创建用户 rpc CreateUser(CreateUserRequest) returns(UserId); //CreateEmptyUser 创建空用户,用于关联游戏账号的空数据 rpc CreateEmptyUser(Empty) returns(UserId); //FirstOrCreateUser 创建用户或者获取用户 rpc FindById(UserId) returns(User); //GetUserById 通过 ID 获取用户 rpc GetUserById(UserId) returns(User); }