This commit is contained in:
2025-02-07 20:33:27 +08:00
parent 76a4b67269
commit e89e1a372a
28 changed files with 276 additions and 1691 deletions

62
env/env.go vendored
View File

@@ -2,12 +2,38 @@ package env
import (
"os"
"path/filepath"
"strings"
"git.apinb.com/bsm-sdk/core/types"
"git.apinb.com/bsm-sdk/core/utils"
)
var Runtime *types.RuntimeEnv = nil
// get system env.
func NewEnv() *types.RuntimeEnv {
if Runtime == nil {
Runtime = &types.RuntimeEnv{
Workspace: GetEnvDefault("BSM_Workspace", "def"),
JwtSecretKey: GetEnvDefault("BSM_JwtSecretKey", "Cblocksmesh2022C"),
Mode: strings.ToLower(GetEnvDefault("BSM_RuntimeMode", "dev")),
LicencePath: strings.ToLower(GetEnvDefault("BSM_Licence", "")),
}
if Runtime.Mode == "dev" {
Runtime.Prefix = GetEnvDefault("BSM_Prefix", utils.GetCurrentPath())
} else {
Runtime.Prefix = GetEnvDefault("BSM_Prefix", "/usr/local/bsm")
}
if Runtime.LicencePath == "" {
Runtime.LicencePath = filepath.Join(Runtime.Prefix, "etc")
}
}
return Runtime
}
func GetEnvDefault(key string, def string) string {
value := os.Getenv(key)
if value == "" {
@@ -15,39 +41,3 @@ func GetEnvDefault(key string, def string) string {
}
return value
}
var MeshEnv *types.MeshEnv = nil
// get system env.
func NewEnv() *types.MeshEnv {
if MeshEnv == nil {
MeshEnv = &types.MeshEnv{
Workspace: GetEnvDefault("BlocksMesh_Workspace", "def"),
JwtSecretKey: GetEnvDefault("BlocksMesh_JwtSecretKey", "Cblocksmesh2022C"),
RuntimeMode: strings.ToLower(GetEnvDefault("BlocksMesh_RuntimeMode", "dev")),
}
if MeshEnv.RuntimeMode == "dev" {
MeshEnv.Prefix = GetEnvDefault("BlocksMesh_Prefix", utils.GetCurrentPath())
} else {
MeshEnv.Prefix = GetEnvDefault("BlocksMesh_Prefix", "/usr/local/bsm")
}
}
return MeshEnv
}
// get system base env.
func NewBaseEnv() *types.MeshEnv {
if MeshEnv == nil {
MeshEnv = &types.MeshEnv{
RuntimeMode: strings.ToLower(GetEnvDefault("BlocksMesh_RuntimeMode", "dev")),
}
if MeshEnv.RuntimeMode == "dev" {
MeshEnv.Prefix = GetEnvDefault("BlocksMesh_Prefix", utils.GetCurrentPath())
} else {
MeshEnv.Prefix = GetEnvDefault("BlocksMesh_Prefix", "/usr/local/bsm")
}
}
return MeshEnv
}