search.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package v1
  2. //HotWordRequest .
  3. type HotWordRequest struct {
  4. }
  5. //HotWordResponse .
  6. type HotWordResponse struct {
  7. List []string `json:"list,omitempty"`
  8. }
  9. // VideoSearchList 搜索视频结构
  10. type VideoSearchList struct {
  11. VideoResponse
  12. TitleHighlight string `json:"title_highlight"`
  13. HitColumns []string `json:"hit_columns,omitempty"`
  14. CursorValue string `json:"cursor_value"`
  15. Offset int64 // 这里不返回给客户端,只是为了代码方便处理
  16. }
  17. // VideoSearchRes 搜索用视频结果
  18. type VideoSearchRes struct {
  19. List []*VideoSearchList `json:"list,omitempty"`
  20. NumPage int64 `json:"numPages"`
  21. Page int64 `json:"page"`
  22. HasMore bool `json:"has_more"`
  23. }
  24. // UserSearchRes 搜索用户结果
  25. type UserSearchRes struct {
  26. List []*UserSearchList `json:"list,omitempty"`
  27. NumPage int64 `json:"numPages"`
  28. Page int64 `json:"page"`
  29. HasMore bool `json:"has_more"`
  30. }
  31. // UserSearchList 搜索用户结构
  32. type UserSearchList struct {
  33. UserInfo
  34. UserStatic *UserStatic `json:"user_statistics"`
  35. UnameHighlight string `json:"uname_highlight"`
  36. HitColumns []string `json:"hit_columns"`
  37. CursorValue string `json:"cursor_value"`
  38. Offset int64 // 这里不返回给客户端,只是为了代码方便处理
  39. }
  40. // UserStatic 用户统计信息
  41. type UserStatic struct {
  42. Fan int64 `json:"fan"`
  43. Follow int64 `json:"follow"`
  44. Like int64 `json:"like"`
  45. Liked int64 `json:"liked"`
  46. FollowState int8 `json:"follow_state"`
  47. }
  48. // BaseSearchReq 基础搜索请求
  49. type BaseSearchReq struct {
  50. Key string `form:"keyword" validate:"required"`
  51. Page int64 `form:"page"`
  52. PageSize int64 `form:"pagesize"`
  53. Highlight int8 `form:"highlight"`
  54. Qn int64 `form:"qn"`
  55. // TODO:v2接口,当page=0时生效,由于不久会拆接口,因此这里就复用老接口
  56. CursorPrev string `form:"cursor_prev"`
  57. CursorNext string `form:"cursor_next"`
  58. }
  59. // SugTag sug tag结构
  60. type SugTag struct {
  61. Value string `json:"value"`
  62. Name string `json:"name" `
  63. Type string `json:"type"`
  64. Ref int64 `json:"ref"`
  65. }
  66. // SugReq sug请求
  67. type SugReq struct {
  68. KeyWord string `form:"keyword" validate:"required"`
  69. PageSize int64 `form:"pagesize"`
  70. Highlight int8 `form:"highlight"`
  71. }