12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package dao
- import (
- "context"
- "go-common/app/interface/main/playlist/model"
- "go-common/library/ecode"
- "go-common/library/log"
- "go-common/library/net/metadata"
- "net/url"
- "strconv"
- )
- const (
- _searchURL = "/main/search"
- _searchVer = "v3"
- _platform = "web"
- _searchType = "video"
- _searchFrom = "web_playlist"
- )
- // SearchVideo get search video.
- func (d *Dao) SearchVideo(c context.Context, pn, ps int, query string) (res []*model.SearchArc, count int, err error) {
- var (
- params = url.Values{}
- ip = metadata.String(c, metadata.RemoteIP)
- )
- params.Set("main_ver", _searchVer)
- params.Set("platform", _platform)
- params.Set("search_type", _searchType)
- params.Set("from_source", _searchFrom)
- params.Set("pagesize", strconv.Itoa(ps))
- params.Set("page", strconv.Itoa(pn))
- params.Set("keyword", query)
- params.Set("clientip", ip)
- var rs struct {
- Code int `json:"code"`
- Result []*model.SearchArc `json:"result"`
- NumResults int `json:"numResults"`
- }
- if err = d.http.Get(c, d.searchURL, ip, params, &rs); err != nil {
- log.Error("d.http.Get(%s,%v) error(%v)", d.searchURL, params, err)
- return
- }
- if rs.Code != ecode.OK.Code() {
- log.Error("d.http.Get(%s,%v) code error(%v)", d.searchURL, params, rs.Code)
- return
- }
- res = rs.Result
- count = rs.NumResults
- return
- }
|