setting.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package global
  2. import (
  3. "file_upload/backend/configs"
  4. )
  5. // DatabaseSettingS 数据库配置
  6. type DatabaseSettingS struct {
  7. Dialect string `json:"dialect"`
  8. Host string `json:"host"`
  9. Port string `json:"port"`
  10. UserName string `json:"userName"`
  11. Password string `json:"password"`
  12. Db string `json:"db"`
  13. OtherParams string `json:"otherParams"`
  14. MaxIdleConn int `json:"max_idle_conn"`
  15. MaxOpenConn int `json:"max_open_conn"`
  16. ConnMaxLifetime string `json:"conn_max_lifetime"`
  17. }
  18. // Nats 配置
  19. type Nats struct {
  20. NatsServerUrl string `json:"NatsServer_Url"`
  21. }
  22. // Jwt 配置
  23. type Jwt struct {
  24. Secret string `json:"secret"`
  25. RefreshExpire int `json:"refresh_expire"`
  26. Issuer string `json:"issuer"`
  27. }
  28. // ServerSettingS 服务器配置
  29. type ServerSettingS struct {
  30. Mode string `json:"mode"`
  31. Port string `json:"port"`
  32. InsecureServingInfo string `json:"insecure_serving_info"`
  33. }
  34. type SubMail struct {
  35. Appid string `json:"appid"`
  36. Signature string `json:"signature"`
  37. }
  38. type Redis struct {
  39. Addr string `json:"addr"`
  40. Password string `json:"password"`
  41. DB int `json:"db"`
  42. }
  43. type Swagger struct {
  44. Enable string `json:"enable"`
  45. }
  46. type Mongo struct {
  47. Url string `json:"url"`
  48. Password string `json:"password"`
  49. DB int `json:"db"`
  50. }
  51. type Download struct {
  52. Path string `json:"path"`
  53. Imageurl string `json:"imageurl"`
  54. }
  55. var (
  56. DatabaseSetting *DatabaseSettingS
  57. NatsSetting *Nats
  58. JwtSetting *Jwt
  59. ServerSetting *ServerSettingS
  60. SubMailSetting *SubMail
  61. RedisSetting *Redis
  62. SwaggerSetting *Swagger
  63. MongoSetting *Mongo
  64. DownloadSetting *Download
  65. )
  66. // SetupSetting 读取配置到全局变量
  67. func SetupSetting() error {
  68. s, err := global.NewSetting()
  69. err = s.ReadSection("Database", &DatabaseSetting)
  70. err = s.ReadSection("Nats", &NatsSetting)
  71. err = s.ReadSection("Jwt", &JwtSetting)
  72. err = s.ReadSection("Server", &ServerSetting)
  73. err = s.ReadSection("SubMail", &SubMailSetting)
  74. err = s.ReadSection("Redis", &RedisSetting)
  75. err = s.ReadSection("Swagger", &SwaggerSetting)
  76. err = s.ReadSection("Mongo", &MongoSetting)
  77. err = s.ReadSection("Download", &DownloadSetting)
  78. if err != nil {
  79. return err
  80. }
  81. return nil
  82. }