model.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package model
  2. type State struct {
  3. FontSize float64 `json:"fontSize"`
  4. DragStrokeStyle string `json:"dragStrokeStyle"`
  5. ShowGrid bool `json:"showGrid"`
  6. StrokeStyle string `json:"strokeStyle"`
  7. BackgroundColor string `json:"backgroundColor"`
  8. GridConfig GridConfig `json:"gridConfig"`
  9. ScrollY float64 `json:"scrollY"`
  10. FillStyle string `json:"fillStyle"`
  11. Readonly bool `json:"readonly"`
  12. Scale float64 `json:"scale"`
  13. ScrollStep float64 `json:"scrollStep"`
  14. FontFamily string `json:"fontFamily"`
  15. ScrollX float64 `json:"scrollX"`
  16. }
  17. type GridConfig struct {
  18. Size float64 `json:"size"`
  19. StrokeStyle string `json:"strokeStyle"`
  20. LineWidth float64 `json:"lineWidth"`
  21. }
  22. type Element struct {
  23. GroupId string `json:"groupId"`
  24. Height float64 `json:"height"`
  25. Ratio float64 `json:"ratio"`
  26. Rotate float64 `json:"rotate"`
  27. Style ElementStyle `json:"style"`
  28. Type string `json:"type"`
  29. Url string `json:"url"`
  30. Width float64 `json:"width"`
  31. X float64 `json:"x"`
  32. Y float64 `json:"y"`
  33. }
  34. type ElementStyle struct {
  35. StrokeStyle string `json:"strokeStyle"`
  36. FillStyle string `json:"fillStyle"`
  37. LineWidth float64 `json:"lineWidth"`
  38. LineDash float64 `json:"lineDash"`
  39. GlobalAlpha float64 `json:"globalAlpha"`
  40. }
  41. type Data struct {
  42. State State `json:"state"`
  43. Elements []Element `json:"elements"`
  44. }
  45. type Root struct {
  46. Name string `json:"name"`
  47. Type bool `json:"type"`
  48. Data Data `json:"data"`
  49. }