syntax = "proto3"; package uu.mobile; import "base.proto"; option java_multiple_files = true; option java_package = "com.usoftchina.uu.mobile.grpc.api"; // 账户服务 service AccountService { // 注册 rpc signup (AccountSignupRequest) returns (AccountSignupResponse) {}; // 登录 rpc signin (AccountSigninRequest) returns (AccountSigninResponse) {}; // 切换公司 rpc switchCompany (SwitchCompanyRequest) returns (SwitchCompanyResponse) {}; // 获取已登录账户信息 rpc getInfo (GetAccountInfoRequest) returns (GetAccountInfoResponse) {}; // 保存账户信息 rpc saveInfo (SaveAccountInfoRequest) returns (SaveAccountInfoResponse) {}; // 退出 rpc signout (AccountSignoutRequest) returns (AccountSignoutResponse) {}; } // 身份令牌,超时需重新登录 message AuthedToken { // 令牌 string token = 1; // 有效期/秒 int32 expire = 2; // 产生时间 int64 timestamp = 3; } // 注册请求参数 message AccountSignupRequest { // 手机号 string mobile = 1; // 密码 string password = 2; // 真实姓名 string realname = 3; // 邮箱 string email = 4; // 性别 AccountInfo.Sex sex = 5; // 头像 string avatarUrl = 6; } // 注册响应参数 message AccountSignupResponse { ResponseHeader responseHeader = 1; } // 登录请求参数 message AccountSigninRequest { // 手机号 string mobile = 1; // 密码 string password = 2; // 设备信息 DeviceInfo deviceInfo = 3; } // 登录响应参数 message AccountSigninResponse { ResponseHeader responseHeader = 1; // 身份令牌 AuthedToken authedToken = 2; // 账户信息 AccountInfo account = 3; // 当前选择的公司(如果只有一个公司,会自动登录到该公司) int64 activeCompanyId = 4; // 账户已绑定公司 repeated Company company = 5; // 消息中心配置,activeCompanyId != null时返回 repeated MessageConfig messageConfig = 6; // 未读消息统计,activeCompanyId != null时返回 repeated UnreadMessageCount unreadMessageCount = 7; // 应用中心配置,activeCompanyId != null时返回 repeated AppGroupConfig appGroupConfig = 8; // 我的主页配置,activeCompanyId != null时返回 repeated HomeConfig homeConfig = 9; } // 切换公司请求参数 message SwitchCompanyRequest { // 公司ID,null == companyId 表示切换到个人身份 int64 companyId = 1; } // 切换公司响应参数 message SwitchCompanyResponse { ResponseHeader responseHeader = 1; // 新的身份令牌 AuthedToken authedToken = 2; // 新的消息中心配置 repeated MessageConfig messageConfig = 3; // 新的未读消息统计 repeated UnreadMessageCount unreadMessageCount = 4; // 新的应用中心配置 repeated AppGroupConfig appGroupConfig = 5; // 新的我的主页配置 repeated HomeConfig homeConfig = 6; } // 获取账户信息请求参数 message GetAccountInfoRequest { } // 获取账户信息响应参数 message GetAccountInfoResponse { ResponseHeader responseHeader = 1; // 账户信息 AccountInfo account = 2; // 当前选择的公司 int64 activeCompanyId = 3; // 账户已绑定公司 repeated Company company = 4; } // 保存账户信息请求参数 message SaveAccountInfoRequest { // 真实姓名 string realname = 1; // 头像 string avatarUrl = 2; // 性别 AccountInfo.Sex sex = 3; } // 保存账户信息响应参数 message SaveAccountInfoResponse { ResponseHeader responseHeader = 1; } // 退出请求参数 message AccountSignoutRequest { } // 退出响应参数 message AccountSignoutResponse { ResponseHeader responseHeader = 1; } // 密码找回相关 service PasswordService { // 手机验证码方式找回密码,发送手机验证码 rpc sendCheckCodeByMobile (SendCheckCodeByMobileRequest) returns (SendCheckCodeByMobileResponse) {}; // 手机验证码方式找回密码,校验验证码 rpc resetByCheckCode (ResetByCheckCodeRequest) returns (ResetByCheckCodeResponse) {}; // 邮箱链接方式找回密码,按手机号获取邮箱号 rpc getEmailByMobile (GetEmailByMobileRequest) returns (GetEmailByMobileResponse) {}; // 发送带验证链接的邮件 rpc sendCheckEmail (SendCheckEmailRequest) returns (SendCheckEmailResponse) {}; } // 手机验证码方式找回密码,发送手机验证码请求参数 message SendCheckCodeByMobileRequest { string mobile = 1; } // 手机验证码方式找回密码,发送手机验证码响应参数 message SendCheckCodeByMobileResponse { ResponseHeader responseHeader = 1; // 本次验证标志 string token = 2; } // 手机验证码方式找回密码,重置密码请求参数 message ResetByCheckCodeRequest { string mobile = 1; // SendCheckCodeByMobileResponse返回的token标志 string token = 2; // 验证码 string code = 3; // 新的密码 string password = 4; } // 手机验证码方式找回密码,重置密码响应参数 message ResetByCheckCodeResponse { ResponseHeader responseHeader = 1; } // 邮箱链接方式找回密码,按手机号获取邮箱号请求参数 message GetEmailByMobileRequest { string mobile = 1; } // 邮箱链接方式找回密码,按手机号获取邮箱号响应参数 message GetEmailByMobileResponse { ResponseHeader responseHeader = 1; // 本次验证标志 string token = 2; string email = 3; } // 发送带验证链接的邮件请求参数 message SendCheckEmailRequest { string token = 1; } // 发送带验证链接的邮件响应参数 message SendCheckEmailResponse { ResponseHeader responseHeader = 1; }