Files
2025-11-18 03:36:49 +08:00

7.3 KiB
Raw Permalink Blame History

UserNodeService

用户节点管理服务


countAllEnabledUserNodes

计算用户节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/countAllEnabledUserNodes
  • RPCrpc countAllEnabledUserNodes (CountAllEnabledUserNodesRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledUserNodesRequest)

{}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/countAllEnabledUserNodes" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllEnabledUserNodesWithSSLCertId

计算使用某个SSL证书的用户节点数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/countAllEnabledUserNodesWithSSLCertId
  • RPCrpc countAllEnabledUserNodesWithSSLCertId (CountAllEnabledUserNodesWithSSLCertIdRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledUserNodesWithSSLCertIdRequest)

{
  "sslCertId": "int64"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/countAllEnabledUserNodesWithSSLCertId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

createUserNode

创建用户节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/createUserNode
  • RPCrpc createUserNode (CreateUserNodeRequest) returns (CreateUserNodeResponse);

请求对象 (CreateUserNodeRequest)

{
  "name": "string // 名称",
  "description": "string // 描述(备注)",
  "httpJSON": "bytes",
  "httpsJSON": "bytes",
  "accessAddrsJSON": "bytes",
  "isOn": "bool // 是否启用"
}

响应对象 (CreateUserNodeResponse)

{
  "userNodeId": "int64"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/createUserNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

deleteUserNode

删除用户节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/deleteUserNode
  • RPCrpc deleteUserNode (DeleteUserNodeRequest) returns (RPCSuccess);

请求对象 (DeleteUserNodeRequest)

{
  "userNodeId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/deleteUserNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllEnabledUserNodes

列出所有可用用户节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/findAllEnabledUserNodes
  • RPCrpc findAllEnabledUserNodes (FindAllEnabledUserNodesRequest) returns (FindAllEnabledUserNodesResponse);

请求对象 (FindAllEnabledUserNodesRequest)

{}

响应对象 (FindAllEnabledUserNodesResponse)

{
  "userNodes": "[]UserNode"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/findAllEnabledUserNodes" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findEnabledUserNode

根据ID查找节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/findEnabledUserNode
  • RPCrpc findEnabledUserNode (FindEnabledUserNodeRequest) returns (FindEnabledUserNodeResponse);

请求对象 (FindEnabledUserNodeRequest)

{
  "userNodeId": "int64"
}

响应对象 (FindEnabledUserNodeResponse)

{
  "userNode": "UserNode"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/findEnabledUserNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findUserNodeAccessAddr

获取用户节点访问地址

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/findUserNodeAccessAddr
  • RPCrpc findUserNodeAccessAddr(FindUserNodeAccessAddrRequest) returns (FindUserNodeAccessAddrResponse);

请求对象 (FindUserNodeAccessAddrRequest)

{}

响应对象 (FindUserNodeAccessAddrResponse)

{
  "accessAddr": "string"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/findUserNodeAccessAddr" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

listEnabledUserNodes

列出单页的用户节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/listEnabledUserNodes
  • RPCrpc listEnabledUserNodes (ListEnabledUserNodesRequest) returns (ListEnabledUserNodesResponse);

请求对象 (ListEnabledUserNodesRequest)

{
  "offset": "int64 // 读取位置",
  "size": "int64 // 数量通常不能小于0"
}

响应对象 (ListEnabledUserNodesResponse)

{
  "userNodes": "[]UserNode"
}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/listEnabledUserNodes" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateUserNode

修改用户节点

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/updateUserNode
  • RPCrpc updateUserNode (UpdateUserNodeRequest) returns (RPCSuccess);

请求对象 (UpdateUserNodeRequest)

{
  "userNodeId": "int64",
  "name": "string // 名称",
  "description": "string // 描述(备注)",
  "httpJSON": "bytes",
  "httpsJSON": "bytes",
  "accessAddrsJSON": "bytes",
  "isOn": "bool // 是否启用"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/updateUserNode" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateUserNodeStatus

更新节点状态

  • 角色:user
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/updateUserNodeStatus
  • RPCrpc updateUserNodeStatus (UpdateUserNodeStatusRequest) returns (RPCSuccess);

请求对象 (UpdateUserNodeStatusRequest)

{
  "userNodeId": "int64",
  "statusJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/updateUserNodeStatus" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateUserNodeUpgrade

更新节点升级状态

  • 角色:user, admin
  • HTTPPOST https://backend.dooki.cloud/UserNodeService/updateUserNodeUpgrade
  • RPCrpc updateUserNodeUpgrade (UpdateUserNodeUpgradeRequest) returns (RPCSuccess);

请求对象 (UpdateUserNodeUpgradeRequest)

{
  "userNodeId": "int64",
  "upgradeJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/UserNodeService/updateUserNodeUpgrade" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'