优化项目机构和服务端协程控制逻辑
This commit is contained in:
86
server/pkg/env/env.go
vendored
Normal file
86
server/pkg/env/env.go
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
package env
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
var (
|
||||
AppCtrlPort uint16
|
||||
AppDataPort uint16
|
||||
|
||||
DbHost string
|
||||
DbPort uint16
|
||||
DbDatabase string
|
||||
DbUsername string
|
||||
DbPassword string
|
||||
DbTimezone string
|
||||
)
|
||||
|
||||
func Init() {
|
||||
|
||||
// 加载 .env 文件
|
||||
err := godotenv.Load()
|
||||
if err != nil {
|
||||
slog.Debug("没有本地环境变量文件")
|
||||
}
|
||||
|
||||
appCtrlPortStr := os.Getenv("APP_CTRL_PORT")
|
||||
if appCtrlPortStr == "" {
|
||||
panic("环境变量 APP_CTRL_PORT 未设置")
|
||||
}
|
||||
appCtrlPort, err := strconv.ParseUint(appCtrlPortStr, 10, 16)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("环境变量 APP_CTRL_PORT 格式错误: %v", err))
|
||||
}
|
||||
AppCtrlPort = uint16(appCtrlPort)
|
||||
|
||||
appDataPortStr := os.Getenv("APP_DATA_PORT")
|
||||
if appDataPortStr == "" {
|
||||
panic("环境变量 APP_DATA_PORT 未设置")
|
||||
}
|
||||
appDataPort, err := strconv.ParseUint(appDataPortStr, 10, 16)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("环境变量 APP_DATA_PORT 格式错误: %v", err))
|
||||
}
|
||||
AppDataPort = uint16(appDataPort)
|
||||
|
||||
DbHost = os.Getenv("DB_HOST")
|
||||
if DbHost == "" {
|
||||
panic("环境变量 DB_HOST 未设置")
|
||||
}
|
||||
|
||||
dbPortStr := os.Getenv("DB_PORT")
|
||||
if dbPortStr == "" {
|
||||
dbPortStr = "5432"
|
||||
}
|
||||
dbPort, err := strconv.ParseUint(dbPortStr, 10, 16)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("环境变量 DB_PORT 格式错误: %v", err))
|
||||
}
|
||||
DbPort = uint16(dbPort)
|
||||
|
||||
DbDatabase = os.Getenv("DB_DATABASE")
|
||||
if DbDatabase == "" {
|
||||
panic("环境变量 DB_DATABASE 未设置")
|
||||
}
|
||||
|
||||
DbUsername = os.Getenv("DB_USERNAME")
|
||||
if DbUsername == "" {
|
||||
panic("环境变量 DB_USERNAME 未设置")
|
||||
}
|
||||
|
||||
DbPassword = os.Getenv("DB_PASSWORD")
|
||||
if DbPassword == "" {
|
||||
panic("环境变量 DB_PASSWORD 未设置")
|
||||
}
|
||||
|
||||
DbTimezone = os.Getenv("DB_TIMEZONE")
|
||||
if DbTimezone == "" {
|
||||
DbTimezone = "Asia/Shanghai"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user