添加mock数据的EPData接口的实现,在main中实现读取
parent
a92b7890b2
commit
a74d1c6a12
|
|
@ -0,0 +1,31 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
// EPData 视频信息
|
||||||
|
type EPData struct {
|
||||||
|
Cid int64 `json:"cid"`
|
||||||
|
Dimension struct {
|
||||||
|
Height int64 `json:"height"`
|
||||||
|
Rotate int64 `json:"rotate"`
|
||||||
|
Width int64 `json:"width"`
|
||||||
|
} `json:"dimension"`
|
||||||
|
Duration int64 `json:"duration"`
|
||||||
|
From string `json:"from"`
|
||||||
|
Page int64 `json:"page"`
|
||||||
|
Part string `json:"part"`
|
||||||
|
Vid string `json:"vid"`
|
||||||
|
Weblink string `json:"weblink"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EPResponse 视频信息请求接口返回数据
|
||||||
|
type EPResponse struct {
|
||||||
|
Code int64 `json:"code"`
|
||||||
|
Data []EPData `json:"data"`
|
||||||
|
Message string `json:"message"`
|
||||||
|
TTL int64 `json:"ttl"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EPDataProvider 定义数据来源接口
|
||||||
|
type EPDataProvider interface {
|
||||||
|
// GetEPData 根据视频号获取视频的集数据
|
||||||
|
GetEPData(videoNo string) (epdatas []EPData, err error)
|
||||||
|
}
|
||||||
13
main.go
13
main.go
|
|
@ -1,5 +1,16 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
func main() {
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
epProvider := new(mockProvider)
|
||||||
|
epdatas, err := epProvider.GetEPData("av1742161")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
for i, epdata := range epdatas {
|
||||||
|
fmt.Printf("ep %d Cid: %v, Part: %s\n", i, epdata.Cid, epdata.Part)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
type mockProvider struct{}
|
||||||
|
|
||||||
|
func (mock *mockProvider) GetEPData(videoNo string) (epdatas []EPData, err error) {
|
||||||
|
file, err := os.Open("mock/" + videoNo + ".json")
|
||||||
|
if err != nil {
|
||||||
|
return epdatas, err
|
||||||
|
}
|
||||||
|
var resp EPResponse
|
||||||
|
err = json.NewDecoder(file).Decode(&resp)
|
||||||
|
if err != nil {
|
||||||
|
return epdatas, err
|
||||||
|
}
|
||||||
|
return resp.Data, nil
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue