feat(web): add static file serving and update API routes

- Implement embedded static file serving for frontend assets
- Update API routes to use '/api' prefix
- Add web handler for static file serving with proper content types
- Modify .gitignore and README to reflect new web/dist directory structure
This commit is contained in:
2026-05-05 15:45:51 +08:00
parent cdeaa5bacc
commit a0ef35627b
5 changed files with 135 additions and 33 deletions
+33 -32
View File
@@ -4,49 +4,50 @@ import (
"fmt"
"net/http"
"super-frpc/frpLogger"
"super-frpc/utils"
"super-frpc/handlers"
"super-frpc/postLog"
"super-frpc/session"
"super-frpc/handlers"
"super-frpc/utils"
"super-frpc/web"
)
func setupRoutes() {
systemLogHandler := postLog.NewLogSocketHandler(postLog.GetLogBroadcaster())
http.HandleFunc("/system/getLogs", systemLogHandler.Handle)
http.HandleFunc("/system/getStatus", GetStatusHandler)
http.HandleFunc("/system/getSoftwareInfo", GetSoftwareInfoHandler)
http.HandleFunc("/system/settings/get", handlers.GetSettingsHandler)
http.HandleFunc("/system/settings/set", handlers.SetSettingsHandler)
http.HandleFunc("/api/system/getLogs", systemLogHandler.Handle)
http.HandleFunc("/api/system/getStatus", GetStatusHandler)
http.HandleFunc("/api/system/getSoftwareInfo", GetSoftwareInfoHandler)
http.HandleFunc("/api/system/settings/get", handlers.GetSettingsHandler)
http.HandleFunc("/api/system/settings/set", handlers.SetSettingsHandler)
http.HandleFunc("/register", handlers.RegisterHandler)
http.HandleFunc("/login", handlers.LoginHandler)
http.HandleFunc("/logout", handlers.LogoutHandler)
http.HandleFunc("/api/register", handlers.RegisterHandler)
http.HandleFunc("/api/login", handlers.LoginHandler)
http.HandleFunc("/api/logout", handlers.LogoutHandler)
http.HandleFunc("/userMgr/create", handlers.CreateUserHandler)
http.HandleFunc("/userMgr/remove", handlers.RemoveUserHandler)
http.HandleFunc("/userMgr/list", handlers.ListUserHandler)
http.HandleFunc("/userMgr/modify", handlers.ModifyUserHandler)
http.HandleFunc("/userMgr/modifyType", handlers.ModifyUserTypeHandler)
http.HandleFunc("/api/userMgr/create", handlers.CreateUserHandler)
http.HandleFunc("/api/userMgr/remove", handlers.RemoveUserHandler)
http.HandleFunc("/api/userMgr/list", handlers.ListUserHandler)
http.HandleFunc("/api/userMgr/modify", handlers.ModifyUserHandler)
http.HandleFunc("/api/userMgr/modifyType", handlers.ModifyUserTypeHandler)
http.HandleFunc("/sessionMgr/list", handlers.ListActiveSessionsHandler)
http.HandleFunc("/sessionMgr/remove", handlers.RemoveSessionHandler)
http.HandleFunc("/api/sessionMgr/list", handlers.ListActiveSessionsHandler)
http.HandleFunc("/api/sessionMgr/remove", handlers.RemoveSessionHandler)
http.HandleFunc("/frpcAct/instanceMgr/create", handlers.CreateInstanceHandler)
http.HandleFunc("/frpcAct/instanceMgr/delete", handlers.DeleteInstanceHandler)
http.HandleFunc("/frpcAct/instanceMgr/modify", handlers.ModifyInstanceHandler)
http.HandleFunc("/frpcAct/instanceMgr/list", handlers.ListInstancesHandler)
http.HandleFunc("/frpcAct/instanceMgr/start", handlers.StartInstanceHandler)
http.HandleFunc("/frpcAct/instanceMgr/stop", handlers.StopInstanceHandler)
http.HandleFunc("/frpcAct/instanceMgr/restart", handlers.RestartInstanceHandler)
http.HandleFunc("/frpcAct/instanceMgr/status", handlers.GetInstanceStatusHandler)
http.HandleFunc("/frpcAct/instanceMgr/getInfo", handlers.GetInstanceInfoHandler)
http.HandleFunc("/frpcAct/instanceMgr/logs", frpLogger.NewInstanceLogHandler(session.ValidateTokenFromMap).ServeHTTP)
http.HandleFunc("/frpcAct/proxyMgr/create", handlers.CreateProxyHandler)
http.HandleFunc("/frpcAct/proxyMgr/modify", handlers.ModifyProxyHandler)
http.HandleFunc("/frpcAct/proxyMgr/delete", handlers.DeleteProxyHandler)
http.HandleFunc("/frpcAct/proxyMgr/list", handlers.ListProxiesHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/create", handlers.CreateInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/delete", handlers.DeleteInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/modify", handlers.ModifyInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/list", handlers.ListInstancesHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/start", handlers.StartInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/stop", handlers.StopInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/restart", handlers.RestartInstanceHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/status", handlers.GetInstanceStatusHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/getInfo", handlers.GetInstanceInfoHandler)
http.HandleFunc("/api/frpcAct/instanceMgr/logs", frpLogger.NewInstanceLogHandler(session.ValidateTokenFromMap).ServeHTTP)
http.HandleFunc("/api/frpcAct/proxyMgr/create", handlers.CreateProxyHandler)
http.HandleFunc("/api/frpcAct/proxyMgr/modify", handlers.ModifyProxyHandler)
http.HandleFunc("/api/frpcAct/proxyMgr/delete", handlers.DeleteProxyHandler)
http.HandleFunc("/api/frpcAct/proxyMgr/list", handlers.ListProxiesHandler)
http.HandleFunc("/", NotFoundHandler)
http.HandleFunc("/", web.ServeStatic)
postLog.Info("Routes setup successfully")