golang-im聊天
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.
 
 
 
 

78 rivejä
1.9 KiB

  1. syntax = "proto3";
  2. package pb;
  3. option go_package = "gim/pkg/pb/";
  4. message Empty{}
  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. message SignInReq {
  18. string phone_number = 1; // 手机号
  19. string code = 2; // 验证码
  20. int64 device_id = 3; // 设备id
  21. int64 master_id = 4; // 站长id
  22. string push_alia = 5; // 极光推送-别名
  23. }
  24. message SignInResp {
  25. bool is_new = 1; // 是否是新用户
  26. int64 user_id = 2; // 用户id
  27. string token = 3; // token
  28. int64 master_id = 4; // 站长id
  29. }
  30. message CloudUploadFileReq {
  31. string dir = 1; // 目录名
  32. string file_name = 2; // 上传原文件名称
  33. string file_size = 3; // 文件大小
  34. }
  35. message CloudUploadFileResp {
  36. string method = 1; // 请求方式
  37. string host = 2; // 域名
  38. string key = 3; // key
  39. string token = 4; // token
  40. }
  41. message User {
  42. int64 user_id = 1; // 用户id
  43. string nickname = 2; // 昵称
  44. int32 sex = 3; // 性别
  45. string avatar_url = 4; // 头像地址
  46. string extra = 5; // 附加字段
  47. int64 create_time = 6; // 创建时间
  48. int64 update_time = 7; // 更新时间
  49. int64 master_id = 8; // 更新时间
  50. }
  51. message GetUserReq {
  52. int64 user_id = 1; // 用户id
  53. }
  54. message GetUserResp {
  55. User user = 1; // 用户信息
  56. }
  57. message UpdateUserReq {
  58. string nickname = 1; // 昵称
  59. int32 sex = 2; // 性别
  60. string avatar_url = 3; // 头像地址
  61. string extra = 4; // 附加字段
  62. }
  63. message SearchUserReq{
  64. string key = 1;
  65. int64 master_id = 2;
  66. }
  67. message SearchUserResp{
  68. repeated User users = 1;
  69. }