syntax = "proto3"; package user; option go_package = "./user"; // ---------- 通用消息 ---------- message CommonResp { int64 code = 1; string msg = 2; } // ---------- 用户信息 ---------- message UserInfo { string id = 1; string tenantId = 2; string clientId = 3; string name = 4; string account = 5; string nickName = 6; string phone = 7; string sessionKey = 8; string unionId = 9; string openId = 10; string saOpenId = 11; string avatarId = 12; int32 gender = 13; string country = 14; string province = 15; string city = 16; string language = 17; int32 isVip = 18; int64 vipExpireAt = 19; string lastLoginIp = 20; int64 lastLoginAt = 21; int64 createdAt = 22; int64 updatedAt = 23; string avatarUrl = 24; } // ---------- 请求/响应消息 ---------- message GetUserByIdReq { string id = 1; } message GetUserByIdResp { UserInfo user = 1; } message GetUserByOpenIdReq { string openId = 1; } message GetUserByOpenIdResp { UserInfo user = 1; } message VerifyTokenReq { string token = 1; } message VerifyTokenResp { bool valid = 1; string userId = 2; string account = 3; int64 expiresAt = 4; } message CreateUserReq { string name = 1; string openId = 2; string sessionKey = 3; string clientId = 4; string phone = 5; } message CreateUserResp { UserInfo user = 1; } message UpdateUserReq { string id = 1; string name = 2; string account = 3; string phone = 4; string avatarId = 5; string nickName = 6; } // ---------- 服务定义 ---------- service UserService { // 根据ID获取用户信息 rpc GetUserById(GetUserByIdReq) returns (GetUserByIdResp); // 根据OpenId获取用户信息 rpc GetUserByOpenId(GetUserByOpenIdReq) returns (GetUserByOpenIdResp); // 验证Token有效性 rpc VerifyToken(VerifyTokenReq) returns (VerifyTokenResp); // 创建用户 rpc CreateUser(CreateUserReq) returns (CreateUserResp); // 更新用户信息 rpc UpdateUser(UpdateUserReq) returns (CommonResp); }