init.go 932 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package config
  2. import (
  3. "fmt"
  4. "gopkg.in/yaml.v2"
  5. "io/ioutil"
  6. "os"
  7. "youngee_b_api/app/dao"
  8. "youngee_b_api/model/system_model"
  9. "youngee_b_api/redis"
  10. "youngee_b_api/service"
  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. dao.Init(config.Mysql)
  31. redis.Init(config.Redis)
  32. service.LoginAuthInit(config.Server.Session)
  33. service.SendCodeInit(config.Server.Session)
  34. service.QrCodeInit(config.Server.Session)
  35. }
  36. func getEnv() string {
  37. env := os.Getenv("youngee_env")
  38. if env == "" {
  39. env = "dev"
  40. }
  41. return env
  42. }