grpc 协议 proto 文件存放
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.

128 lines
3.2 KiB

  1. syntax = "proto3";
  2. package pb;
  3. option go_package = "gim/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. message ComplainGroupReq {
  24. int64 group_id = 1;
  25. ComplainType complain_type = 2; // 投诉类型
  26. string text = 3; // 投诉内容
  27. repeated string image_list = 4; // 图片
  28. }
  29. // 消息类型
  30. enum ComplainType {
  31. CT_UNKNOWN = 0; // 未知
  32. CT_GAMBLE = 1; // 存在赌博行为
  33. MT_DEFRAUD = 2; // 存在骗钱行为
  34. MT_HARASS = 3; // 不当信息骚扰
  35. MT_RUMOUR = 4; // 传播谣言
  36. MT_COUNTERFEIT_GOODS_INFO = 5; // 发布假冒商品信息
  37. MT_VIOLATION_OF_MINORS = 6; // 侵犯未成年人权益
  38. MT_OTHER = 7; // 其他
  39. }
  40. message IsFriendsReq {
  41. string user_phone = 1;
  42. string friend_phone = 2;
  43. }
  44. message IsFriendsResp {
  45. int64 is_friend = 1;
  46. User user = 2; // 用户信息
  47. }
  48. message Emoticon {
  49. string name = 1; // 名称
  50. string img_url = 2; // 图片地址
  51. string memo = 3; // 备注
  52. int32 sort = 4; // 排序
  53. }
  54. message EmoticonListResp {
  55. repeated Emoticon emoticons = 1;
  56. }
  57. message SignInReq {
  58. string phone_number = 1; // 手机号
  59. string code = 2; // 验证码
  60. int64 device_id = 3; // 设备id
  61. int64 master_id = 4; // 站长id
  62. string push_alia = 5; // 极光推送-别名
  63. string nickname = 6; // 昵称
  64. string avatar_url = 7; // 头像地址
  65. }
  66. message SignInResp {
  67. bool is_new = 1; // 是否是新用户
  68. int64 user_id = 2; // 用户id
  69. string token = 3; // token
  70. int64 master_id = 4; // 站长id
  71. }
  72. message CloudUploadFileReq {
  73. string dir = 1; // 目录名
  74. string file_name = 2; // 上传原文件名称
  75. string file_size = 3; // 文件大小
  76. }
  77. message CloudUploadFileResp {
  78. string method = 1; // 请求方式
  79. string host = 2; // 域名
  80. string key = 3; // key
  81. string token = 4; // token
  82. }
  83. message User {
  84. int64 user_id = 1; // 用户id
  85. string nickname = 2; // 昵称
  86. int32 sex = 3; // 性别
  87. string avatar_url = 4; // 头像地址
  88. string extra = 5; // 附加字段
  89. int64 create_time = 6; // 创建时间
  90. int64 update_time = 7; // 更新时间
  91. int64 master_id = 8; // 站长id
  92. int64 is_auto_added_friends = 9; // 是否自动被添加好友
  93. }
  94. message GetUserReq {
  95. int64 user_id = 1; // 用户id
  96. string phone = 2; // 用户手机号
  97. }
  98. message GetUserResp {
  99. User user = 1; // 用户信息
  100. }
  101. message UpdateUserReq {
  102. string nickname = 1; // 昵称
  103. int32 sex = 2; // 性别
  104. string avatar_url = 3; // 头像地址
  105. string extra = 4; // 附加字段
  106. }
  107. message SearchUserReq{
  108. string key = 1;
  109. int64 master_id = 2;
  110. }
  111. message SearchUserResp{
  112. repeated User users = 1;
  113. }