Files
hldrCenter/server/main.go
JACKYMYPERSON 76b863b99d 修改
2025-11-04 23:00:01 +08:00

63 lines
1.4 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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)
}
}