You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

170 lines
4.4 KiB

  1. syntax = "proto3";
  2. package pb;
  3. option go_package = "egg-im/pkg/pb/";
  4. import "common.ext.proto";
  5. service BusinessExt {
  6. // 登录
  7. rpc SignIn (SignInReq) returns (SignInResp);
  8. // 获取用户信息
  9. rpc GetUser (GetUserReq) returns (GetUserResp);
  10. // 更新用户信息
  11. rpc UpdateUser (UpdateUserReq) returns (Empty);
  12. // 搜索用户(这里简单数据库实现,生产环境建议使用ES)
  13. rpc SearchUser (SearchUserReq) returns (SearchUserResp);
  14. // 上传文件至云端
  15. rpc CloudUploadFile (CloudUploadFileReq) returns (CloudUploadFileResp);
  16. // 获取表情
  17. rpc EmoticonList (Empty) returns (EmoticonListResp);
  18. // 判断是否为好友关系
  19. rpc IsFriends (IsFriendsReq) returns (IsFriendsResp);
  20. // 投诉群
  21. rpc ComplainGroup (ComplainGroupReq) returns (Empty);
  22. // 发布群公告
  23. rpc PublishGroupNotice (PublishGroupNoticeReq) returns (Empty);
  24. // 查看群公告
  25. rpc ViewGroupNotice (ViewGroupNoticeReq) returns (ViewGroupNoticeResp);
  26. // 点赞群公告
  27. rpc LikeGroupNotice (LikeGroupNoticeReq) returns (Empty);
  28. // 取消点赞群公告
  29. rpc CancelLikeGroupNotice (CancelLikeGroupNoticeReq) returns (Empty);
  30. }
  31. message LikeGroupNoticeReq {
  32. int64 group_id = 1;
  33. }
  34. message CancelLikeGroupNoticeReq {
  35. int64 group_id = 1;
  36. }
  37. message ViewGroupNoticeReq {
  38. int64 group_id = 1;
  39. }
  40. message ViewGroupNoticeResp {
  41. int64 group_id = 1;
  42. int64 user_id = 2; //发布用户id
  43. string content = 3; //公告内容
  44. int64 like_nums = 4; //点赞数量
  45. int64 read_nums = 5; //阅读数量
  46. GroupNoticePublishType publish_type = 6; // 发布方式
  47. string publish_time = 7; // 发布时间
  48. bool is_like = 8; // 是否点赞
  49. }
  50. message PublishGroupNoticeReq {
  51. int64 group_id = 1;
  52. int64 user_id = 2; //发布用户id
  53. GroupNoticePublishType publish_type = 3; // 发布方式
  54. string content = 4; // 发布内容
  55. }
  56. message ComplainGroupReq {
  57. int64 group_id = 1;
  58. ComplainType complain_type = 2; // 投诉类型
  59. string text = 3; // 投诉内容
  60. repeated string image_list = 4; // 图片
  61. }
  62. // 投诉类型
  63. enum ComplainType {
  64. CT_UNKNOWN = 0; // 未知
  65. CT_GAMBLE = 1; // 存在赌博行为
  66. MT_DEFRAUD = 2; // 存在骗钱行为
  67. MT_HARASS = 3; // 不当信息骚扰
  68. MT_RUMOUR = 4; // 传播谣言
  69. MT_COUNTERFEIT_GOODS_INFO = 5; // 发布假冒商品信息
  70. MT_VIOLATION_OF_MINORS = 6; // 侵犯未成年人权益
  71. MT_OTHER = 7; // 其他
  72. }
  73. // 群公告发布方式
  74. enum GroupNoticePublishType {
  75. UNKNOWN_PUBLISH = 0; // 未知
  76. ONLY_PUBLISH = 1; // 仅发布
  77. PUBLISH_AND_NOTICE = 2; // 发布并通知
  78. NOTICE_AND_TOP_UP = 3; // 存在骗钱行为
  79. }
  80. message IsFriendsReq {
  81. string user_phone = 1;
  82. string friend_phone = 2;
  83. }
  84. message IsFriendsResp {
  85. int64 is_friend = 1;
  86. User user = 2; // 用户信息
  87. }
  88. message Emoticon {
  89. string name = 1; // 名称
  90. string img_url = 2; // 图片地址
  91. string memo = 3; // 备注
  92. int32 sort = 4; // 排序
  93. }
  94. message EmoticonListResp {
  95. repeated Emoticon emoticons = 1;
  96. }
  97. message SignInReq {
  98. string phone_number = 1; // 手机号
  99. string code = 2; // 验证码
  100. int64 device_id = 3; // 设备id
  101. string push_alia = 4; // 极光推送-别名
  102. string nickname = 5; // 昵称
  103. string avatar_url = 6; // 头像地址
  104. }
  105. message SignInResp {
  106. bool is_new = 1; // 是否是新用户
  107. int64 user_id = 2; // 用户id
  108. string token = 3; // token
  109. }
  110. message CloudUploadFileReq {
  111. string dir = 1; // 目录名
  112. string file_name = 2; // 上传原文件名称
  113. string file_size = 3; // 文件大小
  114. }
  115. message CloudUploadFileResp {
  116. string method = 1; // 请求方式
  117. string host = 2; // 域名
  118. string key = 3; // key
  119. string token = 4; // token
  120. }
  121. message User {
  122. int64 user_id = 1; // 用户id
  123. string nickname = 2; // 昵称
  124. int32 sex = 3; // 性别
  125. string avatar_url = 4; // 头像地址
  126. string extra = 5; // 附加字段
  127. int64 create_time = 6; // 创建时间
  128. int64 update_time = 7; // 更新时间
  129. int64 is_auto_added_friends = 8; // 是否自动被添加好友
  130. string phone_number = 9; // 手机号
  131. }
  132. message GetUserReq {
  133. int64 user_id = 1; // 用户id
  134. string phone = 2; // 用户手机号
  135. }
  136. message GetUserResp {
  137. User user = 1; // 用户信息
  138. }
  139. message UpdateUserReq {
  140. string nickname = 1; // 昵称
  141. int32 sex = 2; // 性别
  142. string avatar_url = 3; // 头像地址
  143. string extra = 4; // 附加字段
  144. }
  145. message SearchUserReq{
  146. string key = 1;
  147. }
  148. message SearchUserResp{
  149. repeated User users = 1;
  150. }