syntax = "proto3"; package pb; option go_package = "egg-im/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); // 投诉群 rpc ComplainGroup (ComplainGroupReq) returns (Empty); // 发布群公告 rpc PublishGroupNotice (PublishGroupNoticeReq) returns (Empty); // 查看群公告 rpc ViewGroupNotice (ViewGroupNoticeReq) returns (ViewGroupNoticeResp); // 点赞群公告 rpc LikeGroupNotice (LikeGroupNoticeReq) returns (Empty); // 取消点赞群公告 rpc CancelLikeGroupNotice (CancelLikeGroupNoticeReq) returns (Empty); } message LikeGroupNoticeReq { int64 group_id = 1; } message CancelLikeGroupNoticeReq { int64 group_id = 1; } message ViewGroupNoticeReq { int64 group_id = 1; } message ViewGroupNoticeResp { int64 group_id = 1; int64 user_id = 2; //发布用户id string content = 3; //公告内容 int64 like_nums = 4; //点赞数量 int64 read_nums = 5; //阅读数量 GroupNoticePublishType publish_type = 6; // 发布方式 string publish_time = 7; // 发布时间 bool is_like = 8; // 是否点赞 } message PublishGroupNoticeReq { int64 group_id = 1; int64 user_id = 2; //发布用户id GroupNoticePublishType publish_type = 3; // 发布方式 string content = 4; // 发布内容 } message ComplainGroupReq { int64 group_id = 1; ComplainType complain_type = 2; // 投诉类型 string text = 3; // 投诉内容 repeated string image_list = 4; // 图片 } // 投诉类型 enum ComplainType { CT_UNKNOWN = 0; // 未知 CT_GAMBLE = 1; // 存在赌博行为 MT_DEFRAUD = 2; // 存在骗钱行为 MT_HARASS = 3; // 不当信息骚扰 MT_RUMOUR = 4; // 传播谣言 MT_COUNTERFEIT_GOODS_INFO = 5; // 发布假冒商品信息 MT_VIOLATION_OF_MINORS = 6; // 侵犯未成年人权益 MT_OTHER = 7; // 其他 } // 群公告发布方式 enum GroupNoticePublishType { UNKNOWN_PUBLISH = 0; // 未知 ONLY_PUBLISH = 1; // 仅发布 PUBLISH_AND_NOTICE = 2; // 发布并通知 NOTICE_AND_TOP_UP = 3; // 存在骗钱行为 } 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 string push_alia = 4; // 极光推送-别名 string nickname = 5; // 昵称 string avatar_url = 6; // 头像地址 } message SignInResp { bool is_new = 1; // 是否是新用户 int64 user_id = 2; // 用户id string token = 3; // token } 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 is_auto_added_friends = 8; // 是否自动被添加好友 string phone_number = 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; } message SearchUserResp{ repeated User users = 1; }