54 lines
1.0 KiB
Go
54 lines
1.0 KiB
Go
package env
|
|
|
|
import (
|
|
"errors"
|
|
"flag"
|
|
"log/slog"
|
|
)
|
|
|
|
var Mode = "dev"
|
|
var Name = "dev-edge"
|
|
|
|
var EndpointOnline = "https://api.lanhuip.com/api/edge/online"
|
|
var EndpointOffline = "https://api.lanhuip.com/api/edge/offline"
|
|
|
|
func Init() error {
|
|
|
|
var env = flag.String("e", "dev", "环境变量,可选值 dev 或 prod")
|
|
var name = flag.String("n", "", "客户端唯一标识")
|
|
var online = flag.String("online", "", "服务注册地址")
|
|
var offline = flag.String("offline", "", "服务注销地址")
|
|
|
|
flag.Parse()
|
|
|
|
if env != nil && *env != "" {
|
|
if *env == "dev" || *env == "prod" {
|
|
Mode = *env
|
|
} else {
|
|
return errors.New("环境变量只能为 dev 或 prod")
|
|
}
|
|
}
|
|
|
|
if name != nil && *name != "" {
|
|
Name = *name
|
|
} else {
|
|
return errors.New("客户端唯一标识不能为空")
|
|
}
|
|
|
|
if online != nil && *online != "" {
|
|
EndpointOnline = *online
|
|
}
|
|
|
|
if offline != nil && *offline != "" {
|
|
EndpointOffline = *offline
|
|
}
|
|
|
|
if Mode == "dev" {
|
|
slog.SetLogLoggerLevel(slog.LevelDebug)
|
|
} else {
|
|
slog.SetLogLoggerLevel(slog.LevelWarn)
|
|
}
|
|
|
|
return nil
|
|
}
|