You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.0 KiB
90 lines
2.0 KiB
package model |
|
|
|
import xtime "go-common/library/time" |
|
|
|
// sort type |
|
const ( |
|
ListSortPtime = 0 |
|
ListSortView = 1 |
|
) |
|
|
|
// CreativeList creative list |
|
type CreativeList struct { |
|
*List |
|
Total int `json:"total"` |
|
} |
|
|
|
// ListArtMeta . |
|
type ListArtMeta struct { |
|
ID int64 `json:"id"` |
|
Title string `json:"title"` |
|
State int `json:"state"` |
|
PublishTime xtime.Time `json:"publish_time"` |
|
Position int `json:"-"` |
|
Words int64 `json:"words"` |
|
ImageURLs []string `json:"image_urls"` |
|
Category *Category `json:"category"` |
|
Categories []*Category `json:"categories"` |
|
Summary string `json:"summary"` |
|
} |
|
|
|
// Strong fill |
|
func (a *ListArtMeta) Strong() { |
|
if a == nil { |
|
return |
|
} |
|
if a.ImageURLs == nil { |
|
a.ImageURLs = []string{} |
|
} |
|
if a.Category == nil { |
|
a.Category = &Category{} |
|
} |
|
if a.Categories == nil { |
|
a.Categories = []*Category{} |
|
} |
|
} |
|
|
|
// FullListArtMeta . |
|
type FullListArtMeta struct { |
|
*ListArtMeta |
|
Stats Stats `json:"stats"` |
|
LikeState int8 `json:"like_state"` |
|
} |
|
|
|
// IsNormal judge whether article's state is normal. |
|
func (a *ListArtMeta) IsNormal() bool { |
|
return (a != nil) && (a.State >= StateOpen) |
|
} |
|
|
|
// ListArticles list articles |
|
type ListArticles struct { |
|
List *List `json:"list"` |
|
Articles []*ListArtMeta `json:"articles"` |
|
Author *Author `json:"author"` |
|
Last ListArtMeta `json:"last"` |
|
Attention bool `json:"attention"` |
|
} |
|
|
|
// WebListArticles . |
|
type WebListArticles struct { |
|
List *List `json:"list"` |
|
Articles []*FullListArtMeta `json:"articles"` |
|
Author *Author `json:"author"` |
|
Last ListArtMeta `json:"last"` |
|
Attention bool `json:"attention"` |
|
} |
|
|
|
// ListInfo list info |
|
type ListInfo struct { |
|
List *List `json:"list"` |
|
Last *ListArtMeta `json:"last"` |
|
Next *ListArtMeta `json:"next"` |
|
Now int `json:"now"` |
|
Total int `json:"total"` |
|
} |
|
|
|
// UpLists . |
|
type UpLists struct { |
|
Lists []*List `json:"lists"` |
|
Total int `json:"total"` |
|
}
|
|
|