Skip to content

Commit 8f19c45

Browse files
committed
feat: pikpak video use media link
1 parent c63e059 commit 8f19c45

2 files changed

Lines changed: 38 additions & 2 deletions

File tree

drivers/pikpak/driver.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,14 @@ func (driver PikPak) Link(args base.Args, account *model.Account) (*base.Link, e
119119
if err != nil {
120120
return nil, err
121121
}
122-
return &base.Link{
122+
link := base.Link{
123123
Url: resp.WebContentLink,
124-
}, nil
124+
}
125+
if len(resp.Medias) > 0 && resp.Medias[0].Link.Url != "" {
126+
log.Debugln("use media link")
127+
link.Url = resp.Medias[0].Link.Url
128+
}
129+
return &link, nil
125130
}
126131

127132
func (driver PikPak) Path(path string, account *model.Account) (*model.File, []model.File, error) {

drivers/pikpak/pikpak.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,37 @@ type File struct {
144144
Size string `json:"size"`
145145
ThumbnailLink string `json:"thumbnail_link"`
146146
WebContentLink string `json:"web_content_link"`
147+
Medias []Media `json:"medias"`
148+
}
149+
150+
type Media struct {
151+
MediaId string `json:"media_id"`
152+
MediaName string `json:"media_name"`
153+
Video struct {
154+
Height int `json:"height"`
155+
Width int `json:"width"`
156+
Duration int `json:"duration"`
157+
BitRate int `json:"bit_rate"`
158+
FrameRate int `json:"frame_rate"`
159+
VideoCodec string `json:"video_codec"`
160+
AudioCodec string `json:"audio_codec"`
161+
VideoType string `json:"video_type"`
162+
} `json:"video"`
163+
Link struct {
164+
Url string `json:"url"`
165+
Token string `json:"token"`
166+
Expire time.Time `json:"expire"`
167+
} `json:"link"`
168+
NeedMoreQuota bool `json:"need_more_quota"`
169+
VipTypes []interface{} `json:"vip_types"`
170+
RedirectLink string `json:"redirect_link"`
171+
IconLink string `json:"icon_link"`
172+
IsDefault bool `json:"is_default"`
173+
Priority int `json:"priority"`
174+
IsOrigin bool `json:"is_origin"`
175+
ResolutionName string `json:"resolution_name"`
176+
IsVisible bool `json:"is_visible"`
177+
Category string `json:"category"`
147178
}
148179

149180
func (driver PikPak) FormatFile(file *File) *model.File {

0 commit comments

Comments
 (0)