config.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package config
  2. import (
  3. "database/sql"
  4. "net/http"
  5. "device-manage/logger"
  6. )
  7. type Config struct {
  8. saas bool
  9. dbs map[string]*DBConfig
  10. db *DBConfig
  11. engine http.Handler
  12. }
  13. type DBConfig struct {
  14. Driver string
  15. DB *sql.DB
  16. }
  17. // SetDbs 设置对应key的db
  18. func (c *Config) SetDbs(key string, db *DBConfig) {
  19. c.dbs[key] = db
  20. }
  21. // GetDbs 获取所有map里的db数据
  22. func (c *Config) GetDbs() map[string]*DBConfig {
  23. return c.dbs
  24. }
  25. // GetDbByKey 根据key获取db
  26. func (c *Config) GetDbByKey(key string) *DBConfig {
  27. return c.dbs[key]
  28. }
  29. // SetDb 设置单个db
  30. func (c *Config) SetDb(db *DBConfig) {
  31. c.db = db
  32. }
  33. // GetDb 获取单个db
  34. func (c *Config) GetDb() *DBConfig {
  35. return c.db
  36. }
  37. // SetEngine 设置路由引擎
  38. func (c *Config) SetEngine(engine http.Handler) {
  39. c.engine = engine
  40. }
  41. // GetEngine 获取路由引擎
  42. func (c *Config) GetEngine() http.Handler {
  43. return c.engine
  44. }
  45. // SetLogger 设置日志组件
  46. func (c *Config) SetLogger(l logger.Logger) {
  47. logger.DefaultLogger = l
  48. }
  49. // GetLogger 获取日志组件
  50. func (c *Config) GetLogger() logger.Logger {
  51. return logger.DefaultLogger
  52. }
  53. // SetSaas 设置是否是saas应用
  54. func (c *Config) SetSaas(saas bool) {
  55. c.saas = saas
  56. }
  57. // GetSaas 获取是否是saas应用
  58. func (c *Config) GetSaas() bool {
  59. return c.saas
  60. }
  61. func DefaultConfig() *Config {
  62. return &Config{}
  63. }