syntax = "proto3"; package user; option go_package="lone-services/rpc/user"; import "google/api/annotations.proto"; message Response { int32 code = 1; string msg = 2; string data = 3; } // 小程序注册 message RegisterReq { string openid = 1; // 可空;空则服务端模拟 string nickname = 2; string avatar = 3; string mobile = 4; uint32 gender = 5; // 1男 2女 string birthday = 6; string username = 7; uint32 app_id = 8; // 应用标识 } // 账号密码注册 message RegisterByUserReq { uint32 type = 1; // 1手机号 2邮箱 string account = 2; string pwd = 3; string code = 4; uint32 app_id = 5; // 应用标识 } // openid 登录 message LoginReq { string openid = 1; } // 管理端用户列表 message UserItemsReq { string mobile = 1; int32 page = 2; int32 size = 3; } // 管理端修改用户状态 message UserStatusReq { int64 id = 1; int32 status = 2; } message EnsureBizIdentityReq { string mobile = 1; string name = 2; string avatar = 3; uint32 gender = 4; string birthday = 5; string client_code = 6; string credential_type = 7; string identifier = 8; string secret = 9; } message EnsureBizIdentityData { int64 user_id = 1; bool created = 2; string mobile = 3; string name = 4; } message UsersByIdsReq { repeated int64 ids = 1; } message UserBriefItem { int64 id = 1; string mobile = 2; string name = 3; string avatar = 4; uint32 gender = 5; string birthday = 6; uint32 status = 7; } message UsersByIdsData { repeated UserBriefItem items = 1; } // 内部:修改用户手机号(同步凭证 identifier) message UpdateMobileReq { int64 user_id = 1; string mobile = 2; // 新手机号明文 } message UpdateMobileData { int64 user_id = 1; string mobile = 2; // 加密后手机号 } // 内部:撤销业务端开通(删除/禁用销售或门店时) message RevokeBizClientReq { int64 user_id = 1; string client_code = 2; } message RevokeBizClientData { bool revoked = 1; } service User { rpc Register(RegisterReq) returns (Response) { option (google.api.http) = { post: "/customer/v3/register" body: "*" }; } rpc RegisterByUser(RegisterByUserReq) returns (Response) { option (google.api.http) = { post: "/customer/v3/register/user" body: "*" }; } rpc Login(LoginReq) returns (Response) { option (google.api.http) = { post: "/customer/v3/login" body: "*" }; } rpc UserItems(UserItemsReq) returns (Response) { option (google.api.http) = { get: "/admin/v3/user/items" body: "*" }; } rpc UserStatus(UserStatusReq) returns (Response) { option (google.api.http) = { put: "/admin/v3/user/status" body: "*" }; } rpc EnsureBizIdentity(EnsureBizIdentityReq) returns (EnsureBizIdentityData); rpc UsersByIds(UsersByIdsReq) returns (UsersByIdsData); rpc UpdateMobile(UpdateMobileReq) returns (UpdateMobileData); rpc RevokeBizClient(RevokeBizClientReq) returns (RevokeBizClientData); }