重命名包 client 为 edge;重命名包 server 为 gateway

This commit is contained in:
2025-05-16 17:04:03 +08:00
parent 22f3c37478
commit 20ac7dbd91
37 changed files with 65 additions and 75 deletions

148
gateway/env/env.go vendored Normal file
View File

@@ -0,0 +1,148 @@
package env
import (
"fmt"
"log/slog"
"os"
"strconv"
"github.com/joho/godotenv"
)
var (
AppCtrlPort uint16 = 18080
AppDataPort uint16 = 18081
AppWebPort uint16 = 8848
AppLogMode = "dev"
AppExitTimeout = 5 // 等待服务停止的超时时间
AppDataTimeout = 10 // 等待数据通道连接的超时时间
AppUserTimeout = 10 // 等待用户发送数据的超时时间(端口复用需要分析协议,如果用户长期不发送数据,将会阻塞分析协程)
ClientId string
ClientSecret string
RedisHost = "localhost"
RedisPort = "6379"
RedisDb = 0
RedisPass = ""
EndpointOnline string
EndpointOffline string
EndpointAssigned string
)
func Init() {
var err = godotenv.Load()
if err != nil {
slog.Debug("没有本地环境变量文件")
}
var value string
value = os.Getenv("APP_CTRL_PORT")
if value != "" {
appCtrlPort, err := strconv.Atoi(value)
if err != nil {
panic(fmt.Sprintf("环境变量 APP_CTRL_PORT 格式错误: %v", err))
}
AppCtrlPort = uint16(appCtrlPort)
}
value = os.Getenv("APP_DATA_PORT")
if value != "" {
appDataPort, err := strconv.Atoi(value)
if err != nil {
panic(fmt.Sprintf("环境变量 APP_DATA_PORT 格式错误: %v", err))
}
AppDataPort = uint16(appDataPort)
}
value = os.Getenv("APP_WEB_PORT")
if value != "" {
appWebPort, err := strconv.Atoi(value)
if err != nil {
panic(fmt.Sprintf("环境变量 APP_WEB_PORT 格式错误: %v", err))
}
AppWebPort = uint16(appWebPort)
}
value = os.Getenv("APP_LOG_MODE")
if value != "" {
AppLogMode = value
}
value = os.Getenv("APP_EXIT_TIMEOUT")
if value != "" {
appExitTimeout, err := strconv.Atoi(value)
if err != nil {
panic(fmt.Sprintf("环境变量 APP_EXIT_TIMEOUT 格式错误: %v", err))
}
AppExitTimeout = appExitTimeout
}
value = os.Getenv("APP_DATA_TIMEOUT")
if value != "" {
appDataTimeout, err := strconv.Atoi(value)
if err != nil {
panic(fmt.Sprintf("环境变量 APP_DATA_TIMEOUT 格式错误: %v", err))
}
AppDataTimeout = appDataTimeout
}
value = os.Getenv("CLIENT_ID")
if value != "" {
ClientId = value
} else {
panic("环境变量 CLIENT_ID 未设置")
}
value = os.Getenv("CLIENT_SECRET")
if value != "" {
ClientSecret = value
} else {
panic("环境变量 CLIENT_SECRET 未设置")
}
value = os.Getenv("REDIS_HOST")
if value != "" {
RedisHost = value
}
value = os.Getenv("REDIS_PORT")
if value != "" {
RedisPort = value
}
value = os.Getenv("REDIS_DB")
if value != "" {
redisDb, err := strconv.Atoi(value)
if err != nil {
panic(fmt.Sprintf("环境变量 REDIS_DB 格式错误: %v", err))
}
RedisDb = redisDb
}
value = os.Getenv("REDIS_PASS")
if value != "" {
RedisPass = value
}
value = os.Getenv("ENDPOINT_ONLINE")
if value != "" {
EndpointOnline = value
} else {
panic("环境变量 ENDPOINT_ONLINE 未设置")
}
value = os.Getenv("ENDPOINT_OFFLINE")
if value != "" {
EndpointOffline = value
} else {
panic("环境变量 ENDPOINT_OFFLINE 未设置")
}
value = os.Getenv("ENDPOINT_ASSIGNED")
if value != "" {
EndpointAssigned = value
} else {
panic("环境变量 ENDPOINT_ASSIGNED 未设置")
}
}