package main import ( "fmt" "os" "path/filepath" "strings" "github.com/JACKYMYPERSON/hldrCenter/config" "github.com/JACKYMYPERSON/hldrCenter/init/database/cache" "github.com/JACKYMYPERSON/hldrCenter/middleware/cors" "github.com/JACKYMYPERSON/hldrCenter/router" ) func main() { var configPath string exePath, err := os.Executable() if err != nil { fmt.Printf("获取程序路径失败:%v\n", err) return } exeDir := filepath.Dir(exePath) if strings.Contains(strings.ToLower(exeDir), "tmp") { projectRoot := filepath.Join(exeDir, "..") configPath = filepath.Join(projectRoot, "config", "config.yaml") if _, err := os.Stat(configPath); err != nil { configPath = filepath.Join(".", "config", "config.yaml") } } else { configPath = filepath.Join(exeDir, "config", "config.yaml") } if _, err := os.Stat(configPath); err != nil { fmt.Printf("配置文件不存在:%s\n", configPath) return } cfg, err := config.LoadConfig(configPath) if err != nil { fmt.Printf("加载配置失败:%v\n", err) return } cache.InitCache() defer func() { err := cache.CloseCache() if err != nil { return } }() r := router.SetupRouter(cfg) r.Use(cors.CorsMiddleware(&cfg.Server)) addr := fmt.Sprintf(":%s", cfg.Server.Port) fmt.Printf("后端服务启动成功,地址:http://localhost%s\n", addr) if err := r.Run(addr); err != nil { fmt.Printf("服务启动失败:%v\n", err) } }