7.7 KiB
7.7 KiB
PlanService
套餐相关服务
countAllEnabledPlans
计算套餐数量
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/PlanService/countAllEnabledPlans - RPC:
rpc countAllEnabledPlans(CountAllEnabledPlansRequest) returns (RPCCountResponse);
请求对象 (CountAllEnabledPlansRequest)
{}
响应对象 (RPCCountResponse)
{
"count": "int64 // 数量"
}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/countAllEnabledPlans" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
createPlan
创建套餐
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/PlanService/createPlan - RPC:
rpc createPlan(CreatePlanRequest) returns (CreatePlanResponse);
请求对象 (CreatePlanRequest)
{
"name": "string // 套餐名称",
"description": "string // 套餐简介",
"clusterId": "int64 // 集群ID",
"trafficLimitJSON": "bytes // 流量限制",
"bandwidthLimitPerNodeJSON": "bytes // 单节点带宽限制 json:bit_size_capacity",
"hasFullFeatures": "bool // 是否有所有权限",
"featuresJSON": "bytes // 权限列表,[code1, code2, ...]",
"priceType": "string // 价格类型:traffic, bandwidth, period",
"trafficPriceJSON": "bytes // 流量价格配置",
"bandwidthPriceJSON": "bytes // 带宽价格配置",
"monthlyPrice": "float // 月度价格",
"seasonallyPrice": "float // 季度价格",
"yearlyPrice": "float // 年度价格",
"totalServers": "int32 // 可以添加的网站数",
"totalServerNamesPerServer": "int32 // 每个网站可以添加的域名数",
"totalServerNames": "int32 // 可以添加的域名总数",
"dailyRequests": "int64 // 每日访问量额度",
"monthlyRequests": "int64 // 每月访问量额度",
"dailyWebsocketConnections": "int64 // 每日Websocket连接数额度",
"monthlyWebsocketConnections": "int64 // 每月Websocket连接数额度",
"maxUploadSizeJSON": "bytes // 文件最大上传尺寸 json:size_capacity"
}
响应对象 (CreatePlanResponse)
{
"planId": "int64"
}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/createPlan" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
deletePlan
删除套餐
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/PlanService/deletePlan - RPC:
rpc deletePlan(DeletePlanRequest) returns (RPCSuccess);
请求对象 (DeletePlanRequest)
{
"planId": "int64 // 套餐ID"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/deletePlan" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findAllAvailablePlans
列出所有可用的套餐
- 角色:
admin,user - HTTP:
POST https://backend.dooki.cloud/PlanService/findAllAvailablePlans - RPC:
rpc findAllAvailablePlans(FindAllAvailablePlansRequest) returns (FindAllAvailablePlansResponse);
请求对象 (FindAllAvailablePlansRequest)
{}
响应对象 (FindAllAvailablePlansResponse)
{
"plans": "[]Plan // 套餐列表"
}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/findAllAvailablePlans" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findBasicPlan
查找套餐基本信息
- 角色:
admin,user - HTTP:
POST https://backend.dooki.cloud/PlanService/findBasicPlan - RPC:
rpc findBasicPlan(FindBasicPlanRequest) returns (FindBasicPlanResponse);
请求对象 (FindBasicPlanRequest)
{
"planId": "int64 // 套餐ID"
}
响应对象 (FindBasicPlanResponse)
{
"plan": "Plan // 套餐信息(只读取基本信息)"
}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/findBasicPlan" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findEnabledPlan
查找单个套餐
- 角色:
admin,user - HTTP:
POST https://backend.dooki.cloud/PlanService/findEnabledPlan - RPC:
rpc findEnabledPlan(FindEnabledPlanRequest) returns (FindEnabledPlanResponse);
请求对象 (FindEnabledPlanRequest)
{
"planId": "int64 // 套餐ID"
}
响应对象 (FindEnabledPlanResponse)
{
"plan": "Plan // 套餐信息"
}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/findEnabledPlan" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
listEnabledPlans
列出单页套餐
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/PlanService/listEnabledPlans - RPC:
rpc listEnabledPlans(ListEnabledPlansRequest) returns (ListEnabledPlansResponse);
请求对象 (ListEnabledPlansRequest)
{
"offset": "int64 // 读取位置",
"size": "int64 // 数量,通常不能小于0"
}
响应对象 (ListEnabledPlansResponse)
{
"plans": "[]Plan // 套餐列表"
}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/listEnabledPlans" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
sortPlans
对套餐进行排序
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/PlanService/sortPlans - RPC:
rpc sortPlans(SortPlansRequest) returns (RPCSuccess);
请求对象 (SortPlansRequest)
{
"planIds": "[]int64 // 排序后的套餐ID列表"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/sortPlans" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updatePlan
修改套餐
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/PlanService/updatePlan - RPC:
rpc updatePlan(UpdatePlanRequest) returns (RPCSuccess);
请求对象 (UpdatePlanRequest)
{
"planId": "int64 // 套餐ID",
"name": "string // 套餐名称",
"description": "string // 套餐简介",
"isOn": "bool // 是否启用",
"clusterId": "int64 // 集群ID",
"trafficLimitJSON": "bytes // 流量限制",
"bandwidthLimitPerNodeJSON": "bytes // 单节点带宽限制",
"hasFullFeatures": "bool // 是否有所有权限",
"featuresJSON": "bytes // 权限列表,[code1, code2, ...]",
"priceType": "string // 价格类型:traffic, bandwidth, period",
"trafficPriceJSON": "bytes // 流量价格配置",
"bandwidthPriceJSON": "bytes // 带宽价格配置",
"monthlyPrice": "float // 月费用",
"seasonallyPrice": "float // 季度费用",
"yearlyPrice": "float // 年度费用",
"totalServers": "int32 // 可以添加的网站数",
"totalServerNamesPerServer": "int32 // 每个网站可以添加的域名数",
"totalServerNames": "int32 // 可以添加的域名总数",
"dailyRequests": "int64 // 每日访问量额度",
"monthlyRequests": "int64 // 每月访问量额度",
"dailyWebsocketConnections": "int64 // 每日Websocket连接数额度",
"monthlyWebsocketConnections": "int64 // 每月Websocket连接数额度",
"maxUploadSizeJSON": "bytes // 文件最大上传尺寸 json:size_capacity"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/PlanService/updatePlan" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'