golang-im聊天
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 

126 linhas
3.1 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. }
  64. message SignInResp {
  65. bool is_new = 1; // 是否是新用户
  66. int64 user_id = 2; // 用户id
  67. string token = 3; // token
  68. int64 master_id = 4; // 站长id
  69. }
  70. message CloudUploadFileReq {
  71. string dir = 1; // 目录名
  72. string file_name = 2; // 上传原文件名称
  73. string file_size = 3; // 文件大小
  74. }
  75. message CloudUploadFileResp {
  76. string method = 1; // 请求方式
  77. string host = 2; // 域名
  78. string key = 3; // key
  79. string token = 4; // token
  80. }
  81. message User {
  82. int64 user_id = 1; // 用户id
  83. string nickname = 2; // 昵称
  84. int32 sex = 3; // 性别
  85. string avatar_url = 4; // 头像地址
  86. string extra = 5; // 附加字段
  87. int64 create_time = 6; // 创建时间
  88. int64 update_time = 7; // 更新时间
  89. int64 master_id = 8; // 站长id
  90. int64 is_auto_added_friends = 9; // 是否自动被添加好友
  91. }
  92. message GetUserReq {
  93. int64 user_id = 1; // 用户id
  94. string phone = 2; // 用户手机号
  95. }
  96. message GetUserResp {
  97. User user = 1; // 用户信息
  98. }
  99. message UpdateUserReq {
  100. string nickname = 1; // 昵称
  101. int32 sex = 2; // 性别
  102. string avatar_url = 3; // 头像地址
  103. string extra = 4; // 附加字段
  104. }
  105. message SearchUserReq{
  106. string key = 1;
  107. int64 master_id = 2;
  108. }
  109. message SearchUserResp{
  110. repeated User users = 1;
  111. }