config.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package config
  2. import (
  3. "github.com/spf13/viper"
  4. )
  5. var (
  6. PageSize uint = 10
  7. C *Config
  8. )
  9. const (
  10. VERSION = "0.1.2"
  11. PAGE_SIZE_VISITOR = 8
  12. DIR = "config"
  13. )
  14. type DatabaseConf struct {
  15. Driver string
  16. Server string
  17. Port string
  18. Db string
  19. Username string
  20. Password string
  21. }
  22. type QiniuConf struct {
  23. Access string
  24. Secret string
  25. Bucket string
  26. Zone string
  27. Domain string
  28. }
  29. type ImapConf struct {
  30. Server, Email, Password string
  31. }
  32. type BasicConf struct {
  33. Addr string
  34. Daemon bool
  35. Upload string
  36. NoticeServer bool
  37. LangDir string
  38. DataDir string
  39. ResDir string
  40. }
  41. type Config struct {
  42. Basic *BasicConf
  43. Database *DatabaseConf
  44. Imap *ImapConf
  45. Qiniu *QiniuConf
  46. Twong *DatabaseConf
  47. }
  48. func LoadConf(f string) (*Config, error) {
  49. v := viper.New()
  50. v.SetConfigType("toml")
  51. v.AddConfigPath(".")
  52. v.SetConfigFile(f)
  53. err := v.ReadInConfig()
  54. if err != nil {
  55. return nil, err
  56. }
  57. conf := &Config{}
  58. err = v.Unmarshal(conf)
  59. if err != nil {
  60. return nil, err
  61. }
  62. C = conf
  63. return conf, nil
  64. }
  65. //func GetUserInfo(uid string) map[string]string {
  66. // var userInfo map[string]string
  67. // userFile := DIR + "sess_" + uid + ".json"
  68. // isExist, _ := tools.IsFileExist(userFile)
  69. // if !isExist {
  70. // return userInfo
  71. // }
  72. // info, err := ioutil.ReadFile(userFile)
  73. // if err != nil {
  74. // return userInfo
  75. // }
  76. //
  77. // err = json.Unmarshal(info, &userInfo)
  78. // return userInfo
  79. //}
  80. //func SetUserInfo(uid string, info map[string]string) {
  81. // userFile := DIR + "sess_" + uid + ".json"
  82. // isExist, _ := tools.IsFileExist(DIR)
  83. // if !isExist {
  84. // os.Mkdir(DIR, os.ModePerm)
  85. // }
  86. // file, _ := os.OpenFile(userFile, os.O_RDWR|os.O_CREATE, os.ModePerm)
  87. // str := "{\r\n"
  88. // for k, v := range info {
  89. // str += fmt.Sprintf(`"%s":"%s",`, k, v)
  90. // }
  91. // str += fmt.Sprintf(`"session_id":"%s"%s}`, uid, "\r\n")
  92. // file.WriteString(str)
  93. //}