localizeMainJson.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package utils
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "io"
  6. "net/http"
  7. "os"
  8. "strings"
  9. )
  10. func CovertJsonAndDownload(path string, dest string) (err error) {
  11. dataFile := dest + "/someData.json"
  12. // Get the data
  13. resp, err := http.Get(path)
  14. if err != nil {
  15. return err
  16. }
  17. defer resp.Body.Close()
  18. bodyBytes, err := io.ReadAll(resp.Body)
  19. content := string(bodyBytes)
  20. //以字串过滤所有url到本地
  21. if strings.Contains(content, "https://4dkk.4dage.com/720yun_fd_manage/") {
  22. content = strings.ReplaceAll(content, "https://4dkk.4dage.com/720yun_fd_manage/", "/data/")
  23. }
  24. if strings.Contains(content, "https://4dkk.4dage.com/scene_edit_data") {
  25. content = strings.ReplaceAll(content, "https://4dkk.4dage.com/", "/data/")
  26. }
  27. target := &ScenesDataType{}
  28. err = json.NewDecoder(strings.NewReader(content)).Decode(&target)
  29. if err != nil {
  30. fmt.Println(err)
  31. return err
  32. }
  33. file, err := json.Marshal(target)
  34. fmt.Println("data json:", string(file))
  35. // Writer the body to file
  36. err = os.WriteFile(dataFile, file, 0644)
  37. if err != nil {
  38. return err
  39. }
  40. return nil
  41. }