syntax = "proto3"; package pb; option go_package = "gim/pkg/pb/"; import "common.ext.proto"; 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); // 获取表情 rpc EmoticonList (Empty) returns (EmoticonListResp); // 判断是否为好友关系 rpc IsFriends (IsFriendsReq) returns (IsFriendsResp); } message IsFriendsReq { string user_phone = 1; string friend_phone = 2; } message IsFriendsResp { int64 is_friend = 1; User user = 2; // 用户信息 } message Emoticon { string name = 1; // 名称 string img_url = 2; // 图片地址 string memo = 3; // 备注 int32 sort = 4; // 排序 } message EmoticonListResp { repeated Emoticon emoticons = 1; } 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; // 站长id int64 is_auto_added_friends = 9; // 是否自动被添加好友 } message GetUserReq { int64 user_id = 1; // 用户id string phone = 2; // 用户手机号 } 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; }