playlist.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package model
  2. import (
  3. "go-common/library/time"
  4. arcmdl "go-common/app/service/main/archive/api"
  5. favmdl "go-common/app/service/main/favorite/model"
  6. xtime "go-common/library/time"
  7. )
  8. // PlDBusType databus type playlist
  9. const PlDBusType = "playlist"
  10. // ArcSort struct.
  11. type ArcSort struct {
  12. Aid int64 `json:"aid"`
  13. Sort int64 `json:"sort"`
  14. Desc string `json:"desc"`
  15. }
  16. // Videos add video result.
  17. type Videos struct {
  18. RightAids []int64 `json:"right_aids"`
  19. WrongAids []int64 `json:"wrong_aids"`
  20. }
  21. // Playlist struct.
  22. type Playlist struct {
  23. Pid int64 `json:"pid"`
  24. *favmdl.Folder
  25. Stat *Stat `json:"stat,omitempty"`
  26. Author *arcmdl.Author `json:"owner,omitempty"`
  27. FavoriteTime time.Time `json:"favorite_time,omitempty"`
  28. IsFavorite bool `json:"is_favorite"`
  29. }
  30. // Stat playlist stat.
  31. type Stat struct {
  32. Pid int64 `json:"pid"`
  33. View int64 `json:"view"`
  34. Fav int64 `json:"favorite"`
  35. Reply int64 `json:"reply"`
  36. Share int64 `json:"share"`
  37. }
  38. // PlStat playlist stat
  39. type PlStat struct {
  40. ID int64 `json:"id"`
  41. Mid int64 `json:"mid"`
  42. Fid int64 `json:"fid"`
  43. View int64 `json:"view"`
  44. Reply int64 `json:"reply"`
  45. Fav int64 `json:"favorite"`
  46. Share int64 `json:"share"`
  47. MTime xtime.Time `json:"mtime"`
  48. }
  49. // View arc view.
  50. type View struct {
  51. *arcmdl.Arc
  52. Pages []*arcmdl.Page `json:"pages"`
  53. }
  54. // PlView playlist view struct
  55. type PlView struct {
  56. *View
  57. PlayDesc string `json:"play_desc"`
  58. }
  59. // ArcList playlist archive list.
  60. type ArcList struct {
  61. List []*PlView `json:"list"`
  62. }
  63. // ToView to view page struct.
  64. type ToView struct {
  65. *Playlist
  66. List []*View `json:"list"`
  67. Favorite bool `json:"favorite"`
  68. }
  69. // SearchArc search archive struct
  70. type SearchArc struct {
  71. Aid int64 `json:"aid"`
  72. Title string `json:"title"`
  73. Pic string `json:"pic"`
  74. Duration string `json:"duration"`
  75. Mid int64 `json:"mid"`
  76. Author string `json:"author"`
  77. Play int64 `json:"play"`
  78. Review int64 `json:"review"`
  79. VideoReview int64 `json:"video_review"`
  80. Favorites int64 `json:"favorites"`
  81. }