init.go 814 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package config
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. "os"
  6. "youngee_b_api/db"
  7. "youngee_b_api/model/system_model"
  8. "youngee_b_api/redis"
  9. "youngee_b_api/service"
  10. "gopkg.in/yaml.v2"
  11. )
  12. func Init() *system_model.Server {
  13. config := new(system_model.Config)
  14. env := getEnv()
  15. configPath := fmt.Sprintf("./config/%s.yaml", env)
  16. file, err := ioutil.ReadFile(configPath)
  17. if err != nil {
  18. panic(err)
  19. }
  20. //yaml文件内容影射到结构体中
  21. err = yaml.Unmarshal(file, config)
  22. if err != nil {
  23. panic(err)
  24. }
  25. loadExternelConfig(config)
  26. return config.Server
  27. }
  28. func loadExternelConfig(config *system_model.Config) {
  29. db.Init(config.Mysql)
  30. redis.Init(config.Redis)
  31. service.LoginAuthInit(config.Server.Session)
  32. }
  33. func getEnv() string {
  34. env := os.Getenv("youngee_env")
  35. if env == "" {
  36. env = "dev"
  37. }
  38. return env
  39. }