conf.go 893 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package service
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "github.com/naoina/toml"
  6. )
  7. type AppConfig struct {
  8. Receive struct {
  9. Description string
  10. Mqtt struct {
  11. Clientid string
  12. Username string
  13. Password string
  14. Serveraddr string
  15. Topic string
  16. }
  17. }
  18. Send struct {
  19. Description string
  20. Delay int
  21. Redis struct {
  22. Addr string
  23. Poolnum int
  24. }
  25. Db struct {
  26. Type string
  27. Addr string
  28. Db string
  29. User string
  30. Password string
  31. }
  32. Controller struct {
  33. ActionUrl string
  34. Nsqdtcpaddr string
  35. Topic string
  36. }
  37. }
  38. }
  39. var Config AppConfig
  40. func ReadAppConfig(path string) (config AppConfig) {
  41. f, err := os.Open(path)
  42. if err != nil {
  43. panic(err)
  44. }
  45. defer f.Close()
  46. buf, err := ioutil.ReadAll(f)
  47. if err != nil {
  48. panic(err)
  49. }
  50. if err := toml.Unmarshal(buf, &config); err != nil {
  51. panic(err)
  52. }
  53. return
  54. }