127 lines
4.5 KiB
Go
127 lines
4.5 KiB
Go
package boot
|
|
|
|
import (
|
|
"ppgo_job/controller"
|
|
"ppgo_job/middleware"
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
)
|
|
|
|
func init() {
|
|
s := g.Server()
|
|
s.AddStaticPath("/app", "frontend/dist")
|
|
s.BindMiddlewareDefault(ghttp.MiddlewareCORS)
|
|
|
|
// ===== 公开路由 =====
|
|
s.Group("/", func(g *ghttp.RouterGroup) {
|
|
g.GET("/", func(r *ghttp.Request) { r.Response.RedirectTo("/app/") })
|
|
g.GET("/login_in", controller.LoginIn)
|
|
g.POST("/login_in", controller.LoginIn)
|
|
g.GET("/login_out", controller.LoginOut)
|
|
g.POST("/api/login_in", controller.LoginIn)
|
|
})
|
|
|
|
// ===== API 路由(JWT 认证,新前端使用)=====
|
|
s.Group("/api", func(g *ghttp.RouterGroup) {
|
|
g.Middleware(middleware.Auth)
|
|
|
|
// 用户信息
|
|
g.GET("/user_info", controller.ApiUserInfo)
|
|
g.GET("/menus", controller.ApiMenus)
|
|
|
|
// 仪表盘
|
|
g.GET("/dashboard", controller.ApiDashboard)
|
|
|
|
// === 任务管理 ===
|
|
g.GET("/task/table", controller.TaskTable)
|
|
g.GET("/task/add_data", controller.ApiTaskAddData)
|
|
g.GET("/task/edit_data", controller.ApiTaskEditData)
|
|
g.GET("/task/detail_data", controller.ApiTaskDetailData)
|
|
g.POST("/task/save", controller.TaskAjaxSave)
|
|
g.POST("/task/del", controller.TaskAjaxDel)
|
|
g.POST("/task/start", controller.TaskAjaxStart)
|
|
g.POST("/task/pause", controller.TaskAjaxPause)
|
|
g.POST("/task/run", controller.TaskAjaxRun)
|
|
g.POST("/task/audit", controller.TaskAjaxAudit)
|
|
g.POST("/task/nopass", controller.TaskAjaxNopass)
|
|
g.POST("/task/batch_audit", controller.TaskAjaxBatchAudit)
|
|
g.POST("/task/batch_no_pass", controller.TaskAjaxBatchNoPass)
|
|
|
|
// === 服务器管理 ===
|
|
g.GET("/server/table", controller.ServerTable)
|
|
g.GET("/server/add_data", controller.ApiServerAddData)
|
|
g.GET("/server/edit_data", controller.ApiServerEditData)
|
|
g.GET("/server/by_group", controller.ServerGetByGroupId)
|
|
g.POST("/server/save", controller.ServerAjaxSave)
|
|
g.POST("/server/del", controller.ServerAjaxDel)
|
|
g.POST("/server/test", controller.ServerAjaxTest)
|
|
|
|
// === 任务分组 ===
|
|
g.GET("/group/table", controller.GroupTable)
|
|
g.GET("/group/add_data", controller.ApiGroupAddData)
|
|
g.GET("/group/edit_data", controller.ApiGroupEditData)
|
|
g.POST("/group/save", controller.GroupAjaxSave)
|
|
g.POST("/group/del", controller.GroupAjaxDel)
|
|
|
|
// === 资源分组 ===
|
|
g.GET("/server_group/table", controller.ServerGroupTable)
|
|
g.POST("/server_group/save", controller.ServerGroupAjaxSave)
|
|
g.POST("/server_group/del", controller.ServerGroupAjaxDel)
|
|
|
|
// === 执行日志 ===
|
|
g.GET("/task_log/table", controller.TaskLogTable)
|
|
g.GET("/task_log/detail_data", controller.ApiTaskLogDetailData)
|
|
g.POST("/task_log/del", controller.TaskLogAjaxDel)
|
|
|
|
// === 禁用命令 ===
|
|
g.GET("/ban/table", controller.BanTable)
|
|
g.POST("/ban/save", controller.BanAjaxSave)
|
|
g.POST("/ban/del", controller.BanAjaxDel)
|
|
|
|
// === 通知模板 ===
|
|
g.GET("/notify_tpl/table", controller.NotifyTplTable)
|
|
g.GET("/notify_tpl/add_data", controller.ApiNotifyTplAddData)
|
|
g.GET("/notify_tpl/edit_data", controller.ApiNotifyTplEditData)
|
|
g.POST("/notify_tpl/save", controller.NotifyTplAjaxSave)
|
|
g.POST("/notify_tpl/del", controller.NotifyTplAjaxDel)
|
|
g.GET("/notify_tpl/by_type", controller.NotifyTplAjaxByType)
|
|
|
|
// === 权限管理 ===
|
|
g.GET("/auth/nodes", controller.ApiAuthGetNodes)
|
|
g.GET("/auth/node", controller.AuthGetNode)
|
|
g.POST("/auth/save", controller.AuthAjaxSave)
|
|
g.POST("/auth/del", controller.AuthAjaxDel)
|
|
|
|
// === 角色管理 ===
|
|
g.GET("/role/table", controller.RoleTable)
|
|
g.GET("/role/add_data", controller.ApiRoleAddData)
|
|
g.GET("/role/edit_data", controller.ApiRoleEditData)
|
|
g.POST("/role/save", controller.RoleAjaxSave)
|
|
g.POST("/role/del", controller.RoleAjaxDel)
|
|
|
|
// === 管理员管理 ===
|
|
g.GET("/admin/table", controller.AdminTable)
|
|
g.GET("/admin/add_data", controller.ApiAdminAddData)
|
|
g.GET("/admin/edit_data", controller.ApiAdminEditData)
|
|
g.POST("/admin/save", controller.AdminAjaxSave)
|
|
g.POST("/admin/del", controller.AdminAjaxDel)
|
|
|
|
// === 用户资料 ===
|
|
g.GET("/user/edit_data", controller.ApiUserEditData)
|
|
g.POST("/user/save", controller.UserAjaxSave)
|
|
})
|
|
|
|
// ===== Agent API(无需认证,通过 IP 白名单或 token 调用)=====
|
|
s.Group("/server", func(g *ghttp.RouterGroup) {
|
|
g.POST("/api_save", controller.ServerApiSave)
|
|
g.POST("/api_status", controller.ServerApiStatus)
|
|
g.GET("/api_get", controller.ServerApiGet)
|
|
})
|
|
s.Group("/task", func(g *ghttp.RouterGroup) {
|
|
g.POST("/api_task", controller.TaskApiTask)
|
|
g.POST("/api_start", controller.TaskApiStart)
|
|
g.POST("/api_pause", controller.TaskApiPause)
|
|
})
|
|
}
|