initial commit
This commit is contained in:
81
rpc/user.proto
Normal file
81
rpc/user.proto
Normal file
@ -0,0 +1,81 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package user;
|
||||
|
||||
option go_package = "./user";
|
||||
|
||||
// 用户服务 - 注册、登录、登出、获取用户信息、健康检查
|
||||
service User {
|
||||
// 健康检查
|
||||
rpc Ping (PingRequest) returns (PingResponse);
|
||||
|
||||
// 用户注册
|
||||
rpc Register (RegisterRequest) returns (RegisterResponse);
|
||||
|
||||
// 用户登录,返回 JWT Token
|
||||
rpc Login (LoginRequest) returns (LoginResponse);
|
||||
|
||||
// 用户登出,可选实现
|
||||
rpc Logout (LogoutRequest) returns (LogoutResponse);
|
||||
|
||||
// 获取用户信息
|
||||
rpc GetUserInfo (GetUserInfoRequest) returns (GetUserInfoResponse);
|
||||
}
|
||||
|
||||
// 健康检查请求
|
||||
message PingRequest {
|
||||
string ping = 1;
|
||||
}
|
||||
|
||||
// 健康检查响应
|
||||
message PingResponse {
|
||||
string pong = 1;
|
||||
}
|
||||
|
||||
// 注册请求
|
||||
message RegisterRequest {
|
||||
string username = 1; // 用户名
|
||||
string password = 2; // 密码(明文或哈希后)
|
||||
string email = 3; // 邮箱,可选
|
||||
}
|
||||
|
||||
// 注册响应
|
||||
message RegisterResponse {
|
||||
string user_id = 1; // 新注册用户的唯一 ID
|
||||
}
|
||||
|
||||
// 登录请求
|
||||
message LoginRequest {
|
||||
string username = 1; // 用户名
|
||||
string password = 2; // 密码
|
||||
}
|
||||
|
||||
// 登录响应
|
||||
message LoginResponse {
|
||||
string token = 1; // JWT 访问令牌
|
||||
int64 expires_at = 2; // 过期时间(Unix 时间戳)
|
||||
}
|
||||
|
||||
// 登出请求
|
||||
message LogoutRequest {
|
||||
string token = 1; // 要废弃的 JWT
|
||||
}
|
||||
|
||||
// 登出响应
|
||||
message LogoutResponse {
|
||||
bool success = 1; // 是否登出成功
|
||||
}
|
||||
|
||||
// 获取用户信息请求
|
||||
message GetUserInfoRequest {
|
||||
string user_id = 1; // 目标用户 ID
|
||||
}
|
||||
|
||||
// 获取用户信息响应
|
||||
message GetUserInfoResponse {
|
||||
string user_id = 1; // 用户唯一 ID
|
||||
string username = 2; // 用户名
|
||||
string email = 3; // 用户邮箱
|
||||
int64 created_at = 4; // 账号创建时间(Unix 时间戳)
|
||||
repeated string roles = 5; // 用户角色列表,可选
|
||||
}
|
||||
Reference in New Issue
Block a user