init.go 859 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. service.SendCodeInit(config.Server.Session)
  33. }
  34. func getEnv() string {
  35. env := os.Getenv("youngee_env")
  36. if env == "" {
  37. env = "dev"
  38. }
  39. return env
  40. }