syntax = "proto3"; package pb; option go_package = "gim/pkg/pb/"; message Empty{} service BusinessExt { // 登录 rpc SignIn (SignInReq) returns (SignInResp); // 获取用户信息 rpc GetUser (GetUserReq) returns (GetUserResp); // 更新用户信息 rpc UpdateUser (UpdateUserReq) returns (Empty); // 搜索用户(这里简单数据库实现,生产环境建议使用ES) rpc SearchUser (SearchUserReq) returns (SearchUserResp); // 上传文件至云端 rpc CloudUploadFile (CloudUploadFileReq) returns (CloudUploadFileResp); } message SignInReq { string phone_number = 1; // 手机号 string code = 2; // 验证码 int64 device_id = 3; // 设备id int64 master_id = 4; // 站长id string push_alia = 5; // 极光推送-别名 } message SignInResp { bool is_new = 1; // 是否是新用户 int64 user_id = 2; // 用户id string token = 3; // token int64 master_id = 4; // 站长id } message CloudUploadFileReq { string dir = 1; // 目录名 string file_name = 2; // 上传原文件名称 string file_size = 3; // 文件大小 } message CloudUploadFileResp { string method = 1; // 请求方式 string host = 2; // 域名 string key = 3; // key string token = 4; // token } message User { int64 user_id = 1; // 用户id string nickname = 2; // 昵称 int32 sex = 3; // 性别 string avatar_url = 4; // 头像地址 string extra = 5; // 附加字段 int64 create_time = 6; // 创建时间 int64 update_time = 7; // 更新时间 int64 master_id = 8; // 更新时间 } message GetUserReq { int64 user_id = 1; // 用户id } message GetUserResp { User user = 1; // 用户信息 } message UpdateUserReq { string nickname = 1; // 昵称 int32 sex = 2; // 性别 string avatar_url = 3; // 头像地址 string extra = 4; // 附加字段 } message SearchUserReq{ string key = 1; int64 master_id = 2; } message SearchUserResp{ repeated User users = 1; }