writing.go 1003 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package web
  2. import (
  3. "backup-x/entity"
  4. "embed"
  5. "html/template"
  6. "log"
  7. "net/http"
  8. "os"
  9. )
  10. //go:embed writing.html
  11. var writingEmbedFile embed.FS
  12. const VersionEnv = "BACKUP_X_VERSION"
  13. type writtingData struct {
  14. entity.Config
  15. Version string
  16. }
  17. // WritingConfig 填写配置信息
  18. func WritingConfig(writer http.ResponseWriter, request *http.Request) {
  19. tmpl, err := template.ParseFS(writingEmbedFile, "writing.html")
  20. if err != nil {
  21. log.Println(err)
  22. return
  23. }
  24. conf, err := entity.GetConfigCache()
  25. if err == nil {
  26. tmpl.Execute(writer, &writtingData{Config: conf, Version: os.Getenv(VersionEnv)})
  27. return
  28. }
  29. // default config
  30. // 获得环境变量
  31. backupConf := []entity.BackupConfig{}
  32. for i := 0; i < 16; i++ {
  33. backupConf = append(backupConf, entity.BackupConfig{SaveDays: 30, SaveDaysS3: 60, StartTime: 1, Period: 1440, BackupType: 0})
  34. }
  35. conf = entity.Config{
  36. BackupConfig: backupConf,
  37. }
  38. tmpl.Execute(writer, &writtingData{Config: conf, Version: os.Getenv(VersionEnv)})
  39. }