golang-im聊天
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

64 строки
1.5 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. message SignInReq {
  16. string phone_number = 1; // 手机号
  17. string code = 2; // 验证码
  18. int64 device_id = 3; // 设备id
  19. int64 master_id = 4; // 站长id
  20. }
  21. message SignInResp {
  22. bool is_new = 1; // 是否是新用户
  23. int64 user_id = 2; // 用户id
  24. string token = 3; // token
  25. int64 master_id = 4; // 站长id
  26. }
  27. message User {
  28. int64 user_id = 1; // 用户id
  29. string nickname = 2; // 昵称
  30. int32 sex = 3; // 性别
  31. string avatar_url = 4; // 头像地址
  32. string extra = 5; // 附加字段
  33. int64 create_time = 6; // 创建时间
  34. int64 update_time = 7; // 更新时间
  35. int64 master_id = 8; // 更新时间
  36. }
  37. message GetUserReq {
  38. int64 user_id = 1; // 用户id
  39. }
  40. message GetUserResp {
  41. User user = 1; // 用户信息
  42. }
  43. message UpdateUserReq {
  44. string nickname = 1; // 昵称
  45. int32 sex = 2; // 性别
  46. string avatar_url = 3; // 头像地址
  47. string extra = 4; // 附加字段
  48. }
  49. message SearchUserReq{
  50. string key = 1;
  51. int64 master_id = 2;
  52. }
  53. message SearchUserResp{
  54. repeated User users = 1;
  55. }