修复订阅无法正常获取的错误
Some checks failed
build / build (api, amd64, linux) (push) Failing after -50s
build / build (api, arm64, linux) (push) Failing after -51s
build / build (api.exe, amd64, windows) (push) Failing after -51s

This commit is contained in:
CN-JS-HuiBai
2026-04-17 23:07:47 +08:00
parent 9f6a4515c0
commit 97f0672729
11 changed files with 273 additions and 95 deletions

View File

@@ -1,6 +1,7 @@
package main
import (
"io"
"log"
"os"
"path/filepath"
@@ -16,23 +17,42 @@ import (
func main() {
config.LoadConfig()
configureRuntimeLogging()
database.InitDB()
database.InitCache()
router := gin.New()
router.Use(gin.Logger(), gin.Recovery())
if config.IsLogLevelEnabled(config.AppConfig.LogLevel, "info") {
router.Use(gin.Logger())
}
router.Use(gin.Recovery())
api := router.Group("/api")
registerV1(api.Group("/v1"))
registerV2(api.Group("/v2"))
registerWebRoutes(router)
log.Printf("server starting on port %s", config.AppConfig.AppPort)
if config.IsLogLevelEnabled(config.AppConfig.LogLevel, "info") {
log.Printf("server starting on port %s", config.AppConfig.AppPort)
}
if err := router.Run(":" + config.AppConfig.AppPort); err != nil {
log.Fatalf("failed to start server: %v", err)
}
}
func configureRuntimeLogging() {
if config.NormalizeLogLevel(config.AppConfig.LogLevel) == "debug" {
gin.SetMode(gin.DebugMode)
} else {
gin.SetMode(gin.ReleaseMode)
}
if config.NormalizeLogLevel(config.AppConfig.LogLevel) == "silent" {
gin.DefaultWriter = io.Discard
gin.DefaultErrorWriter = io.Discard
}
}
func registerV1(v1 *gin.RouterGroup) {
registerPassportRoutes(v1)
registerGuestRoutes(v1)
@@ -288,8 +308,10 @@ func registerWebRoutes(router *gin.Engine) {
}
securePath := "/" + service.GetAdminSecurePath()
subscribePath := "/" + service.GetSubscribePath()
router.GET("/", handler.UserThemePage)
router.GET("/dashboard", handler.UserThemePage)
router.GET(subscribePath+"/:token", handler.Subscribe)
router.GET(securePath, handler.AdminAppPage)
router.GET(securePath+"/", handler.AdminAppPage)
router.GET(securePath+"/plugin-panel/:kind", handler.AdminPluginPanelPage)