17 KiB
UserService
用户相关服务
checkUserOTPWithUsername
根据用户名检查是否需要输入OTP
- 角色:
user - HTTP:
POST https://backend.dooki.cloud/UserService/checkUserOTPWithUsername - RPC:
rpc checkUserOTPWithUsername (CheckUserOTPWithUsernameRequest) returns (CheckUserOTPWithUsernameResponse);
请求对象 (CheckUserOTPWithUsernameRequest)
{
"username": "string"
}
响应对象 (CheckUserOTPWithUsernameResponse)
{
"requireOTP": "bool"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/checkUserOTPWithUsername" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
checkUserUsername
检查用户名是否存在
- 角色:
user,admin - HTTP:
POST https://backend.dooki.cloud/UserService/checkUserUsername - RPC:
rpc checkUserUsername (CheckUserUsernameRequest) returns (CheckUserUsernameResponse);
请求对象 (CheckUserUsernameRequest)
{
"userId": "int64 // 用户ID",
"username": "string"
}
响应对象 (CheckUserUsernameResponse)
{
"exists": "bool"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/checkUserUsername" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
composeUserDashboard
取得用户Dashboard数据
- 角色:
admin,user - HTTP:
POST https://backend.dooki.cloud/UserService/composeUserDashboard - RPC:
rpc composeUserDashboard (ComposeUserDashboardRequest) returns (ComposeUserDashboardResponse);
请求对象 (ComposeUserDashboardRequest)
{
"userId": "int64 // 用户ID"
}
响应对象 (ComposeUserDashboardResponse)
{
"countServers": "int64",
"monthlyTrafficBytes": "int64",
"monthlyPeekBandwidthBytes": "int64",
"dailyTrafficBytes": "int64",
"dailyPeekBandwidthBytes": "int64",
"dailyTrafficStats": "[]DailyTrafficStat",
"dailyPeekBandwidthStats": "[]DailyPeekBandwidthStat",
"bandwidthPercentile": "int32 // 带宽百分位",
"bandwidthPercentileBits": "int64 // 带宽百分位上的比特数",
"day": "string",
"bytes": "int64",
"cachedBytes": "int64",
"attackBytes": "int64",
"countRequests": "int64",
"countCachedRequests": "int64",
"countAttackRequests": "int64"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/composeUserDashboard" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
composeUserGlobalBoard
组合全局的看板数据
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/composeUserGlobalBoard - RPC:
rpc composeUserGlobalBoard (ComposeUserGlobalBoardRequest) returns (ComposeUserGlobalBoardResponse);
请求对象 (ComposeUserGlobalBoardRequest)
{}
响应对象 (ComposeUserGlobalBoardResponse)
{
"totalUsers": "int64",
"countTodayUsers": "int64",
"countWeeklyUsers": "int64",
"countUserNodes": "int64",
"countOfflineUserNodes": "int64",
"countVerifyingUsers": "int64",
"dailyStats": "[]DailyStat",
"cpuNodeValues": "[]NodeValue",
"memoryNodeValues": "[]NodeValue",
"loadNodeValues": "[]NodeValue",
"topTrafficStats": "[]TrafficStat",
"day": "string",
"count": "int64 // 数量",
"userId": "int64 // 用户ID",
"userName": "string",
"countRequests": "int64",
"bytes": "int64"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/composeUserGlobalBoard" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
countAllEnabledUsers
计算用户数量
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/countAllEnabledUsers - RPC:
rpc countAllEnabledUsers (CountAllEnabledUsersRequest) returns (RPCCountResponse);
请求对象 (CountAllEnabledUsersRequest)
{
"keyword": "string // 关键词",
"isVerifying": "bool",
"mobileIsVerified": "int32 // 手机号是否已验证,1表示已验证,0表示未验证,-1表示所有状态"
}
响应对象 (RPCCountResponse)
{
"count": "int64 // 数量"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/countAllEnabledUsers" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
createUser
创建用户
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/createUser - RPC:
rpc createUser (CreateUserRequest) returns (CreateUserResponse);
请求对象 (CreateUserRequest)
{
"username": "string",
"password": "string",
"fullname": "string",
"mobile": "string",
"tel": "string",
"email": "string",
"remark": "string",
"source": "string",
"nodeClusterId": "int64 // 集群ID"
}
响应对象 (CreateUserResponse)
{
"userId": "int64 // 用户ID"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/createUser" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
deleteUser
删除用户
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/deleteUser - RPC:
rpc deleteUser (DeleteUserRequest) returns (RPCSuccess);
请求对象 (DeleteUserRequest)
{
"userId": "int64 // 用户ID"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/deleteUser" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findAllUserFeatureDefinitions
获取所有的功能定义
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/findAllUserFeatureDefinitions - RPC:
rpc findAllUserFeatureDefinitions (FindAllUserFeatureDefinitionsRequest) returns (FindAllUserFeatureDefinitionsResponse);
请求对象 (FindAllUserFeatureDefinitionsRequest)
{}
响应对象 (FindAllUserFeatureDefinitionsResponse)
{
"features": "[]UserFeature"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/findAllUserFeatureDefinitions" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findEnabledUser
查询单个用户信息
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/findEnabledUser - RPC:
rpc findEnabledUser (FindEnabledUserRequest) returns (FindEnabledUserResponse);
请求对象 (FindEnabledUserRequest)
{
"userId": "int64 // 用户ID"
}
响应对象 (FindEnabledUserResponse)
{
"user": "User"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/findEnabledUser" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findUserFeatures
获取用户所有的功能列表
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/findUserFeatures - RPC:
rpc findUserFeatures (FindUserFeaturesRequest) returns (FindUserFeaturesResponse);
请求对象 (FindUserFeaturesRequest)
{
"userId": "int64 // 用户ID"
}
响应对象 (FindUserFeaturesResponse)
{
"features": "[]UserFeature"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/findUserFeatures" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findUserNodeClusterId
获取用户所在的集群ID
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/findUserNodeClusterId - RPC:
rpc findUserNodeClusterId (FindUserNodeClusterIdRequest) returns (FindUserNodeClusterIdResponse);
请求对象 (FindUserNodeClusterIdRequest)
{
"userId": "int64 // 用户ID"
}
响应对象 (FindUserNodeClusterIdResponse)
{
"nodeClusterId": "int64 // 集群ID"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/findUserNodeClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findUserPriceInfo
读取用户计费信息
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/findUserPriceInfo - RPC:
rpc findUserPriceInfo(FindUserPriceInfoRequest) returns (FindUserPriceInfoResponse);
请求对象 (FindUserPriceInfoRequest)
{
"userId": "int64 // 用户ID"
}
响应对象 (FindUserPriceInfoResponse)
{
"priceType": "string",
"pricePeriod": "string"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/findUserPriceInfo" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
listEnabledUsers
列出单页用户
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/listEnabledUsers - RPC:
rpc listEnabledUsers (ListEnabledUsersRequest) returns (ListEnabledUsersResponse);
请求对象 (ListEnabledUsersRequest)
{
"keyword": "string // 关键词",
"isVerifying": "bool",
"mobileIsVerified": "int32 // 手机号是否已验证,1表示已验证,0表示未验证,-1表示所有状态",
"offset": "int64 // 读取位置",
"size": "int64 // 数量,通常不能小于0"
}
响应对象 (ListEnabledUsersResponse)
{
"users": "[]User"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/listEnabledUsers" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
loginUser
登录
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/loginUser - RPC:
rpc loginUser (LoginUserRequest) returns (LoginUserResponse);
请求对象 (LoginUserRequest)
{
"username": "string",
"password": "string"
}
响应对象 (LoginUserResponse)
{
"userId": "int64 // 用户ID",
"isOk": "bool",
"message": "string"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/loginUser" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
registerUser
注册用户
- 角色:
user - HTTP:
POST https://backend.dooki.cloud/UserService/registerUser - RPC:
rpc registerUser(RegisterUserRequest) returns (RegisterUserResponse);
请求对象 (RegisterUserRequest)
{
"username": "string",
"password": "string",
"mobile": "string",
"email": "string",
"fullname": "string",
"ip": "string",
"source": "string"
}
响应对象 (RegisterUserResponse)
{
"userId": "int64 // 用户ID",
"requireEmailVerification": "bool // 是否需要激活邮件"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/registerUser" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
renewUserServersState
更新用户服务可用状态
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/renewUserServersState - RPC:
rpc renewUserServersState(RenewUserServersStateRequest) returns (RenewUserServersStateResponse);
请求对象 (RenewUserServersStateRequest)
{
"userId": "int64 // 用户ID"
}
响应对象 (RenewUserServersStateResponse)
{
"isEnabled": "bool"
}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/renewUserServersState" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateAllUsersFeatures
设置所有用户能使用的功能
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/updateAllUsersFeatures - RPC:
rpc updateAllUsersFeatures(UpdateAllUsersFeaturesRequest) returns (RPCSuccess);
请求对象 (UpdateAllUsersFeaturesRequest)
{
"featureCodes": "[]string",
"overwrite": "bool"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/updateAllUsersFeatures" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateUser
修改用户
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/updateUser - RPC:
rpc updateUser (UpdateUserRequest) returns (RPCSuccess);
请求对象 (UpdateUserRequest)
{
"userId": "int64 // 用户ID",
"username": "string",
"password": "string",
"fullname": "string",
"mobile": "string",
"tel": "string",
"email": "string",
"remark": "string",
"isOn": "bool // 是否启用",
"nodeClusterId": "int64 // 集群ID",
"bandwidthAlgo": "string"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/updateUser" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateUserFeatures
设置单个用户能使用的功能
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/updateUserFeatures - RPC:
rpc updateUserFeatures (UpdateUserFeaturesRequest) returns (RPCSuccess);
请求对象 (UpdateUserFeaturesRequest)
{
"userId": "int64 // 用户ID",
"featureCodes": "[]string"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/updateUserFeatures" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateUserInfo
修改用户基本信息
- 角色:
user - HTTP:
POST https://backend.dooki.cloud/UserService/updateUserInfo - RPC:
rpc updateUserInfo (UpdateUserInfoRequest) returns (RPCSuccess);
请求对象 (UpdateUserInfoRequest)
{
"userId": "int64 // 用户ID",
"fullname": "string",
"mobile": "string",
"email": "string"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/updateUserInfo" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateUserLogin
修改用户登录信息
- 角色:
user - HTTP:
POST https://backend.dooki.cloud/UserService/updateUserLogin - RPC:
rpc updateUserLogin (UpdateUserLoginRequest) returns (RPCSuccess);
请求对象 (UpdateUserLoginRequest)
{
"userId": "int64 // 用户ID",
"username": "string",
"password": "string"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/updateUserLogin" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateUserPricePeriod
修改用户计费周期
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/updateUserPricePeriod - RPC:
rpc updateUserPricePeriod(UpdateUserPricePeriodRequest) returns (RPCSuccess);
请求对象 (UpdateUserPricePeriodRequest)
{
"userId": "int64 // 用户ID",
"pricePeriod": "string"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/updateUserPricePeriod" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateUserPriceType
修改用户计费方式
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/updateUserPriceType - RPC:
rpc updateUserPriceType(UpdateUserPriceTypeRequest) returns (RPCSuccess);
请求对象 (UpdateUserPriceTypeRequest)
{
"userId": "int64 // 用户ID",
"priceType": "string"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/updateUserPriceType" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
verifyUser
审核用户
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/UserService/verifyUser - RPC:
rpc verifyUser(VerifyUserRequest) returns (RPCSuccess);
请求对象 (VerifyUserRequest)
{
"userId": "int64 // 用户ID",
"isRejected": "bool",
"rejectReason": "string"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/UserService/verifyUser" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'