package web import ( "platform/pkg/env" auth2 "platform/web/auth" "platform/web/handlers" "github.com/gofiber/fiber/v2" ) func ApplyRouters(app *fiber.App) { api := app.Group("/api") userRouter(api) adminRouter(api) // 回调 callbacks := app.Group("/callback") callbacks.Get("/identify", handlers.IdentifyCallbackNew) // 临时 if env.RunMode == env.RunModeDev { debug := app.Group("/debug") debug.Get("/sms/:phone", handlers.DebugGetSmsCode) debug.Get("/proxy/register", handlers.DebugRegisterProxyBaiYin) } } // 用户接口路由 func userRouter(api fiber.Router) { // 认证 auth := api.Group("/auth") auth.Get("/authorize", auth2.AuthorizeGet) auth.Post("/authorize", auth2.AuthorizePost) auth.Post("/token", auth2.Token) auth.Post("/revoke", auth2.Revoke) auth.Post("/introspect", auth2.Introspect) auth.Post("/verify/sms", handlers.SmsCode) // 用户 user := api.Group("/user") user.Post("/update", handlers.UpdateUser) user.Post("/update/account", handlers.UpdateAccount) user.Post("/update/password", handlers.UpdatePassword) user.Post("/identify", handlers.Identify) // 白名单 whitelist := api.Group("/whitelist") whitelist.Post("/list", handlers.ListWhitelist) whitelist.Post("/create", handlers.CreateWhitelist) whitelist.Post("/update", handlers.UpdateWhitelist) whitelist.Post("/remove", handlers.RemoveWhitelist) // 套餐 resource := api.Group("/resource") resource.Post("/all", handlers.AllActiveResource) resource.Post("/list/short", handlers.PageResourceShort) resource.Post("/list/long", handlers.PageResourceLong) resource.Post("/create", handlers.CreateResource) resource.Post("/price", handlers.ResourcePrice) resource.Post("/statistics/free", handlers.StatisticResourceFree) resource.Post("/statistics/usage", handlers.StatisticResourceUsage) // 批次 batch := api.Group("/batch") batch.Post("/page", handlers.PageResourceBatch) // 通道 channel := api.Group("/channel") channel.Post("/list", handlers.ListChannels) channel.Post("/create", handlers.CreateChannel) channel.Post("/remove", handlers.RemoveChannels) // 交易 trade := api.Group("/trade") trade.Post("/create", handlers.TradeCreate) trade.Post("/complete", handlers.TradeComplete) trade.Post("/cancel", handlers.TradeCancel) trade.Get("/check", handlers.TradeCheck) // 账单 bill := api.Group("/bill") bill.Post("/list", handlers.ListBill) // 公告 announcement := api.Group("/announcement") announcement.Post("/list", handlers.ListAnnouncements) // 网关 proxy := api.Group("/proxy") proxy.Post("/online", handlers.ProxyReportOnline) proxy.Post("/offline", handlers.ProxyReportOffline) proxy.Post("/update", handlers.ProxyReportUpdate) proxy.Post("/register/baidyin", handlers.ProxyRegisterBaiYin) // 节点 edge := api.Group("/edge") edge.Post("/assign", handlers.AssignEdge) edge.Post("/all", handlers.AllEdgesAvailable) // 前台 inquiry := api.Group("/inquiry") inquiry.Post("/create", handlers.CreateInquiry) } // 管理员接口路由 func adminRouter(api fiber.Router) { api = api.Group("/admin") // user 用户 var user = api.Group("/user") user.Post("/page", handlers.PageUserByAdmin) user.Post("/bind", handlers.BindAdmin) // resource 套餐 var resource = api.Group("/resource") resource.Post("/short/page", handlers.PageResourceShortByAdmin) resource.Post("/long/page", handlers.PageResourceLongByAdmin) // batch 批次 var usage = api.Group("batch") usage.Post("/page", handlers.PageBatchByAdmin) // channel 通道 var channel = api.Group("/channel") channel.Post("/page", handlers.PageChannelsByAdmin) // trade 交易 var trade = api.Group("trade") trade.Post("/page", handlers.PageTradeByAdmin) // bill 账单 var bill = api.Group("/bill") bill.Post("/page", handlers.PageBillByAdmin) }