account.proto 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. syntax = "proto3";
  2. package uu.mobile;
  3. import "base.proto";
  4. option java_multiple_files = true;
  5. option java_package = "com.usoftchina.uu.mobile.grpc.api";
  6. // 账户服务
  7. service AccountService {
  8. // 注册
  9. rpc signup (AccountSignupRequest) returns (AccountSignupResponse) {};
  10. // 登录
  11. rpc signin (AccountSigninRequest) returns (AccountSigninResponse) {};
  12. // 切换公司
  13. rpc switchCompany (SwitchCompanyRequest) returns (SwitchCompanyResponse) {};
  14. // 获取已登录账户信息
  15. rpc getInfo (GetAccountInfoRequest) returns (GetAccountInfoResponse) {};
  16. // 保存账户信息
  17. rpc saveInfo (SaveAccountInfoRequest) returns (SaveAccountInfoResponse) {};
  18. // 退出
  19. rpc signout (AccountSignoutRequest) returns (AccountSignoutResponse) {};
  20. }
  21. // 身份令牌,超时需重新登录
  22. message AuthedToken {
  23. // 令牌
  24. string token = 1;
  25. // 有效期/秒
  26. int32 expire = 2;
  27. // 产生时间
  28. int64 timestamp = 3;
  29. }
  30. // 注册请求参数
  31. message AccountSignupRequest {
  32. // 手机号
  33. string mobile = 1;
  34. // 密码
  35. string password = 2;
  36. // 真实姓名
  37. string realname = 3;
  38. // 邮箱
  39. string email = 4;
  40. // 性别
  41. AccountInfo.Sex sex = 5;
  42. // 头像
  43. string avatarUrl = 6;
  44. }
  45. // 注册响应参数
  46. message AccountSignupResponse {
  47. ResponseHeader responseHeader = 1;
  48. }
  49. // 登录请求参数
  50. message AccountSigninRequest {
  51. // 手机号
  52. string mobile = 1;
  53. // 密码
  54. string password = 2;
  55. // 设备信息
  56. DeviceInfo deviceInfo = 3;
  57. }
  58. // 登录响应参数
  59. message AccountSigninResponse {
  60. ResponseHeader responseHeader = 1;
  61. // 身份令牌
  62. AuthedToken authedToken = 2;
  63. // 账户信息
  64. AccountInfo account = 3;
  65. // 当前选择的公司(如果只有一个公司,会自动登录到该公司)
  66. int64 activeCompanyId = 4;
  67. // 账户已绑定公司
  68. repeated Company company = 5;
  69. // 消息中心配置,activeCompanyId != null时返回
  70. repeated MessageConfig messageConfig = 6;
  71. // 未读消息统计,activeCompanyId != null时返回
  72. repeated UnreadMessageCount unreadMessageCount = 7;
  73. // 应用中心配置,activeCompanyId != null时返回
  74. repeated AppGroupConfig appGroupConfig = 8;
  75. // 我的主页配置,activeCompanyId != null时返回
  76. repeated HomeConfig homeConfig = 9;
  77. }
  78. // 切换公司请求参数
  79. message SwitchCompanyRequest {
  80. // 公司ID,null == companyId 表示切换到个人身份
  81. int64 companyId = 1;
  82. }
  83. // 切换公司响应参数
  84. message SwitchCompanyResponse {
  85. ResponseHeader responseHeader = 1;
  86. // 新的身份令牌
  87. AuthedToken authedToken = 2;
  88. // 新的消息中心配置
  89. repeated MessageConfig messageConfig = 3;
  90. // 新的未读消息统计
  91. repeated UnreadMessageCount unreadMessageCount = 4;
  92. // 新的应用中心配置
  93. repeated AppGroupConfig appGroupConfig = 5;
  94. // 新的我的主页配置
  95. repeated HomeConfig homeConfig = 6;
  96. }
  97. // 获取账户信息请求参数
  98. message GetAccountInfoRequest {
  99. }
  100. // 获取账户信息响应参数
  101. message GetAccountInfoResponse {
  102. ResponseHeader responseHeader = 1;
  103. // 账户信息
  104. AccountInfo account = 2;
  105. // 当前选择的公司
  106. int64 activeCompanyId = 3;
  107. // 账户已绑定公司
  108. repeated Company company = 4;
  109. }
  110. // 保存账户信息请求参数
  111. message SaveAccountInfoRequest {
  112. // 真实姓名
  113. string realname = 1;
  114. // 头像
  115. string avatarUrl = 2;
  116. // 性别
  117. AccountInfo.Sex sex = 3;
  118. }
  119. // 保存账户信息响应参数
  120. message SaveAccountInfoResponse {
  121. ResponseHeader responseHeader = 1;
  122. }
  123. // 退出请求参数
  124. message AccountSignoutRequest {
  125. }
  126. // 退出响应参数
  127. message AccountSignoutResponse {
  128. ResponseHeader responseHeader = 1;
  129. }
  130. // 密码找回相关
  131. service PasswordService {
  132. // 手机验证码方式找回密码,发送手机验证码
  133. rpc sendCheckCodeByMobile (SendCheckCodeByMobileRequest) returns (SendCheckCodeByMobileResponse) {};
  134. // 手机验证码方式找回密码,校验验证码
  135. rpc resetByCheckCode (ResetByCheckCodeRequest) returns (ResetByCheckCodeResponse) {};
  136. // 邮箱链接方式找回密码,按手机号获取邮箱号
  137. rpc getEmailByMobile (GetEmailByMobileRequest) returns (GetEmailByMobileResponse) {};
  138. // 发送带验证链接的邮件
  139. rpc sendCheckEmail (SendCheckEmailRequest) returns (SendCheckEmailResponse) {};
  140. }
  141. // 手机验证码方式找回密码,发送手机验证码请求参数
  142. message SendCheckCodeByMobileRequest {
  143. string mobile = 1;
  144. }
  145. // 手机验证码方式找回密码,发送手机验证码响应参数
  146. message SendCheckCodeByMobileResponse {
  147. ResponseHeader responseHeader = 1;
  148. // 本次验证标志
  149. string token = 2;
  150. }
  151. // 手机验证码方式找回密码,重置密码请求参数
  152. message ResetByCheckCodeRequest {
  153. string mobile = 1;
  154. // SendCheckCodeByMobileResponse返回的token标志
  155. string token = 2;
  156. // 验证码
  157. string code = 3;
  158. // 新的密码
  159. string password = 4;
  160. }
  161. // 手机验证码方式找回密码,重置密码响应参数
  162. message ResetByCheckCodeResponse {
  163. ResponseHeader responseHeader = 1;
  164. }
  165. // 邮箱链接方式找回密码,按手机号获取邮箱号请求参数
  166. message GetEmailByMobileRequest {
  167. string mobile = 1;
  168. }
  169. // 邮箱链接方式找回密码,按手机号获取邮箱号响应参数
  170. message GetEmailByMobileResponse {
  171. ResponseHeader responseHeader = 1;
  172. // 本次验证标志
  173. string token = 2;
  174. string email = 3;
  175. }
  176. // 发送带验证链接的邮件请求参数
  177. message SendCheckEmailRequest {
  178. string token = 1;
  179. }
  180. // 发送带验证链接的邮件响应参数
  181. message SendCheckEmailResponse {
  182. ResponseHeader responseHeader = 1;
  183. }