go-common/app/interface/main/tv/model/view/const.go
2019-04-22 18:49:16 +08:00

75 lines
1.6 KiB
Go

package view
import (
"fmt"
arcwar "go-common/app/service/main/archive/api"
)
// Goto
const (
GotoAv = "av"
GotoWeb = "web"
GotoBangumi = "bangumi"
GotoLive = "live"
GotoGame = "game"
GotoArticle = "article"
GotoSpecial = "special"
GotoAudio = "audio"
GotoSong = "song"
GotoAudioTag = "audio_tag"
GotoAlbum = "album"
GotoClip = "clip"
GotoDaily = "daily"
)
// FillURI deal app schema.
func FillURI(gt, param string, f func(uri string) string) (uri string) {
if param == "" {
return
}
switch gt {
case GotoAv, "":
uri = "bilibili://video/" + param
case GotoLive:
uri = "bilibili://live/" + param
case GotoBangumi:
uri = "https://www.bilibili.com/bangumi/play/ss" + param
case GotoArticle:
uri = "bilibili://article/" + param
case GotoGame:
uri = param
case GotoAudio:
uri = "bilibili://music/menu/detail/" + param
case GotoSong:
uri = "bilibili://music/detail/" + param
case GotoAudioTag:
uri = "bilibili://music/categorydetail/" + param
case GotoDaily:
uri = "bilibili://pegasus/list/daily/" + param
case GotoAlbum:
uri = "bilibili://album/" + param
case GotoClip:
uri = "bilibili://clip/" + param
case GotoWeb:
uri = param
}
if f != nil {
uri = f(uri)
}
return
}
// AvHandler logic
var AvHandler = func(a *arcwar.Arc) func(uri string) string {
return func(uri string) string {
if a == nil {
return uri
}
if a.Dimension.Height != 0 || a.Dimension.Width != 0 {
return fmt.Sprintf("%s?player_width=%d&player_height=%d&player_rotate=%d", uri, a.Dimension.Width, a.Dimension.Height, a.Dimension.Rotate)
}
return uri
}
}