intelligent_monitoring_backend/Code/backend/cmd/config/config.go

45 lines
822 B
Go
Raw Normal View History

2024-10-24 23:11:29 +08:00
package config
import (
"encoding/json"
"fmt"
"os"
"path/filepath"
)
type Configuration struct {
Port int `json:"backendport"`
Name string `json:"name"`
Database string `json:"database"`
PicturePath string `json:"picturePath"`
}
var AllConfig *Configuration
func InitConfig() {
cfg, _ := loadConfig()
AllConfig = &cfg
}
func loadConfig() (Configuration, error) {
dir, err1 := os.Getwd()
if err1 != nil {
fmt.Println(err1)
return Configuration{}, err1
}
projectPath := filepath.Join(dir, "../../")
filespath := filepath.Join(projectPath, "cmd/config/config.json")
file, err := os.ReadFile(filespath)
if err != nil {
return Configuration{}, err
}
var cfg Configuration
err = json.Unmarshal(file, &cfg)
if err != nil {
return Configuration{}, err
}
return cfg, nil
}