golang-im聊天
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

connect.int.proto 2.1 KiB

před 2 roky
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. syntax = "proto3";
  2. package pb;
  3. option go_package = "gim/pkg/pb/";
  4. service ConnectInt {
  5. // 消息投递
  6. rpc DeliverMessage (DeliverMessageReq) returns (Empty);
  7. }
  8. message Empty{}
  9. enum SenderType {
  10. ST_UNKNOWN = 0; // 未知的
  11. ST_SYSTEM = 1; // IM系统
  12. ST_USER = 2; // 用户
  13. ST_BUSINESS = 3; // 业务方
  14. }
  15. message Sender {
  16. SenderType sender_type = 1; // 发送者类型,1:系统,2:用户,3:第三方业务系统
  17. int64 sender_id = 2; // 发送者id
  18. int64 device_id = 3; // 发送者设备id
  19. string avatar_url = 4; // 昵称
  20. string nickname = 5; // 头像
  21. string extra = 6; // 扩展字段
  22. }
  23. enum ReceiverType {
  24. RT_UNKNOWN = 0; // 未知
  25. RT_USER = 1; // 用户
  26. RT_GROUP = 2; // 群组
  27. RT_ROOM = 3; // 房间
  28. }
  29. // 单条消息投递内容(估算大约100个字节),todo 通知栏提醒
  30. message Message {
  31. Sender sender = 1; // 发送者
  32. ReceiverType receiver_type = 2; // 接收者类型,1:user;2:group
  33. int64 receiver_id = 3; // 用户id或者群组id
  34. repeated int64 to_user_ids = 4; // 需要@的用户id列表
  35. MessageType message_type = 5; // 消息类型
  36. bytes message_content = 6; // 消息内容
  37. int64 seq = 7; // 用户消息发送序列号
  38. int64 send_time = 8; // 消息发送时间戳,精确到毫秒
  39. MessageStatus status = 9; // 消息状态
  40. }
  41. enum MessageStatus {
  42. MS_UNKNOWN = 0; // 未知的
  43. MS_NORMAL = 1; // 正常的
  44. MS_RECALL = 2; // 撤回
  45. }
  46. // 消息类型
  47. enum MessageType {
  48. MT_UNKNOWN = 0; // 未知
  49. MT_TEXT = 1; // 文本
  50. MT_FACE = 2; // 表情
  51. MT_VOICE = 3; // 语音消息
  52. MT_IMAGE = 4; // 图片
  53. MT_FILE = 5; // 文件
  54. MT_LOCATION = 6; // 地理位置
  55. MT_COMMAND = 7; // 指令推送
  56. MT_CUSTOM = 8; // 自定义
  57. }
  58. // 消息投递,package_type:4
  59. message MessageSend {
  60. Message message = 1; // 消息
  61. }
  62. message DeliverMessageReq {
  63. int64 device_id = 1; // 设备id
  64. MessageSend message_send = 2; // 数据
  65. }
  66. // 房间推送
  67. message PushRoomMsg{
  68. int64 room_id = 1; // 设备id
  69. MessageSend message_send = 2; // 数据
  70. }
  71. // 房间推送
  72. message PushAllMsg{
  73. MessageSend message_send = 2; // 数据
  74. }