setting.go 922 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package dbdata
  2. import (
  3. "reflect"
  4. )
  5. const (
  6. SettingBucket = "SettingBucket"
  7. Installed = "Installed"
  8. )
  9. func StructName(data interface{}) string {
  10. ref := reflect.ValueOf(data)
  11. s := &ref
  12. if s.Kind() == reflect.Ptr {
  13. e := s.Elem()
  14. s = &e
  15. }
  16. name := s.Type().Name()
  17. return name
  18. }
  19. func SettingSet(data interface{}) error {
  20. key := StructName(data)
  21. err := Set(SettingBucket, key, data)
  22. return err
  23. }
  24. func SettingGet(data interface{}) error {
  25. key := StructName(data)
  26. err := Get(SettingBucket, key, data)
  27. return err
  28. }
  29. type SettingSmtp struct {
  30. Host string `json:"host"`
  31. Port int `json:"port"`
  32. Username string `json:"username"`
  33. Password string `json:"password"`
  34. From string `json:"from"`
  35. Encryption string `json:"encryption"`
  36. }
  37. type SettingOther struct {
  38. LinkAddr string `json:"link_addr"`
  39. Banner string `json:"banner"`
  40. AccountMail string `json:"account_mail"`
  41. }