config.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. package config
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/wenstudio/gofly/tools"
  6. "io/ioutil"
  7. "os"
  8. )
  9. var (
  10. PageSize uint = 10
  11. VisitorPageSize uint = 8
  12. Version = "0.1.2"
  13. GoflyConfig *Config
  14. QiniuConfig *Qiniu
  15. )
  16. const Dir = "config/"
  17. const AccountConf = Dir + "account.json"
  18. const MysqlConf = Dir + "mysql.json"
  19. const QiniuFile = Dir + "qiniu.json"
  20. const MailConf = Dir + "mail.json"
  21. const MainConf = Dir + "config.json"
  22. func init() {
  23. //配置文件
  24. GoflyConfig = CreateConfig()
  25. QiniuConfig = CreateQiniu(QiniuFile)
  26. }
  27. type Mysql struct {
  28. Server string
  29. Port string
  30. Database string
  31. Username string
  32. Password string
  33. }
  34. type Qiniu struct {
  35. Access string
  36. Secret string
  37. Bucket string
  38. Zone string
  39. Domain string
  40. }
  41. type MailServer struct {
  42. Server, Email, Password string
  43. }
  44. type Config struct {
  45. Upload string
  46. NoticeServerJiang bool
  47. }
  48. func CreateConfig() *Config {
  49. var configObj Config
  50. c := &Config{
  51. Upload: "static/upload/",
  52. NoticeServerJiang: false,
  53. }
  54. isExist, _ := tools.IsFileExist(MainConf)
  55. if !isExist {
  56. return c
  57. }
  58. info, err := ioutil.ReadFile(MainConf)
  59. if err != nil {
  60. return c
  61. }
  62. err = json.Unmarshal(info, &configObj)
  63. return &configObj
  64. }
  65. func CreateMailServer() *MailServer {
  66. var imap MailServer
  67. isExist, _ := tools.IsFileExist(MailConf)
  68. if !isExist {
  69. return &imap
  70. }
  71. info, err := ioutil.ReadFile(MailConf)
  72. if err != nil {
  73. return &imap
  74. }
  75. err = json.Unmarshal(info, &imap)
  76. return &imap
  77. }
  78. func CreateMysql(f string) *Mysql {
  79. var mysql Mysql
  80. isExist, _ := tools.IsFileExist(f)
  81. if !isExist {
  82. return &mysql
  83. }
  84. info, err := ioutil.ReadFile(f)
  85. if err != nil {
  86. return &mysql
  87. }
  88. err = json.Unmarshal(info, &mysql)
  89. return &mysql
  90. }
  91. func CreateQiniu(f string) *Qiniu {
  92. var q Qiniu
  93. isExist, _ := tools.IsFileExist(f)
  94. if !isExist {
  95. fmt.Println(f)
  96. return &q
  97. }
  98. info, err := ioutil.ReadFile(f)
  99. if err != nil {
  100. fmt.Println("bb")
  101. return &q
  102. }
  103. _ = json.Unmarshal(info, &q)
  104. return &q
  105. }
  106. func GetMysql() map[string]string {
  107. var mysql map[string]string
  108. isExist, _ := tools.IsFileExist(MysqlConf)
  109. if !isExist {
  110. return mysql
  111. }
  112. info, err := ioutil.ReadFile(MysqlConf)
  113. if err != nil {
  114. return mysql
  115. }
  116. err = json.Unmarshal(info, &mysql)
  117. return mysql
  118. }
  119. func GetAccount() map[string]string {
  120. var account map[string]string
  121. isExist, _ := tools.IsFileExist(AccountConf)
  122. if !isExist {
  123. return account
  124. }
  125. info, err := ioutil.ReadFile(AccountConf)
  126. if err != nil {
  127. return account
  128. }
  129. err = json.Unmarshal(info, &account)
  130. return account
  131. }
  132. func GetUserInfo(uid string) map[string]string {
  133. var userInfo map[string]string
  134. userFile := Dir + "sess_" + uid + ".json"
  135. isExist, _ := tools.IsFileExist(userFile)
  136. if !isExist {
  137. return userInfo
  138. }
  139. info, err := ioutil.ReadFile(userFile)
  140. if err != nil {
  141. return userInfo
  142. }
  143. err = json.Unmarshal(info, &userInfo)
  144. return userInfo
  145. }
  146. func SetUserInfo(uid string, info map[string]string) {
  147. userFile := Dir + "sess_" + uid + ".json"
  148. isExist, _ := tools.IsFileExist(Dir)
  149. if !isExist {
  150. os.Mkdir(Dir, os.ModePerm)
  151. }
  152. file, _ := os.OpenFile(userFile, os.O_RDWR|os.O_CREATE, os.ModePerm)
  153. str := "{\r\n"
  154. for k, v := range info {
  155. str += fmt.Sprintf(`"%s":"%s",`, k, v)
  156. }
  157. str += fmt.Sprintf(`"session_id":"%s"%s}`, uid, "\r\n")
  158. file.WriteString(str)
  159. }