925 lines
17 KiB
Markdown
925 lines
17 KiB
Markdown
# UserService
|
||
> 用户相关服务
|
||
|
||
---
|
||
|
||
## checkUserOTPWithUsername
|
||
> 根据用户名检查是否需要输入OTP
|
||
|
||
- 角色:`user`
|
||
- HTTP:`POST https://backend.dooki.cloud/UserService/checkUserOTPWithUsername`
|
||
- RPC:`rpc checkUserOTPWithUsername (CheckUserOTPWithUsernameRequest) returns (CheckUserOTPWithUsernameResponse);`
|
||
|
||
**请求对象 (`CheckUserOTPWithUsernameRequest`)**
|
||
|
||
```json
|
||
{
|
||
"username": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`CheckUserOTPWithUsernameResponse`)**
|
||
|
||
```json
|
||
{
|
||
"requireOTP": "bool"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"username": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`CheckUserUsernameResponse`)**
|
||
|
||
```json
|
||
{
|
||
"exists": "bool"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`ComposeUserDashboardResponse`)**
|
||
|
||
```json
|
||
{
|
||
"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"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**响应对象 (`ComposeUserGlobalBoardResponse`)**
|
||
|
||
```json
|
||
{
|
||
"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"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"keyword": "string // 关键词",
|
||
"isVerifying": "bool",
|
||
"mobileIsVerified": "int32 // 手机号是否已验证,1表示已验证,0表示未验证,-1表示所有状态"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCCountResponse`)**
|
||
|
||
```json
|
||
{
|
||
"count": "int64 // 数量"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"username": "string",
|
||
"password": "string",
|
||
"fullname": "string",
|
||
"mobile": "string",
|
||
"tel": "string",
|
||
"email": "string",
|
||
"remark": "string",
|
||
"source": "string",
|
||
"nodeClusterId": "int64 // 集群ID"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`CreateUserResponse`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**响应对象 (`FindAllUserFeatureDefinitionsResponse`)**
|
||
|
||
```json
|
||
{
|
||
"features": "[]UserFeature"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`FindEnabledUserResponse`)**
|
||
|
||
```json
|
||
{
|
||
"user": "User"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`FindUserFeaturesResponse`)**
|
||
|
||
```json
|
||
{
|
||
"features": "[]UserFeature"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`FindUserNodeClusterIdResponse`)**
|
||
|
||
```json
|
||
{
|
||
"nodeClusterId": "int64 // 集群ID"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`FindUserPriceInfoResponse`)**
|
||
|
||
```json
|
||
{
|
||
"priceType": "string",
|
||
"pricePeriod": "string"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"keyword": "string // 关键词",
|
||
"isVerifying": "bool",
|
||
"mobileIsVerified": "int32 // 手机号是否已验证,1表示已验证,0表示未验证,-1表示所有状态",
|
||
"offset": "int64 // 读取位置",
|
||
"size": "int64 // 数量,通常不能小于0"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`ListEnabledUsersResponse`)**
|
||
|
||
```json
|
||
{
|
||
"users": "[]User"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"username": "string",
|
||
"password": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`LoginUserResponse`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"isOk": "bool",
|
||
"message": "string"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"username": "string",
|
||
"password": "string",
|
||
"mobile": "string",
|
||
"email": "string",
|
||
"fullname": "string",
|
||
"ip": "string",
|
||
"source": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RegisterUserResponse`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"requireEmailVerification": "bool // 是否需要激活邮件"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RenewUserServersStateResponse`)**
|
||
|
||
```json
|
||
{
|
||
"isEnabled": "bool"
|
||
}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"featureCodes": "[]string",
|
||
"overwrite": "bool"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"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`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"featureCodes": "[]string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"fullname": "string",
|
||
"mobile": "string",
|
||
"email": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"username": "string",
|
||
"password": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"pricePeriod": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"priceType": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
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`)**
|
||
|
||
```json
|
||
{
|
||
"userId": "int64 // 用户ID",
|
||
"isRejected": "bool",
|
||
"rejectReason": "string"
|
||
}
|
||
```
|
||
|
||
**响应对象 (`RPCSuccess`)**
|
||
|
||
```json
|
||
{}
|
||
```
|
||
|
||
**调用示例**
|
||
|
||
```bash
|
||
curl -X POST "https://backend.dooki.cloud/UserService/verifyUser" \
|
||
-H "Content-Type: application/json" \
|
||
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
|
||
-d '{
|
||
...
|
||
}'
|
||
```
|
||
|
||
---
|