refactor:端口改为int

This commit is contained in:
Leon
2025-12-23 02:21:33 +08:00
parent b0a7c85a8d
commit 88d2cabaac
3 changed files with 29 additions and 7 deletions

View File

@@ -1,10 +1,14 @@
package main
import (
"context"
"feedsystem_video_go/internal/config"
"feedsystem_video_go/internal/db"
apphttp "feedsystem_video_go/internal/http"
rediscache "feedsystem_video_go/internal/redis"
"log"
"strconv"
"time"
)
func main() {
@@ -16,7 +20,7 @@ func main() {
}
// Connect database
log.Printf("Database config: %v", cfg.Database)
//log.Printf("Database config: %v", cfg.Database)
sqlDB, err := db.NewDB(cfg.Database)
if err != nil {
log.Fatalf("Failed to connect database: %v", err)
@@ -26,10 +30,28 @@ func main() {
}
defer db.CloseDB(sqlDB)
// Connect redis (optional, used for caching)
cache, err := rediscache.NewFromEnv()
if err != nil {
log.Printf("Redis config error (cache disabled): %v", err)
cache = nil
} else {
pingCtx, cancel := context.WithTimeout(context.Background(), 300*time.Millisecond)
defer cancel()
if err := cache.Ping(pingCtx); err != nil {
log.Printf("Redis not available (cache disabled): %v", err)
_ = cache.Close()
cache = nil
} else {
defer cache.Close()
log.Printf("Redis connected (cache enabled)")
}
}
// Set router
r := apphttp.SetRouter(sqlDB)
log.Printf("Server is running on port %s", cfg.Server.Port)
if err := r.Run(":" + cfg.Server.Port); err != nil {
r := apphttp.SetRouter(sqlDB, cache)
log.Printf("Server is running on port %d", cfg.Server.Port)
if err := r.Run(":" + strconv.Itoa(cfg.Server.Port)); err != nil {
log.Fatalf("Failed to run server: %v", err)
}
}

View File

@@ -12,12 +12,12 @@ type Config struct {
}
type ServerConfig struct {
Port string `yaml:"port"`
Port int `yaml:"port"`
}
type DatabaseConfig struct {
Host string `yaml:"host"`
Port string `yaml:"port"`
Port int `yaml:"port"`
User string `yaml:"user"`
Password string `yaml:"password"`
DBName string `yaml:"dbname"`

View File

@@ -12,7 +12,7 @@ import (
)
func NewDB(dbcfg config.DatabaseConfig) (*gorm.DB, error) {
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local",
dbcfg.User, dbcfg.Password, dbcfg.Host, dbcfg.Port, dbcfg.DBName)
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})