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.
93 lines
2.3 KiB
93 lines
2.3 KiB
package daily |
|
|
|
import ( |
|
xtime "go-common/library/time" |
|
"strconv" |
|
|
|
"go-common/app/interface/main/app-show/model" |
|
"go-common/app/service/main/archive/api" |
|
) |
|
|
|
// Show is module. |
|
type Show struct { |
|
*Head |
|
Body []*Item `json:"body"` |
|
} |
|
|
|
// Head is show head. |
|
type Head struct { |
|
ID int `json:"-"` |
|
ColumnID int `json:"column_id,omitempty"` |
|
Plat int8 `json:"-"` |
|
Title string `json:"title"` |
|
Desc string `json:"desc"` |
|
Rank int `json:"-"` |
|
Build int `json:"-"` |
|
Condition string `json:"-"` |
|
Date int64 `json:"date,omitempty"` |
|
Cover string `json:"cover,omitempty"` |
|
Type string `json:"type,omitempty"` |
|
Goto string `json:"goto,omitempty"` |
|
Param string `json:"param,omitempty"` |
|
URI string `json:"uri,omitempty"` |
|
} |
|
|
|
type Item struct { |
|
Title string `json:"title"` |
|
Cover string `json:"cover"` |
|
URI string `json:"uri"` |
|
Param string `json:"param"` |
|
Goto string `json:"goto"` |
|
// up |
|
Name string `json:"name,omitempty"` |
|
// stat |
|
Play int `json:"play,omitempty"` |
|
Danmaku int `json:"danmaku,omitempty"` |
|
Reply int `json:"reply,omitempty"` |
|
Fav int `json:"favourite,omitempty"` |
|
// movie and bangumi badge |
|
Status int8 `json:"status,omitempty"` |
|
CoverMark string `json:"cover_mark,omitempty"` |
|
// ranking |
|
Pts int64 `json:"pts,omitempty"` |
|
// av |
|
PubDate xtime.Time `json:"pubdate"` |
|
// av stat |
|
Duration int64 `json:"duration,omitempty"` |
|
// region |
|
Rid int `json:"rid,omitempty"` |
|
Rname string `json:"rname,omitempty"` |
|
// tag |
|
TagID int64 `json:"tag_id,omitempty"` |
|
TagName string `json:"tag_name,omitempty"` |
|
} |
|
|
|
// ColumnList |
|
type ColumnList struct { |
|
Cid int `json:"cid,omitempty"` |
|
Ceid int `json:"ceid,omitempty"` |
|
Name string `json:"name,omitempty"` |
|
Cname string `json:"-"` |
|
Children []*ColumnList `json:"children,omitempty"` |
|
} |
|
|
|
// FromArchivePB from archive. |
|
func (i *Item) FromArchivePB(a *api.Arc) { |
|
i.Title = a.Title |
|
i.Cover = a.Pic |
|
i.Param = strconv.FormatInt(a.Aid, 10) |
|
i.URI = model.FillURI(model.GotoAv, i.Param, nil) |
|
i.Goto = model.GotoAv |
|
i.Play = int(a.Stat.View) |
|
i.Danmaku = int(a.Stat.Danmaku) |
|
i.Name = a.Author.Name |
|
i.Reply = int(a.Stat.Reply) |
|
i.Fav = int(a.Stat.Fav) |
|
i.PubDate = a.PubDate |
|
i.Rid = int(a.TypeID) |
|
i.Rname = a.TypeName |
|
i.Duration = a.Duration |
|
if a.Access > 0 { |
|
i.Play = 0 |
|
} |
|
}
|
|
|