初始化
Build docker and publish / prepare (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.admin image_name:ppanel-admin name:admin]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.api image_name:ppanel-api name:api]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.node image_name:ppanel-node name:node]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.queue image_name:ppanel-queue name:queue]) (push) Has been cancelled
Build docker and publish / build (map[dockerfile:deploy/Dockerfile.scheduler image_name:ppanel-scheduler name:scheduler]) (push) Has been cancelled
Build docker and publish / deploy (push) Has been cancelled
Build docker and publish / notify (push) Has been cancelled

This commit is contained in:
2026-02-26 04:12:43 -08:00
commit 9dacd85a89
210 changed files with 8261 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
syntax = "v1"
info (
title: "公告管理"
)
type (
CreateAnnouncementReq {
Title string `json:"title"`
Content string `json:"content"`
}
AdminAnnouncementResp {
Id int64 `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
CreatedAt string `json:"created_at"`
}
UpdateAnnouncementReq {
Id int64 `path:"id"`
Title string `json:"title"`
Content string `json:"content"`
}
DeleteAnnouncementReq {
Id int64 `path:"id"`
}
)
@server (
prefix: /api/v1/admin/announcement
group: announcement
jwt: JwtAuth
)
service ppaneladmin {
@handler CreateAnnouncementHandler
post /create (CreateAnnouncementReq) returns (AdminAnnouncementResp)
@handler UpdateAnnouncementHandler
put /:id (UpdateAnnouncementReq)
@handler DeleteAnnouncementHandler
delete /:id (DeleteAnnouncementReq)
}
+14
View File
@@ -0,0 +1,14 @@
syntax = "v1"
info (
title: "管理后台公共接口"
)
@server (
prefix: /api/v1/admin
group: common
)
service ppaneladmin {
@handler HealthHandler
get /health returns (HealthResp)
}
+28
View File
@@ -0,0 +1,28 @@
syntax = "v1"
info (
title: "控制台"
)
type (
ConsoleStatsResp {
TotalUsers int64 `json:"total_users"`
TotalOrders int64 `json:"total_orders"`
TotalRevenue int64 `json:"total_revenue"`
TodayNewUsers int64 `json:"today_new_users"`
TodayOrders int64 `json:"today_orders"`
TodayRevenue int64 `json:"today_revenue"`
OnlineNodes int64 `json:"online_nodes"`
TotalNodes int64 `json:"total_nodes"`
}
)
@server (
prefix: /api/v1/admin/console
group: console
jwt: JwtAuth
)
service ppaneladmin {
@handler GetConsoleStatsHandler
get /stats returns (ConsoleStatsResp)
}
+45
View File
@@ -0,0 +1,45 @@
syntax = "v1"
info (
title: "订单管理"
)
type (
AdminOrderListReq {
Page int `form:"page,default=1"`
PageSize int `form:"page_size,default=20"`
Status int `form:"status,optional"`
}
AdminOrderResp {
Id int64 `json:"id"`
OrderNo string `json:"order_no"`
UserId int64 `json:"user_id"`
Amount int64 `json:"amount"`
Status int `json:"status"`
CreatedAt string `json:"created_at"`
}
AdminOrderListResp {
Total int64 `json:"total"`
List []AdminOrderResp `json:"list"`
}
UpdateOrderStatusReq {
OrderNo string `path:"order_no"`
Status int `json:"status"`
}
)
@server (
prefix: /api/v1/admin/order
group: order
jwt: JwtAuth
)
service ppaneladmin {
@handler GetOrderListHandler
get /list (AdminOrderListReq) returns (AdminOrderListResp)
@handler UpdateOrderStatusHandler
put /:order_no/status (UpdateOrderStatusReq)
}
+64
View File
@@ -0,0 +1,64 @@
syntax = "v1"
info (
title: "服务器管理"
)
type (
ServerListReq {
Page int `form:"page,default=1"`
PageSize int `form:"page_size,default=20"`
}
ServerResp {
Id int64 `json:"id"`
Name string `json:"name"`
Address string `json:"address"`
Port int `json:"port"`
Protocol string `json:"protocol"`
Enable bool `json:"enable"`
}
ServerListResp {
Total int64 `json:"total"`
List []ServerResp `json:"list"`
}
CreateServerReq {
Name string `json:"name"`
Address string `json:"address"`
Port int `json:"port"`
Protocol string `json:"protocol"`
}
UpdateServerReq {
Id int64 `path:"id"`
Name string `json:"name"`
Address string `json:"address"`
Port int `json:"port"`
Protocol string `json:"protocol"`
}
DeleteServerReq {
Id int64 `path:"id"`
}
)
@server (
prefix: /api/v1/admin/server
group: server
jwt: JwtAuth
)
service ppaneladmin {
@handler GetServerListHandler
get /list (ServerListReq) returns (ServerListResp)
@handler CreateServerHandler
post /create (CreateServerReq) returns (ServerResp)
@handler UpdateServerHandler
put /:id (UpdateServerReq)
@handler DeleteServerHandler
delete /:id (DeleteServerReq)
}
+61
View File
@@ -0,0 +1,61 @@
syntax = "v1"
info (
title: "订阅管理"
)
type (
AdminSubscribeListReq {
Page int `form:"page,default=1"`
PageSize int `form:"page_size,default=20"`
}
AdminSubscribeResp {
Id int64 `json:"id"`
Name string `json:"name"`
Price int64 `json:"price"`
Traffic int64 `json:"traffic"`
Enable bool `json:"enable"`
}
AdminSubscribeListResp {
Total int64 `json:"total"`
List []AdminSubscribeResp `json:"list"`
}
CreateSubscribeReq {
Name string `json:"name"`
Price int64 `json:"price"`
Traffic int64 `json:"traffic"`
}
UpdateSubscribeReq {
Id int64 `path:"id"`
Name string `json:"name"`
Price int64 `json:"price"`
Traffic int64 `json:"traffic"`
}
DeleteSubscribeReq {
Id int64 `path:"id"`
}
)
@server (
prefix: /api/v1/admin/subscribe
group: subscribe
jwt: JwtAuth
)
service ppaneladmin {
@handler GetSubscribeListHandler
get /list (AdminSubscribeListReq) returns (AdminSubscribeListResp)
@handler CreateSubscribeHandler
post /create (CreateSubscribeReq) returns (AdminSubscribeResp)
@handler UpdateSubscribeHandler
put /:id (UpdateSubscribeReq)
@handler DeleteSubscribeHandler
delete /:id (DeleteSubscribeReq)
}
+54
View File
@@ -0,0 +1,54 @@
syntax = "v1"
info (
title: "系统配置管理"
)
type (
SiteConfigResp {
SiteName string `json:"site_name"`
SiteDesc string `json:"site_desc"`
SiteLogo string `json:"site_logo"`
ForceHttps bool `json:"force_https"`
}
UpdateSiteConfigReq {
SiteName string `json:"site_name"`
SiteDesc string `json:"site_desc"`
SiteLogo string `json:"site_logo"`
ForceHttps bool `json:"force_https"`
}
RegisterConfigResp {
StopRegister bool `json:"stop_register"`
EmailVerify bool `json:"email_verify"`
EmailWhitelist string `json:"email_whitelist"`
InviteForce bool `json:"invite_force"`
}
UpdateRegisterConfigReq {
StopRegister bool `json:"stop_register"`
EmailVerify bool `json:"email_verify"`
EmailWhitelist string `json:"email_whitelist"`
InviteForce bool `json:"invite_force"`
}
)
@server (
prefix: /api/v1/admin/system
group: system
jwt: JwtAuth
)
service ppaneladmin {
@handler GetSiteConfigHandler
get /site returns (SiteConfigResp)
@handler UpdateSiteConfigHandler
put /site (UpdateSiteConfigReq)
@handler GetRegisterConfigHandler
get /register returns (RegisterConfigResp)
@handler UpdateRegisterConfigHandler
put /register (UpdateRegisterConfigReq)
}
+59
View File
@@ -0,0 +1,59 @@
syntax = "v1"
info (
title: "工单管理"
)
type (
AdminTicketListReq {
Page int `form:"page,default=1"`
PageSize int `form:"page_size,default=20"`
Status int `form:"status,optional"`
}
AdminTicketResp {
Id int64 `json:"id"`
UserId int64 `json:"user_id"`
Title string `json:"title"`
Status int `json:"status"`
CreatedAt string `json:"created_at"`
}
AdminTicketListResp {
Total int64 `json:"total"`
List []AdminTicketResp `json:"list"`
}
AdminTicketDetailReq {
Id int64 `path:"id"`
}
AdminUpdateTicketStatusReq {
Id int64 `path:"id"`
Status int `json:"status"`
}
AdminCreateTicketFollowReq {
Id int64 `path:"id"`
Content string `json:"content"`
}
)
@server (
prefix: /api/v1/admin/ticket
group: ticket
jwt: JwtAuth
)
service ppaneladmin {
@handler GetTicketListHandler
get /list (AdminTicketListReq) returns (AdminTicketListResp)
@handler GetTicketDetailHandler
get /:id (AdminTicketDetailReq) returns (AdminTicketResp)
@handler UpdateTicketStatusHandler
put /:id/status (AdminUpdateTicketStatusReq)
@handler CreateTicketFollowHandler
post /:id/follow (AdminCreateTicketFollowReq)
}
+11
View File
@@ -0,0 +1,11 @@
syntax = "v1"
info (
title: "管理后台公共类型"
)
type (
HealthResp {
Status string `json:"status"`
}
)
+51
View File
@@ -0,0 +1,51 @@
syntax = "v1"
info (
title: "用户管理"
)
type (
AdminUserListReq {
Page int `form:"page,default=1"`
PageSize int `form:"page_size,default=20"`
Search string `form:"search,optional"`
}
AdminUserResp {
Id int64 `json:"id"`
Email string `json:"email"`
Balance int64 `json:"balance"`
IsAdmin bool `json:"is_admin"`
Enable bool `json:"enable"`
CreatedAt string `json:"created_at"`
}
AdminUserListResp {
Total int64 `json:"total"`
List []AdminUserResp `json:"list"`
}
AdminUserDetailReq {
Id int64 `path:"id"`
}
AdminDeleteUserReq {
Id int64 `path:"id"`
}
)
@server (
prefix: /api/v1/admin/user
group: user
jwt: JwtAuth
)
service ppaneladmin {
@handler GetUserListHandler
get /list (AdminUserListReq) returns (AdminUserListResp)
@handler GetUserDetailHandler
get /:id (AdminUserDetailReq) returns (AdminUserResp)
@handler DeleteUserHandler
delete /:id (AdminDeleteUserReq)
}