setting.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package global
  2. import (
  3. global "project_management/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. // Qiniu qiniu
  47. type Qiniu struct {
  48. AccessKeyID string `json:"accessKeyID"`
  49. Endpoint string `json:"endpoint"`
  50. AccessKeySecret string `json:"accessKeySecret"`
  51. BucketName string `json:"bucketName"`
  52. }
  53. type ICon struct {
  54. IconPath string `json:"iconPath"`
  55. }
  56. var (
  57. DatabaseSetting *DatabaseSettingS
  58. NatsSetting *Nats
  59. JwtSetting *Jwt
  60. ServerSetting *ServerSettingS
  61. SubMailSetting *SubMail
  62. RedisSetting *Redis
  63. SwaggerSetting *Swagger
  64. QiniuSetting *Qiniu
  65. IconSetting *ICon
  66. )
  67. // SetupSetting 读取配置到全局变量
  68. func SetupSetting() error {
  69. s, err := global.NewSetting()
  70. err = s.ReadSection("Database", &DatabaseSetting)
  71. err = s.ReadSection("Nats", &NatsSetting)
  72. err = s.ReadSection("Jwt", &JwtSetting)
  73. err = s.ReadSection("Server", &ServerSetting)
  74. err = s.ReadSection("SubMail", &SubMailSetting)
  75. err = s.ReadSection("Redis", &RedisSetting)
  76. err = s.ReadSection("Swagger", &SwaggerSetting)
  77. err = s.ReadSection("Qiniu", &QiniuSetting)
  78. err = s.ReadSection("ICon", &IconSetting)
  79. if err != nil {
  80. return err
  81. }
  82. return nil
  83. }