@funhub/platform 0.2.12 → 0.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/biz.mjs +1 -1
  2. package/dist/common.d.mts +2 -1
  3. package/dist/common.mjs +1 -1
  4. package/dist/components/biz/basics/logo/variants/basic-logo/runtime/client.mjs +1 -1
  5. package/dist/components/biz/business/advertisement/ad-match.mjs +1 -1
  6. package/dist/components/biz/business/advertisement/banner-ad/client.d.mts +3 -1
  7. package/dist/components/biz/business/advertisement/banner-ad/client.mjs +1 -1
  8. package/dist/components/biz/business/advertisement/banner-ad/schema.d.mts +12 -0
  9. package/dist/components/biz/business/advertisement/floating-ad/client.d.mts +2 -0
  10. package/dist/components/biz/business/advertisement/floating-ad/client.mjs +1 -1
  11. package/dist/components/biz/business/advertisement/floating-ad/schema.d.mts +12 -0
  12. package/dist/components/biz/business/advertisement/icon-ad/client.d.mts +3 -1
  13. package/dist/components/biz/business/advertisement/icon-ad/client.mjs +1 -1
  14. package/dist/components/biz/business/advertisement/icon-ad/schema.d.mts +12 -0
  15. package/dist/components/biz/business/advertisement/popup-ad/client.d.mts +3 -1
  16. package/dist/components/biz/business/advertisement/popup-ad/client.mjs +2 -2
  17. package/dist/components/biz/business/advertisement/popup-ad/schema.d.mts +3 -1
  18. package/dist/components/biz/business/advertisement/text-ad/client.d.mts +3 -1
  19. package/dist/components/biz/business/advertisement/text-ad/client.mjs +1 -1
  20. package/dist/components/biz/business/advertisement/text-ad/schema.d.mts +12 -0
  21. package/dist/components/biz/business/detail/shared/detail-info-tags.mjs +1 -1
  22. package/dist/components/biz/business/detail/shared/detail-info-title.mjs +1 -1
  23. package/dist/components/biz/business/detail/shared/detail-operate.mjs +1 -1
  24. package/dist/components/biz/business/detail/shared/video-hero.mjs +1 -1
  25. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +1 -1
  26. package/dist/components/biz/business/home-recommend/shared/home-recommend-server-data.mjs +1 -1
  27. package/dist/components/biz/business/image-text-recommend/client.mjs +1 -1
  28. package/dist/components/biz/business/large-feature-grid/client.mjs +1 -1
  29. package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/client.mjs +1 -1
  30. package/dist/components/biz/business/profile/profile-header/client.mjs +1 -1
  31. package/dist/components/biz/business/profile/profile-header/user-profile-avatar.mjs +1 -1
  32. package/dist/components/biz/business/profile/profile-main/shell.mjs +1 -1
  33. package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs +1 -1
  34. package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.mjs +1 -1
  35. package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.mjs +1 -1
  36. package/dist/components/biz/business/profile/tracking.mjs +2 -0
  37. package/dist/components/biz/business/search-bar/variants/basic-search-bar/runtime/client.mjs +1 -1
  38. package/dist/components/biz/business/search-history/client.mjs +1 -1
  39. package/dist/components/biz/business/tab-bar/client.mjs +1 -1
  40. package/dist/components/common/analytics-init/analytics-init.mjs +1 -1
  41. package/dist/components/common/analytics-init/index.d.mts +2 -1
  42. package/dist/components/common/analytics-init/sensor-init.d.mts +20 -0
  43. package/dist/components/common/analytics-init/sensor-init.mjs +2 -0
  44. package/dist/components/common/list/user-activity-list/user-activity-list-item.d.mts +2 -0
  45. package/dist/components/common/list/user-activity-list/user-activity-list-item.mjs +1 -1
  46. package/dist/components/common/list/user-activity-list/user-activity-list.d.mts +2 -0
  47. package/dist/components/common/list/user-activity-list/user-activity-list.mjs +1 -1
  48. package/dist/components/common/list/waterfall-recommend/waterfall-recommend.d.mts +4 -1
  49. package/dist/components/common/list/waterfall-recommend/waterfall-recommend.mjs +1 -1
  50. package/dist/components/common/login-dialog/login-dialog.mjs +1 -1
  51. package/dist/components/common/series-episodes/index.mjs +1 -1
  52. package/dist/components/common/top-nav-bar/client.mjs +1 -1
  53. package/dist/components/common/video-player/index.d.mts +2 -0
  54. package/dist/components/common/video-player/index.mjs +3 -3
  55. package/dist/components/common/video-player/preroll-skip-button-content.mjs +2 -0
  56. package/dist/components/common/video-player/video-blind-ad-overlay.mjs +1 -1
  57. package/dist/components/common/video-player/video-preroll-ad-overlay.mjs +2 -0
  58. package/dist/components/common/video-player/video-preroll-ad.mjs +2 -0
  59. package/dist/components/pages/(follow)/_components/header-nav/index.mjs +1 -1
  60. package/dist/components/pages/collection-add/page.mjs +1 -1
  61. package/dist/components/pages/collection-create/form.mjs +1 -1
  62. package/dist/components/pages/collection-detail/detail.mjs +1 -1
  63. package/dist/components/pages/edit/page.mjs +1 -1
  64. package/dist/components/pages/feed-series/feed-series-client.mjs +1 -1
  65. package/dist/components/pages/feedback/_components/feedback-form.mjs +1 -1
  66. package/dist/components/pages/fullscreen-feed/page.mjs +1 -1
  67. package/dist/components/pages/home/client.mjs +1 -1
  68. package/dist/components/pages/home/index.mjs +1 -1
  69. package/dist/components/pages/login/index.mjs +1 -1
  70. package/dist/components/pages/login/login-client.mjs +1 -1
  71. package/dist/components/pages/login/register.mjs +1 -1
  72. package/dist/components/pages/login/tracking.mjs +2 -0
  73. package/dist/components/pages/post-detail/post-detail-client.mjs +1 -1
  74. package/dist/components/pages/publish/page-client.mjs +1 -1
  75. package/dist/components/pages/search/hot-recommend.mjs +1 -1
  76. package/dist/components/pages/search/page-client.mjs +1 -1
  77. package/dist/components/pages/search/search-result/search-user.mjs +1 -1
  78. package/dist/components/pages/search/search-result/search-video-info.mjs +1 -1
  79. package/dist/components/pages/search/search-result/shared.mjs +1 -1
  80. package/dist/components/pages/search/tracking.mjs +2 -0
  81. package/dist/components/pages/search-result/page-client.mjs +1 -1
  82. package/dist/components/pages/search-result/tracking.mjs +2 -0
  83. package/dist/components/pages/settings/_components/settings.mjs +1 -1
  84. package/dist/components/pages/user-follow/_components/post-tab.mjs +1 -1
  85. package/dist/components/pages/video-detail/video-detail-client.mjs +1 -1
  86. package/dist/components/pages/video-list/video-list-client.mjs +1 -1
  87. package/dist/components/ui/badge.d.mts +1 -1
  88. package/dist/components/ui/button.d.mts +1 -1
  89. package/dist/components/ui/image.d.mts +4 -4
  90. package/dist/components/ui/link.mjs +1 -1
  91. package/dist/types.d.mts +166 -33
  92. package/dist/utils/tracking.d.mts +231 -0
  93. package/dist/utils/tracking.mjs +2 -0
  94. package/dist/utils.d.mts +2 -1
  95. package/dist/utils.mjs +1 -1
  96. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{useUserStore as e}from"../../../../store/modules/user-store.mjs";import{gContentGetRecommendVideoList as t,pInteractionFollow as n,pInteractionUnfollow as r}from"../../../../service/generated/client.mjs";import{Image as i}from"../../../ui/image.mjs";import{Box as a}from"../../../ui/box.mjs";import{EmptyState as o}from"../../../ui/empty.mjs";import{InfiniteScroll as s}from"../../../ui/infinite-scroll.mjs";import{Text as c}from"../../../ui/text.mjs";import{Skeleton as l}from"../../../ui/skeleton.mjs";import{usePaginated as u}from"../../../../hooks/query/use-query.mjs";import{useRequireLogin as d}from"../../../../hooks/use-auth.mjs";import f from"../../../../assets/images/user/default_avatar.mjs";import{formatSearchFollowerCount as p,resolveSearchUserDescription as m,resolveSearchUserName as h}from"./shared.mjs";import{memo as g,useCallback as _,useEffect as v,useMemo as y,useState as b}from"react";import{Check as x,Plus as S}from"lucide-react";import{jsx as C,jsxs as w}from"react/jsx-runtime";import{toast as T}from"sonner";import{useTranslations as E}from"next-intl";import D from"next/link";const O=typeof f==`string`?f:f.src;function k(e,t){return String(t||e?.user_id||e?.userId||``).trim()}function A({src:e,alt:t,variant:n}){let r=n===`row`?`size-[56px] p-[4px]`:`size-[40px] p-[3px]`,o=n===`row`?`border-[3px]`:`border-[2px]`;return C(a,{className:`rounded-full bg-white/20 ${r}`,children:C(a,{className:`relative size-full overflow-hidden rounded-full border-solid border-white/40 ${o}`,children:C(i,{src:e||O,fill:!0,objectFit:`cover`,alt:t})})})}function j({item:t,variant:i,onFollowChange:a}){let o=d(),{userInfo:s,userId:l}=e(),[u,f]=b(!1),p=k(s,l),m=p!==``&&p===String(t.user_id||``).trim(),h=!!t.is_following,g=_(()=>{!t.user_id||u||o(()=>{let i=k(e.getState().userInfo,e.getState().userId);if(!i){T.error(`请先登录`);return}(async()=>{f(!0);try{let e=h?await r({follower_id:i,followee_id:t.user_id}):await n({follower_id:i,followee_id:t.user_id});if(e.code!==0){T.error(e.message||(h?`取消关注失败`:`关注失败`));return}a?.(!h)}catch(e){console.error(`切换关注状态失败`,e),T.error(h?`取消关注失败`:`关注失败`)}finally{f(!1)}})()})},[h,t.user_id,a,u,o]);return m?null:i===`grid`?C(`button`,{type:`button`,"aria-label":h?`取消关注`:`关注`,className:`flex size-[24px] shrink-0 items-center justify-center rounded-full transition-opacity ${h?`bg-white/15 text-white`:`bg-black/30 text-white/75`} ${u?`opacity-50`:``}`,onClick:g,children:C(h?x:S,{className:`size-[14px]`})}):w(`button`,{type:`button`,className:`flex h-[24px] shrink-0 items-center justify-center rounded-full transition-opacity ${h?`border border-white/25 bg-white/10 px-[8px] text-white/85`:`border border-white/60 bg-black/20 pl-[4px] pr-[8px] text-white/70`} ${u?`opacity-50`:``}`,onClick:g,children:[!h&&C(S,{className:`mr-[2px] size-[16px]`}),C(c,{className:h?`text-[12px] leading-[18px]`:`text-[14px] leading-[20px]`,children:h?`已关注`:`关注`})]})}const M=g(({item:e,onFollowChange:t})=>{let n=h(e),r=m(e),i=p(e.follower_count);return w(a,{className:`flex h-[88px] w-full items-center gap-[8px] rounded-[8px] bg-white/10 px-[12px] py-[8px]`,children:[w(D,{href:`/profile/${e.user_id||``}`,className:`flex min-w-0 flex-1 items-center gap-[8px]`,children:[C(A,{src:e.avatar,alt:n||`用户头像`,variant:`row`}),w(a,{className:`min-w-0 flex-1`,children:[C(c,{className:`block truncate text-[14px] leading-[20px] font-medium text-white`,children:n}),C(c,{className:`mt-[2px] block truncate text-[14px] leading-[20px] text-white/60`,children:r}),w(c,{className:`mt-[2px] block truncate text-[14px] leading-[20px] text-white/60`,children:[`粉丝:`,i]})]})]}),C(j,{item:e,variant:`row`,onFollowChange:t})]})});M.displayName=`SearchUserRowCard`;const N=g(({item:e,onFollowChange:t})=>{let n=h(e),r=m(e);return w(a,{className:`h-[170px] rounded-[8px] bg-white/10 px-[16px] py-[16px]`,children:[w(a,{className:`flex items-start justify-between`,children:[C(D,{href:`/profile/${e.user_id||``}`,className:`flex items-center`,children:C(A,{src:e.avatar,alt:n||`用户头像`,variant:`grid`})}),C(j,{item:e,variant:`grid`,onFollowChange:t})]}),w(D,{href:`/profile/${e.user_id||``}`,className:`mt-[16px] block`,children:[C(c,{className:`block truncate text-[14px] leading-[20px] font-medium text-white`,children:n}),C(c,{className:`mt-[8px] block text-[14px] leading-[20px] text-white/60 line-clamp-4`,children:r})]})]})});N.displayName=`SearchUserGridCard`;function P(){return C(a,{className:`grid grid-cols-2 gap-[16px] px-[16px]`,children:Array.from({length:6}).map((e,t)=>w(a,{className:`h-[170px] rounded-[8px] bg-white/8 px-[16px] py-[16px]`,children:[w(a,{className:`flex items-start justify-between`,children:[C(l,{className:`size-[40px] rounded-full bg-white/10`}),C(l,{className:`size-[24px] rounded-full bg-white/10`})]}),C(l,{className:`mt-[16px] h-[20px] w-[86px] rounded-[4px] bg-white/10`}),C(l,{className:`mt-[8px] h-[20px] w-full rounded-[4px] bg-white/10`}),C(l,{className:`mt-[6px] h-[20px] w-[90%] rounded-[4px] bg-white/10`}),C(l,{className:`mt-[6px] h-[20px] w-[72%] rounded-[4px] bg-white/10`})]},`search-user-grid-skeleton-${t}`))})}const F=g(({inputVal:e,sort:n,refreshVersion:r})=>{let i=E(`components.pages.search.searchResult`),[c,l]=b({});v(()=>{l({})},[e,r,n]);let d=_(async r=>await t({data_type:2,extra_params:JSON.stringify({type:4,keywords:e,sort:n}),page:r||1,page_size:20}),[e,n]),f=u({key:y(()=>[`search-result`,`user`,e,n,r],[e,r,n]),initialPageParam:1,async queryFn(e){return(await d(e))?.data?.users??{has_more:!1,total:0,list:[]}},getNextPageParam(e,t){if(e.has_more)return t.length+1}}),p=y(()=>(f.data?.pages??[]).flatMap(e=>e.list??[]).map(e=>{let t=String(e.user_id||``).trim();return!t||c[t]===void 0?e:{...e,is_following:c[t]}}),[c,f.data?.pages]),m=!!((f.isPending||f.isFetching)&&p.length===0),h=_((e,t)=>{e&&l(n=>({...n,[e]:t?1:0}))},[]),g=_(async()=>{try{await f.fetchNextPage()}catch(e){console.error(`获取用户搜索结果失败`,e)}},[f]);return m?C(P,{}):p.length===0?C(o,{type:`nodata`,text:i(`searchUser.emptyResult`),className:`!pt-[72px]`}):w(a,{className:`w-full pb-[24px]`,children:[C(a,{className:`grid grid-cols-2 gap-[16px] px-[16px]`,children:p.map((e,t)=>C(N,{item:e,onFollowChange:t=>{h(String(e.user_id||``),t)}},String(e.user_id??t)))}),f.hasNextPage&&C(s,{loadMore:async e=>g(),hasMore:f.hasNextPage,className:`w-full`})]})});F.displayName=`SearchUser`;export{M as SearchUserRowCard,F as default};
2
+ "use client";import{useUserStore as e}from"../../../../store/modules/user-store.mjs";import{gContentGetRecommendVideoList as t,pInteractionFollow as n,pInteractionUnfollow as r}from"../../../../service/generated/client.mjs";import{Image as i}from"../../../ui/image.mjs";import{Box as a}from"../../../ui/box.mjs";import{EmptyState as o}from"../../../ui/empty.mjs";import{InfiniteScroll as s}from"../../../ui/infinite-scroll.mjs";import{Text as c}from"../../../ui/text.mjs";import{Skeleton as l}from"../../../ui/skeleton.mjs";import{usePaginated as u}from"../../../../hooks/query/use-query.mjs";import{useRequireLogin as d}from"../../../../hooks/use-auth.mjs";import{trackSearchResultClick as f}from"../../search-result/tracking.mjs";import p from"../../../../assets/images/user/default_avatar.mjs";import{formatSearchFollowerCount as m,resolveSearchUserDescription as h,resolveSearchUserName as g}from"./shared.mjs";import{memo as _,useCallback as v,useEffect as y,useMemo as b,useState as x}from"react";import{Check as S,Plus as C}from"lucide-react";import{jsx as w,jsxs as T}from"react/jsx-runtime";import{toast as E}from"sonner";import{useTranslations as D}from"next-intl";import O from"next/link";const k=typeof p==`string`?p:p.src;function A(e,t){return String(t||e?.user_id||e?.userId||``).trim()}function j({src:e,alt:t,variant:n}){let r=n===`row`?`size-[56px] p-[4px]`:`size-[40px] p-[3px]`,o=n===`row`?`border-[3px]`:`border-[2px]`;return w(a,{className:`rounded-full bg-white/20 ${r}`,children:w(a,{className:`relative size-full overflow-hidden rounded-full border-solid border-white/40 ${o}`,children:w(i,{src:e||k,fill:!0,objectFit:`cover`,alt:t})})})}function M({item:t,variant:i,onFollowChange:a}){let o=d(),{userInfo:s,userId:l}=e(),[u,f]=x(!1),p=A(s,l),m=p!==``&&p===String(t.user_id||``).trim(),h=!!t.is_following,g=v(()=>{!t.user_id||u||o(()=>{let i=A(e.getState().userInfo,e.getState().userId);if(!i){E.error(`请先登录`);return}(async()=>{f(!0);try{let e=h?await r({follower_id:i,followee_id:t.user_id}):await n({follower_id:i,followee_id:t.user_id});if(e.code!==0){E.error(e.message||(h?`取消关注失败`:`关注失败`));return}a?.(!h)}catch(e){console.error(`切换关注状态失败`,e),E.error(h?`取消关注失败`:`关注失败`)}finally{f(!1)}})()})},[h,t.user_id,a,u,o]);return m?null:i===`grid`?w(`button`,{type:`button`,"aria-label":h?`取消关注`:`关注`,className:`flex size-[24px] shrink-0 items-center justify-center rounded-full transition-opacity ${h?`bg-white/15 text-white`:`bg-black/30 text-white/75`} ${u?`opacity-50`:``}`,onClick:g,children:w(h?S:C,{className:`size-[14px]`})}):T(`button`,{type:`button`,className:`flex h-[24px] shrink-0 items-center justify-center rounded-full transition-opacity ${h?`border border-white/25 bg-white/10 px-[8px] text-white/85`:`border border-white/60 bg-black/20 pl-[4px] pr-[8px] text-white/70`} ${u?`opacity-50`:``}`,onClick:g,children:[!h&&w(C,{className:`mr-[2px] size-[16px]`}),w(c,{className:h?`text-[12px] leading-[18px]`:`text-[14px] leading-[20px]`,children:h?`已关注`:`关注`})]})}const N=_(({item:e,onFollowChange:t})=>{let n=g(e),r=h(e),i=m(e.follower_count);return T(a,{className:`flex h-[88px] w-full items-center gap-[8px] rounded-[8px] bg-white/10 px-[12px] py-[8px]`,children:[T(O,{href:`/profile/${e.user_id||``}`,className:`flex min-w-0 flex-1 items-center gap-[8px]`,onClick:t=>{f(t,String(e.user_id??``),`user`)},children:[w(j,{src:e.avatar,alt:n||`用户头像`,variant:`row`}),T(a,{className:`min-w-0 flex-1`,children:[w(c,{className:`block truncate text-[14px] leading-[20px] font-medium text-white`,children:n}),w(c,{className:`mt-[2px] block truncate text-[14px] leading-[20px] text-white/60`,children:r}),T(c,{className:`mt-[2px] block truncate text-[14px] leading-[20px] text-white/60`,children:[`粉丝:`,i]})]})]}),w(M,{item:e,variant:`row`,onFollowChange:t})]})});N.displayName=`SearchUserRowCard`;const P=_(({item:e,onFollowChange:t})=>{let n=g(e),r=h(e);return T(a,{className:`h-[170px] rounded-[8px] bg-white/10 px-[16px] py-[16px]`,children:[T(a,{className:`flex items-start justify-between`,children:[w(O,{href:`/profile/${e.user_id||``}`,className:`flex items-center`,onClick:t=>{f(t,String(e.user_id??``),`user`)},children:w(j,{src:e.avatar,alt:n||`用户头像`,variant:`grid`})}),w(M,{item:e,variant:`grid`,onFollowChange:t})]}),T(O,{href:`/profile/${e.user_id||``}`,className:`mt-[16px] block`,children:[w(c,{className:`block truncate text-[14px] leading-[20px] font-medium text-white`,children:n}),w(c,{className:`mt-[8px] block text-[14px] leading-[20px] text-white/60 line-clamp-4`,children:r})]})]})});P.displayName=`SearchUserGridCard`;function F(){return w(a,{className:`grid grid-cols-2 gap-[16px] px-[16px]`,children:Array.from({length:6}).map((e,t)=>T(a,{className:`h-[170px] rounded-[8px] bg-white/8 px-[16px] py-[16px]`,children:[T(a,{className:`flex items-start justify-between`,children:[w(l,{className:`size-[40px] rounded-full bg-white/10`}),w(l,{className:`size-[24px] rounded-full bg-white/10`})]}),w(l,{className:`mt-[16px] h-[20px] w-[86px] rounded-[4px] bg-white/10`}),w(l,{className:`mt-[8px] h-[20px] w-full rounded-[4px] bg-white/10`}),w(l,{className:`mt-[6px] h-[20px] w-[90%] rounded-[4px] bg-white/10`}),w(l,{className:`mt-[6px] h-[20px] w-[72%] rounded-[4px] bg-white/10`})]},`search-user-grid-skeleton-${t}`))})}const I=_(({inputVal:e,sort:n,refreshVersion:r})=>{let i=D(`components.pages.search.searchResult`),[c,l]=x({});y(()=>{l({})},[e,r,n]);let d=v(async r=>await t({data_type:2,extra_params:JSON.stringify({type:4,keywords:e,sort:n}),page:r||1,page_size:20}),[e,n]),f=u({key:b(()=>[`search-result`,`user`,e,n,r],[e,r,n]),initialPageParam:1,async queryFn(e){return(await d(e))?.data?.users??{has_more:!1,total:0,list:[]}},getNextPageParam(e,t){if(e.has_more)return t.length+1}}),p=b(()=>(f.data?.pages??[]).flatMap(e=>e.list??[]).map(e=>{let t=String(e.user_id||``).trim();return!t||c[t]===void 0?e:{...e,is_following:c[t]}}),[c,f.data?.pages]),m=!!((f.isPending||f.isFetching)&&p.length===0),h=v((e,t)=>{e&&l(n=>({...n,[e]:t?1:0}))},[]),g=v(async()=>{try{await f.fetchNextPage()}catch(e){console.error(`获取用户搜索结果失败`,e)}},[f]);return m?w(F,{}):p.length===0?w(o,{type:`nodata`,text:i(`searchUser.emptyResult`),className:`!pt-[72px]`}):T(a,{className:`w-full pb-[24px]`,children:[w(a,{className:`grid grid-cols-2 gap-[16px] px-[16px]`,children:p.map((e,t)=>w(P,{item:e,onFollowChange:t=>{h(String(e.user_id||``),t)}},String(e.user_id??t)))}),f.hasNextPage&&w(s,{loadMore:async e=>g(),hasMore:f.hasNextPage,className:`w-full`})]})});I.displayName=`SearchUser`;export{N as SearchUserRowCard,I as default};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{gContentGetRecommendVideoList as e}from"../../../../service/generated/client.mjs";import{Box as t}from"../../../ui/box.mjs";import{EmptyState as n}from"../../../ui/empty.mjs";import{InfiniteScroll as r}from"../../../ui/infinite-scroll.mjs";import{Skeleton as i}from"../../../ui/skeleton.mjs";import{usePaginated as a}from"../../../../hooks/query/use-query.mjs";import o from"../../../../assets/icons/common/right_arrow_thin.mjs";import{WaterfallRecommend as s}from"../../../common/list/waterfall-recommend/waterfall-recommend.mjs";import{buildSearchVideoWaterfallColumns as c}from"./shared.mjs";import{memo as l,useCallback as u,useMemo as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import{useTranslations as m}from"next-intl";function h(){return p(t,{className:`flex w-full gap-[15px] px-[16px]`,children:[p(t,{className:`flex min-w-0 flex-1 flex-col gap-[16px]`,children:[f(i,{className:`h-[218px] w-full rounded-[8px] bg-white/8`}),f(i,{className:`h-[120px] w-full rounded-[8px] bg-white/8`}),f(i,{className:`h-[218px] w-full rounded-[8px] bg-white/8`})]}),p(t,{className:`flex min-w-0 flex-1 flex-col gap-[16px]`,children:[f(i,{className:`h-[120px] w-full rounded-[8px] bg-white/8`}),f(i,{className:`h-[218px] w-full rounded-[8px] bg-white/8`}),f(i,{className:`h-[120px] w-full rounded-[8px] bg-white/8`})]})]})}const g=l(({list:e,title:t,onMoreClick:n,sectionClassName:r=`w-full`})=>{let i=d(()=>c(e),[e]),a=!!t;return e.length===0?null:f(s,{title:t||``,columns:i,sectionClassName:r,headerClassName:a?`mb-[16px] flex items-center justify-between px-[16px]`:`hidden`,titleClassName:`min-w-0 flex-1 text-[18px] leading-[24px] font-medium text-white`,moreLinkClassName:`ml-[8px] flex size-[24px] shrink-0 items-center justify-center text-white/50`,moreIcon:a&&n?f(o,{className:`size-[16px]`}):void 0,onMoreClick:n,containerClassName:`relative flex w-full gap-[15px] px-[16px]`})});g.displayName=`SearchVideoWaterfall`;const _=l(({inputVal:i,sort:o,refreshVersion:s})=>{let c=m(`components.pages.search.searchResult`),l=u(async t=>await e({data_type:2,extra_params:JSON.stringify({type:3,keywords:i,sort:o}),page:t||1,page_size:20}),[i,o]),_=a({key:d(()=>[`search-result`,`video`,i,o,s],[i,s,o]),initialPageParam:1,async queryFn(e){return(await l(e))?.data?.videos??{has_more:!1,total:0,list:[]}},getNextPageParam(e,t){if(e.has_more)return t.length+1}}),v=d(()=>(_.data?.pages??[]).flatMap(e=>e.list??[]),[_.data?.pages]),y=!!((_.isPending||_.isFetching)&&v.length===0),b=u(async()=>{try{await _.fetchNextPage()}catch(e){console.error(`获取视频搜索结果失败`,e)}},[_]);return y?f(h,{}):v.length===0?f(n,{type:`nodata`,text:c(`searchVideoInfo.noRelevantContent`),className:`!pt-[72px]`}):p(t,{className:`w-full pb-[24px]`,children:[f(g,{list:v}),_.hasNextPage&&f(r,{loadMore:async e=>b(),hasMore:_.hasNextPage,className:`w-full`})]})});_.displayName=`SearchVideoInfo`;export{g as SearchVideoWaterfall,_ as default};
2
+ "use client";import{gContentGetRecommendVideoList as e}from"../../../../service/generated/client.mjs";import{Box as t}from"../../../ui/box.mjs";import{EmptyState as n}from"../../../ui/empty.mjs";import{InfiniteScroll as r}from"../../../ui/infinite-scroll.mjs";import{Skeleton as i}from"../../../ui/skeleton.mjs";import{usePaginated as a}from"../../../../hooks/query/use-query.mjs";import o from"../../../../assets/icons/common/right_arrow_thin.mjs";import{WaterfallRecommend as s}from"../../../common/list/waterfall-recommend/waterfall-recommend.mjs";import{trackSearchResultClick as c}from"../../search-result/tracking.mjs";import{buildSearchVideoWaterfallColumns as l}from"./shared.mjs";import{memo as u,useCallback as d,useMemo as f}from"react";import{jsx as p,jsxs as m}from"react/jsx-runtime";import{useTranslations as h}from"next-intl";function g(){return m(t,{className:`flex w-full gap-[15px] px-[16px]`,children:[m(t,{className:`flex min-w-0 flex-1 flex-col gap-[16px]`,children:[p(i,{className:`h-[218px] w-full rounded-[8px] bg-white/8`}),p(i,{className:`h-[120px] w-full rounded-[8px] bg-white/8`}),p(i,{className:`h-[218px] w-full rounded-[8px] bg-white/8`})]}),m(t,{className:`flex min-w-0 flex-1 flex-col gap-[16px]`,children:[p(i,{className:`h-[120px] w-full rounded-[8px] bg-white/8`}),p(i,{className:`h-[218px] w-full rounded-[8px] bg-white/8`}),p(i,{className:`h-[120px] w-full rounded-[8px] bg-white/8`})]})]})}const _=u(({list:e,title:t,onMoreClick:n,sectionClassName:r=`w-full`})=>{let i=f(()=>l(e),[e]),a=!!t;return e.length===0?null:p(s,{title:t||``,columns:i,sectionClassName:r,headerClassName:a?`mb-[16px] flex items-center justify-between px-[16px]`:`hidden`,titleClassName:`min-w-0 flex-1 text-[18px] leading-[24px] font-medium text-white`,moreLinkClassName:`ml-[8px] flex size-[24px] shrink-0 items-center justify-center text-white/50`,moreIcon:a&&n?p(o,{className:`size-[16px]`}):void 0,onMoreClick:n,containerClassName:`relative flex w-full gap-[15px] px-[16px]`,onItemClick:e=>{e.selectionId&&c(null,e.selectionId,`video`)}})});_.displayName=`SearchVideoWaterfall`;const v=u(({inputVal:i,sort:o,refreshVersion:s})=>{let c=h(`components.pages.search.searchResult`),l=d(async t=>await e({data_type:2,extra_params:JSON.stringify({type:3,keywords:i,sort:o}),page:t||1,page_size:20}),[i,o]),u=a({key:f(()=>[`search-result`,`video`,i,o,s],[i,s,o]),initialPageParam:1,async queryFn(e){return(await l(e))?.data?.videos??{has_more:!1,total:0,list:[]}},getNextPageParam(e,t){if(e.has_more)return t.length+1}}),v=f(()=>(u.data?.pages??[]).flatMap(e=>e.list??[]),[u.data?.pages]),y=!!((u.isPending||u.isFetching)&&v.length===0),b=d(async()=>{try{await u.fetchNextPage()}catch(e){console.error(`获取视频搜索结果失败`,e)}},[u]);return y?p(g,{}):v.length===0?p(n,{type:`nodata`,text:c(`searchVideoInfo.noRelevantContent`),className:`!pt-[72px]`}):m(t,{className:`w-full pb-[24px]`,children:[p(_,{list:v}),u.hasNextPage&&p(r,{loadMore:async e=>b(),hasMore:u.hasNextPage,className:`w-full`})]})});v.displayName=`SearchVideoInfo`;export{_ as SearchVideoWaterfall,v as default};
@@ -1,2 +1,2 @@
1
1
 
2
- import{getPostDetailPagePath as e}from"../../../../utils/tools.mjs";const t=[{label:`综合`,value:1},{label:`最新`,value:2},{label:`最热`,value:3}];function n(e){return!Number.isFinite(e)||e<=0?``:e>=1e8?`${(e/1e8).toFixed(1).replace(/\.0$/,``)}亿热度`:e>=1e4?`${(e/1e4).toFixed(1).replace(/\.0$/,``)}万热度`:`${Math.floor(e)}热度`}function r(e){let t=Number(e);if(!(!Number.isFinite(t)||t<=0))return t>10&&t<=100?t/10:Math.min(t,10)}function i(e){return String(e.img_type??``).trim().toLowerCase()===`long`?`short`:`tall`}function a(e){let t=[],n=[],r=0,i=0;return e.forEach(e=>{let a=(e.cardKind===`short`?142:216)+16;if(r<=i){t.push(e),r+=a;return}n.push(e),i+=a}),{left:t,right:n}}function o(e){return String(e.name||``).trim()}function s(e){return e.img_y||e.img_x||``}function c(e){return String(e.group_name||e.description||``).trim()}function l(t){let n=String(t.video_id||``).trim();return n?e({id:n,contentType:0}):`#`}function u(e){return a(e.filter(e=>String(e.video_id||``).trim()).map((e,t)=>({key:`${e.video_id??`video`}-${t}`,sourceIndex:t,href:l(e),cardKind:i(e),coverUrl:s(e),title:o(e),metaPrimaryText:c(e),heatText:n(Number(e.play_count||0)),score:r(e.score)})))}function d(e){for(let t of e)if(typeof t==`string`&&t.trim())return t.trim();return``}function f(e){return d([e.nick_name,e.nickname,e.display_id,e.user_id])}function p(e){return d([e.signature,e.description,e.text,e.introduce,e.bio])}function m(e){let t=Number(e||0);return!Number.isFinite(t)||t<=0?`0`:t>=1e8?`${(t/1e8).toFixed(1).replace(/\.0$/,``)}亿`:t>=1e4?`${(t/1e4).toFixed(1).replace(/\.0$/,``)}万`:`${Math.floor(t)}`}export{t as SEARCH_RESULT_SORT_OPTIONS,u as buildSearchVideoWaterfallColumns,m as formatSearchFollowerCount,p as resolveSearchUserDescription,f as resolveSearchUserName};
2
+ import{getPostDetailPagePath as e}from"../../../../utils/tools.mjs";const t=[{label:`综合`,value:1},{label:`最新`,value:2},{label:`最热`,value:3}];function n(e){return!Number.isFinite(e)||e<=0?``:e>=1e8?`${(e/1e8).toFixed(1).replace(/\.0$/,``)}亿热度`:e>=1e4?`${(e/1e4).toFixed(1).replace(/\.0$/,``)}万热度`:`${Math.floor(e)}热度`}function r(e){let t=Number(e);if(!(!Number.isFinite(t)||t<=0))return t>10&&t<=100?t/10:Math.min(t,10)}function i(e){return String(e.img_type??``).trim().toLowerCase()===`long`?`short`:`tall`}function a(e){let t=[],n=[],r=0,i=0;return e.forEach(e=>{let a=(e.cardKind===`short`?142:216)+16;if(r<=i){t.push(e),r+=a;return}n.push(e),i+=a}),{left:t,right:n}}function o(e){return String(e.name||``).trim()}function s(e){return e.img_y||e.img_x||``}function c(e){return String(e.group_name||e.description||``).trim()}function l(t){let n=String(t.video_id||``).trim();return n?e({id:n,contentType:0}):`#`}function u(e){return a(e.filter(e=>String(e.video_id||``).trim()).map((e,t)=>({key:`${e.video_id??`video`}-${t}`,sourceIndex:t,href:l(e),cardKind:i(e),coverUrl:s(e),title:o(e),metaPrimaryText:c(e),heatText:n(Number(e.play_count||0)),score:r(e.score),selectionId:String(e.video_id??``).trim()||void 0})))}function d(e){for(let t of e)if(typeof t==`string`&&t.trim())return t.trim();return``}function f(e){return d([e.nick_name,e.nickname,e.display_id,e.user_id])}function p(e){return d([e.signature,e.description,e.text,e.introduce,e.bio])}function m(e){let t=Number(e||0);return!Number.isFinite(t)||t<=0?`0`:t>=1e8?`${(t/1e8).toFixed(1).replace(/\.0$/,``)}亿`:t>=1e4?`${(t/1e4).toFixed(1).replace(/\.0$/,``)}万`:`${Math.floor(t)}`}export{t as SEARCH_RESULT_SORT_OPTIONS,u as buildSearchVideoWaterfallColumns,m as formatSearchFollowerCount,p as resolveSearchUserDescription,f as resolveSearchUserName};
@@ -0,0 +1,2 @@
1
+
2
+ "use client";import{trackAppPageView as e,trackRecommendListClick as t}from"../../../utils/tracking.mjs";const n=`search`,r=`搜索`;function i(){e({page_key:n,page_name:r,current_page_key:n,current_page_name:r})}function a(e,i=``,a=``){t({page_key:n,page_name:r,recommend_id:e,recommend_trace_id:i,recommend_trace_info:a})}function o(e,i=``,a=``){t({page_key:n,page_name:r,recommend_id:e,recommend_trace_id:i,recommend_trace_info:a})}export{o as trackSearchMediaRecommendClick,i as trackSearchPageView,a as trackSearchTextRecommendClick};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{updateUrlParams as e}from"../../../utils/common.mjs";import t from"../../../utils/event-bus.mjs";import{useUserStore as n}from"../../../store/modules/user-store.mjs";import{Box as r}from"../../ui/box.mjs";import{eventKey as i}from"../../../constants/event-key.mjs";import{useSearchHistory as a}from"../../../hooks/use-search-history.mjs";import{SEARCH_RESULT_SORT_OPTIONS as o}from"./shared.mjs";import s from"./search-user.mjs";import c from"./search-video-info.mjs";import l from"./search-all.mjs";import{SearchTab as u}from"./search-tab.mjs";import d from"./top-header.mjs";import{useEffect as f,useMemo as p,useState as m}from"react";import{jsx as h,jsxs as g}from"react/jsx-runtime";import{useSearchParams as _}from"next/navigation";import{useTranslations as v}from"next-intl";const y=[{labelKey:`tabs.all`,value:`all`},{labelKey:`tabs.video`,value:`video`},{labelKey:`tabs.user`,value:`user`}];function b(){let b=v(`components.pages.search.pageClient`),{userInfo:x}=n(),S=x?.user_id||`guest`,C=_().get(`q`)?.toString()||``,[w,T]=m(C),[E,D]=m(0);f(()=>{T(C),D(e=>e+1)},[C]);let[O,k]=m(y[0].value),[A,j]=m(o[0].value),[M,N]=m(0),{addHistory:P}=a({storageKey:S}),F=p(()=>y.map(e=>({value:e.value,label:b(e.labelKey)})),[b]),I=p(()=>w.trim()!==``,[w]);return f(()=>(t.on(i.EXCHANGE_SEARCH_TYPE,k),()=>{t.off(i.EXCHANGE_SEARCH_TYPE,k)}),[]),g(r,{className:`flex h-dvh w-full flex-col`,children:[h(r,{className:`shrink-0`,children:h(d,{setSearchInputVal:t=>{t!==w&&(T(t),e({q:t}))},initInputVal:C,initInputVersion:E,addSearchHistory:P})}),h(r,{className:`mt-[16px] min-h-0 flex-1 overflow-hidden rounded-t-[16px]`,children:I&&g(r,{className:`flex h-full flex-col bg-[linear-gradient(180deg,rgba(6,3,21,0.9)_0%,rgba(6,3,21,0)_100%)] backdrop-blur-[2px]`,children:[h(u,{searchType:O,tabList:F,onChange:e=>{k(e)},sort:A,onSortChange:e=>{j(e),N(e=>e+1)}}),g(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-[24px]`,children:[O===`user`&&h(s,{inputVal:w,sort:A,refreshVersion:M}),O===`all`&&h(l,{searchInputVal:w,sort:A,refreshVersion:M}),O===`video`&&h(c,{inputVal:w,sort:A,refreshVersion:M})]})]})})]})}export{b as default};
2
+ "use client";import{updateUrlParams as e}from"../../../utils/common.mjs";import t from"../../../utils/event-bus.mjs";import{useUserStore as n}from"../../../store/modules/user-store.mjs";import{usePageLifecycle as r}from"../../../utils/tracking.mjs";import{useRouter as i}from"../../../utils/use-compatible-router.mjs";import{Box as a}from"../../ui/box.mjs";import{eventKey as o}from"../../../constants/event-key.mjs";import{useSearchHistory as s}from"../../../hooks/use-search-history.mjs";import{trackSearchResultPageView as c}from"./tracking.mjs";import{SEARCH_RESULT_SORT_OPTIONS as l}from"./shared.mjs";import u from"./search-user.mjs";import d from"./search-video-info.mjs";import f from"./search-all.mjs";import{SearchTab as p}from"./search-tab.mjs";import m from"./top-header.mjs";import{useEffect as h,useMemo as g,useState as _}from"react";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{useSearchParams as b}from"next/navigation";import{useTranslations as x}from"next-intl";const S=[{labelKey:`tabs.all`,value:`all`},{labelKey:`tabs.video`,value:`video`},{labelKey:`tabs.user`,value:`user`}];function C(){i(),r(`page_search_result`,`搜索结果`);let C=x(`components.pages.search.pageClient`),{userInfo:w}=n(),T=w?.user_id||`guest`,E=b().get(`q`)?.toString()||``,[D,O]=_(E),[k,A]=_(0);h(()=>{O(E),A(e=>e+1)},[E]);let[j,M]=_(S[0].value),[N,P]=_(l[0].value),[F,I]=_(0),{addHistory:L}=s({storageKey:T}),R=g(()=>S.map(e=>({value:e.value,label:C(e.labelKey)})),[C]),z=g(()=>D.trim()!==``,[D]);return h(()=>(t.on(o.EXCHANGE_SEARCH_TYPE,M),()=>{t.off(o.EXCHANGE_SEARCH_TYPE,M)}),[M]),h(()=>{D.trim()&&c(j,D)},[j,D]),y(a,{className:`flex h-dvh w-full flex-col`,children:[v(a,{className:`shrink-0`,children:v(m,{setSearchInputVal:t=>{t!==D&&(O(t),e({q:t}))},initInputVal:E,initInputVersion:k,addSearchHistory:L})}),v(a,{className:`mt-[16px] min-h-0 flex-1 overflow-hidden rounded-t-[16px]`,children:z&&y(a,{className:`flex h-full flex-col bg-[linear-gradient(180deg,rgba(6,3,21,0.9)_0%,rgba(6,3,21,0)_100%)] backdrop-blur-[2px]`,children:[v(p,{searchType:j,tabList:R,onChange:e=>{M(e)},sort:N,onSortChange:e=>{P(e),I(e=>e+1)}}),y(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-[24px]`,children:[j===`user`&&v(u,{inputVal:D,sort:N,refreshVersion:F}),j===`all`&&v(f,{searchInputVal:D,sort:N,refreshVersion:F}),j===`video`&&v(d,{inputVal:D,sort:N,refreshVersion:F})]})]})})]})}export{C as default};
@@ -0,0 +1,2 @@
1
+
2
+ "use client";import{trackAppPageView as e,trackPageClick as t}from"../../../utils/tracking.mjs";const n=`search_result`,r=`搜索结果`;function i(t,i){e({page_key:n,page_name:r,current_page_key:n,current_page_name:r,search_type:t,keyword:i})}function a(e,i,a){t(n,r,e,`search_result_item`,{content_id:i,content_type:a})}export{a as trackSearchResultClick,i as trackSearchResultPageView};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{cn as e}from"../../../../utils/cn.mjs";import{useUserStore as t}from"../../../../store/modules/user-store.mjs";import{gUserGetUserPrivacySettings as n}from"../../../../service/generated/client.mjs";import{Box as r}from"../../../ui/box.mjs";import{useLoginModalStore as i}from"../../../../store/modules/login-modal-store.mjs";import{useDeleteRequest as a,useRequest as o}from"../../../../hooks/query/use-query.mjs";import{locales as s}from"../../../../i18n.mjs";import{DeleteConfirmDialog as c}from"../../../common/delete-confirm-dialog/delete-confirm-dialog.mjs";import{HeaderNav as l}from"../../../common/header-nav/client.mjs";import{ResetPasswordDrawer as u}from"./reset-password-drawer.mjs";import{useEffect as d,useRef as f,useState as p}from"react";import{ChevronRight as m}from"lucide-react";import{jsx as h,jsxs as g}from"react/jsx-runtime";import{useRouter as _}from"next/navigation";import{useLocale as v,useTranslations as y}from"next-intl";import b from"next/link";function x(e){return{collection:Number(e?.collections_open??0)>0,follower:Number(e?.follower_open??0)>0,following:Number(e?.following_open??0)>0,like:Number(e?.like_open??0)>0}}function S({className:m}={}){let S=y(`components.pages.settings.components`),w=v(),{open:T}=i(),E=t(e=>e.isLogin),D=t(e=>e.token),O=t(e=>e.logout),k=t(e=>e.userId),A=(E||!!D)&&!!k,j=x(),[M,N]=p(j),P=f(j),[F,I]=p(!1),[L,R]=p(!1);a();let z=[`user-privacy-settings`,k],B=w===`zh-CN`?`en`:`zh-CN`;s.find(e=>e.code===B)?.name;let{data:V}=o(z,()=>n({user_id:k}),{enabled:!!k}),H=V?.data;d(()=>{if(!H)return;let e=x(H);N(e),P.current=e},[H]),d(()=>{P.current=M},[M]);let U=a(),W=_();function G(){U([`user-profile`,`mine`]),O(),W.push(`/user/mine`)}function K(e){R(e)}function q(){R(!0)}function J(){R(!1)}function Y(){G()}function X(e){I(e)}function Z(){if(!A){T();return}I(!0)}function Q(e){A||(e.preventDefault(),e.stopPropagation(),T())}return g(r,{className:e(`min-h-dvh bg-[var(--color-surface-panel-dark)]`,m),children:[h(l,{className:`!bg-[var(--color-surface-panel-dark)] !border-transparent`,title:S(`settings.title`)}),h(u,{open:F,onOpenChange:X}),g(r,{className:`mx-4 mt-4 flex flex-col`,children:[h(`button`,{type:`button`,className:`block w-full text-left`,onClick:Z,children:h(C,{title:S(`settings.resetPasswordTitle`)})}),h(b,{href:`/feedback`,onClick:Q,className:`block`,children:h(C,{title:S(`settings.feedbackTitle`)})})]}),F||!A?null:h(r,{className:`fixed inset-x-0 bottom-0 z-40 flex flex-col pb-[env(safe-area-inset-bottom)]`,children:h(`div`,{className:`flex flex-col items-center px-4 py-2`,style:{background:`var(--color-overlay-panel-fade-start90)`,backdropFilter:`blur(var(--effect-backdrop-blur-detail-hero))`},children:h(`button`,{type:`button`,className:`flex h-12 w-full items-center justify-center rounded-[8px] text-base text-[var(--color-text-primary)] transition-opacity active:opacity-80`,style:{background:`var(--color-surface-white10)`},onClick:q,children:S(`settings.button`)})})}),h(c,{open:L,onOpenChange:K,onCancel:J,onConfirm:Y,title:``,description:S(`settings.logoutConfirmMessage`),confirmText:S(`settings.confirm`),cancelText:S(`settings.cancel`)})]})}function C({title:e}){return g(`div`,{className:`flex h-14 items-center justify-between px-4`,children:[h(`span`,{className:`text-base text-[var(--color-text-primary)]`,children:e}),h(m,{className:`size-6 shrink-0 opacity-50 text-[var(--color-text-primary)]`})]})}export{S as Settings};
2
+ "use client";import{cn as e}from"../../../../utils/cn.mjs";import{useUserStore as t}from"../../../../store/modules/user-store.mjs";import{gUserGetUserPrivacySettings as n}from"../../../../service/generated/client.mjs";import{usePageLifecycle as r}from"../../../../utils/tracking.mjs";import{Box as i}from"../../../ui/box.mjs";import{useLoginModalStore as a}from"../../../../store/modules/login-modal-store.mjs";import{useDeleteRequest as o,useRequest as s}from"../../../../hooks/query/use-query.mjs";import{locales as c}from"../../../../i18n.mjs";import{DeleteConfirmDialog as l}from"../../../common/delete-confirm-dialog/delete-confirm-dialog.mjs";import{HeaderNav as u}from"../../../common/header-nav/client.mjs";import{ResetPasswordDrawer as d}from"./reset-password-drawer.mjs";import{useEffect as f,useRef as p,useState as m}from"react";import{ChevronRight as h}from"lucide-react";import{jsx as g,jsxs as _}from"react/jsx-runtime";import{useRouter as v}from"next/navigation";import{useLocale as y,useTranslations as b}from"next-intl";import x from"next/link";function S(e){return{collection:Number(e?.collections_open??0)>0,follower:Number(e?.follower_open??0)>0,following:Number(e?.following_open??0)>0,like:Number(e?.like_open??0)>0}}function C({className:h}={}){let C=b(`components.pages.settings.components`);r(`page_settings`,`设置`);let T=y(),{open:E}=a(),D=t(e=>e.isLogin),O=t(e=>e.token),k=t(e=>e.logout),A=t(e=>e.userId),j=(D||!!O)&&!!A,M=S(),[N,P]=m(M),F=p(M),[I,L]=m(!1),[R,z]=m(!1);o();let B=[`user-privacy-settings`,A],V=T===`zh-CN`?`en`:`zh-CN`;c.find(e=>e.code===V)?.name;let{data:H}=s(B,()=>n({user_id:A}),{enabled:!!A}),U=H?.data;f(()=>{if(!U)return;let e=S(U);P(e),F.current=e},[U]),f(()=>{F.current=N},[N]);let W=o(),G=v();function K(){W([`user-profile`,`mine`]),k(),G.push(`/user/mine`)}function q(e){z(e)}function J(){z(!0)}function Y(){z(!1)}function X(){K()}function Z(e){L(e)}function Q(){if(!j){E();return}L(!0)}function $(e){j||(e.preventDefault(),e.stopPropagation(),E())}return _(i,{className:e(`min-h-dvh bg-[var(--color-surface-panel-dark)]`,h),children:[g(u,{className:`!bg-[var(--color-surface-panel-dark)] !border-transparent`,title:C(`settings.title`)}),g(d,{open:I,onOpenChange:Z}),_(i,{className:`mx-4 mt-4 flex flex-col`,children:[g(`button`,{type:`button`,className:`block w-full text-left`,onClick:Q,children:g(w,{title:C(`settings.resetPasswordTitle`)})}),g(x,{href:`/feedback`,onClick:$,className:`block`,children:g(w,{title:C(`settings.feedbackTitle`)})})]}),I||!j?null:g(i,{className:`fixed inset-x-0 bottom-0 z-40 flex flex-col pb-[env(safe-area-inset-bottom)]`,children:g(`div`,{className:`flex flex-col items-center px-4 py-2`,style:{background:`var(--color-overlay-panel-fade-start90)`,backdropFilter:`blur(var(--effect-backdrop-blur-detail-hero))`},children:g(`button`,{type:`button`,className:`flex h-12 w-full items-center justify-center rounded-[8px] text-base text-[var(--color-text-primary)] transition-opacity active:opacity-80`,style:{background:`var(--color-surface-white10)`},onClick:J,children:C(`settings.button`)})})}),g(l,{open:R,onOpenChange:q,onCancel:Y,onConfirm:X,title:``,description:C(`settings.logoutConfirmMessage`),confirmText:C(`settings.confirm`),cancelText:C(`settings.cancel`)})]})}function w({title:e}){return _(`div`,{className:`flex h-14 items-center justify-between px-4`,children:[g(`span`,{className:`text-base text-[var(--color-text-primary)]`,children:e}),g(h,{className:`size-6 shrink-0 opacity-50 text-[var(--color-text-primary)]`})]})}export{C as Settings};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{gInteractionGetFollowingContentList as e}from"../../../../service/generated/client.mjs";import{Box as t}from"../../../ui/box.mjs";import{usePaginated as n}from"../../../../hooks/query/use-query.mjs";import{useIsLoggedIn as r,useUserId as i}from"../../../../hooks/use-auth.mjs";import{UserActivityList as a}from"../../../common/list/user-activity-list/user-activity-list.mjs";import{FollowNoLogin as o}from"./follow-no-login.mjs";import{useCallback as s}from"react";import{jsx as c}from"react/jsx-runtime";import{useTranslations as l}from"next-intl";const u={video:1,post:2};function d({queryKeyPrefix:d,cookieUserId:f}){let p=l(`components.pages.userFollow.components`),m=d??[],h=i()||f||``,g=r()||!!h,_=s(async t=>{if(!h)return{data:{list:[],total:0,has_more:!1}};let n=await e({app_id:0,user_id:h,page:t,page_size:10,content_type:u.post}),r=n.data?.post_infos??[];return{data:{list:r,total:n.data?.total??r.length,has_more:!!n.data?.has_more}}},[10,h]),v=n({key:[...m,`user-follow-post`,h],initialPageParam:1,async queryFn(e){return await _(e)||{data:{list:[],total:0,has_more:!1}}},getNextPageParam(e,t){let n=e?.data?.list??[],r=e?.data?.has_more;if(!(n.length===0||e?.data?.total===0||!r))return t.length+1},options:{staleTime:3e5,refetchOnWindowFocus:!0}}),y=v.data?.pages.flatMap(e=>e.data?.list??[])??[];return c(t,{className:`w-full bg-bg1`,children:g?c(a,{list:y,loading:v.isFetching,hasMore:v.hasNextPage??!1,loadMore:async()=>{await v.fetchNextPage()},showGroupHeaders:!1,emptyText:p(`postTab.empty`),canEdit:!1,isEditMode:!1,onToggleSelection:()=>{},onActionSuccess:()=>{}}):c(o,{})})}export{d as PostTab};
2
+ "use client";import{gInteractionGetFollowingContentList as e}from"../../../../service/generated/client.mjs";import{usePageLifecycle as t}from"../../../../utils/tracking.mjs";import{Box as n}from"../../../ui/box.mjs";import{usePaginated as r}from"../../../../hooks/query/use-query.mjs";import{useIsLoggedIn as i,useUserId as a}from"../../../../hooks/use-auth.mjs";import{UserActivityList as o}from"../../../common/list/user-activity-list/user-activity-list.mjs";import{FollowNoLogin as s}from"./follow-no-login.mjs";import{useCallback as c}from"react";import{jsx as l}from"react/jsx-runtime";import{useTranslations as u}from"next-intl";const d={video:1,post:2};function f({queryKeyPrefix:f,cookieUserId:p}){let m=u(`components.pages.userFollow.components`);t(`page_user_follow`,`关注`);let h=f??[],g=a()||p||``,_=i()||!!g,v=c(async t=>{if(!g)return{data:{list:[],total:0,has_more:!1}};let n=await e({app_id:0,user_id:g,page:t,page_size:10,content_type:d.post}),r=n.data?.post_infos??[];return{data:{list:r,total:n.data?.total??r.length,has_more:!!n.data?.has_more}}},[10,g]),y=r({key:[...h,`user-follow-post`,g],initialPageParam:1,async queryFn(e){return await v(e)||{data:{list:[],total:0,has_more:!1}}},getNextPageParam(e,t){let n=e?.data?.list??[],r=e?.data?.has_more;if(!(n.length===0||e?.data?.total===0||!r))return t.length+1},options:{staleTime:3e5,refetchOnWindowFocus:!0}}),b=y.data?.pages.flatMap(e=>e.data?.list??[])??[];return l(n,{className:`w-full bg-bg1`,children:_?l(o,{list:b,loading:y.isFetching,hasMore:y.hasNextPage??!1,loadMore:async()=>{await y.fetchNextPage()},showGroupHeaders:!1,emptyText:m(`postTab.empty`),canEdit:!1,isEditMode:!1,onToggleSelection:()=>{},onActionSuccess:()=>{}}):l(s,{})})}export{f as PostTab};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{getChannelList as e}from"../../biz/utils/helpers/get-channel-list.mjs";import{cn as t}from"../../../utils/cn.mjs";import{gContentGetAppChannels as n,gContentGetVideoDetail as r}from"../../../service/generated/client.mjs";import{useRouter as i}from"../../../utils/use-compatible-router.mjs";import{EmptyState as a}from"../../ui/empty.mjs";import{buildVideoPlayerSrc as o}from"../../common/video-player/process-m3u8-cache.mjs";import{notifyBridgeEpisodeChanged as s}from"../../../utils/login-modal-bridge.mjs";import{useRequest as c}from"../../../hooks/query/use-query.mjs";import{queryKey as l}from"../../../constants/query-key.mjs";import{useKeepAliveEffect as u,useKeepAliveState as d}from"../../common/keep-scroll-position/index.mjs";import{apiCollectClick as f}from"../../../utils/api-collect.mjs";import p from"../../biz/business/search-bar/variants/detail-search-bar/index.mjs";import{VideoDetailMaterialRuntimeProvider as m}from"../../biz/business/detail/shared/runtime-context-provider.mjs";import{resolveMaterialProps as h,videoDetailMaterials as ee}from"../../biz/business/detail/shared/registry.mjs";import{DetailHero as te}from"../../biz/business/detail/shared/video-hero.mjs";import{Fragment as ne,useCallback as g,useEffect as _,useMemo as v}from"react";import{Fragment as y,jsx as b,jsxs as x}from"react/jsx-runtime";import{useParams as re,useSearchParams as ie}from"next/navigation";import{useTranslations as ae}from"next-intl";const S=[{id:`detail-info`,componentName:`video-detail-info`,props:{}},{id:`detail-info-title-tags-episodes`,componentName:`video-detail-info-title-tags-episodes`,props:{}},{id:`detail-actions`,componentName:`video-detail-actions`,props:{}},{id:`detail-recommend`,componentName:`video-detail-recommend`,props:{title:`猜你喜欢`,rows:2,columns:3,smartTagEnabled:!1,smartTagIds:[`腐剧`],showPlayCount:!0,playCountDelta:0,showEpisode:!0,enableInfinite:!1,items:[{contentId:`d6a35ba3279e6f0d`,contentName:`贺总的私宠罪妻`,titleMode:`custom`,title:`贺总的私宠罪妻`,description:`简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百`,coverMode:`upload`,coverUrl:`/truss/20260227/69a136457d10f.jpgxxx`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`b0f42fed731239a7`,contentName:`少年江湖物语`,titleMode:`custom`,title:`少年江湖物语`,description:`网剧《少年江湖物语》讲述了一个江湖中邪不压正,青春正好,有情有爱的温暖故事。剧中有魔教教主,有天下第一剑客,有身世成谜的江湖大夫,有忠心耿耿的小丫鬟,更有艳压秦淮的当红花魁,众多看似完全没有交集的人物纷纷亮相登场,搅乱江湖一池春水。`,coverMode:`content`,coverUrl:`/md-204/uploads/default/other/2024-08-26/14664d2c31e61c201a29cd4abba267c5.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`c2304e94ec0ba208`,contentName:`王的男人`,titleMode:`custom`,title:`王的男人`,description:`朝鲜第十代王燕山王君时期,艺人长生(甘宇成饰)和孔吉(李俊基饰)因为不肯加入当地的艺人团,来到京城汉阳谋生。此时暴君燕山君(郑镇荣饰)沉迷于宠妾张绿水(姜成妍饰),朝纲混乱,民不聊生。长生与孔吉二人在街头开始表演讽刺君主的喜剧,大受欢迎,却遭逮捕。后要求到王面前表演,求得一笑。结果,多亏孔吉的急中生智,燕山君才笑了出来。两人随即被留在宫中取乐,孔吉更是因为美色令王倍加宠爱。他们不停表演,大臣们却各自心怀鬼胎,导致了杀戮局面。最终,君王和艺人的命运又将如何呢?`,coverMode:`content`,coverUrl:`/md-204/resource/8c/8cb28f46831558fbeb2f34b2076c3b4e.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`c7ffc6a558ae8683`,contentName:`怒`,titleMode:`custom`,title:`怒`,description:`炎炎夏日,东京八王子郊外社区,一对夫妇惨遭杀害。事后凶手用血在墙上写下大大的“怒”字,随后逃亡,销声匿迹长达一年之久。而在此期间,三个身份不明的男子和身边的人相遇了。曾自甘堕落的爱子(宫崎葵饰)被父亲(渡边谦饰)领回海滨小镇,邂逅了不善言辞的哲也(松山研一饰)。在东京工作的同性恋优马(妻夫木聪饰)将柔情似水的直人(绫野刚饰)带回了家,他不相信对方,却又尝试去相信。随母亲搬到冲绳的小泉(广濑铃饰)跟着同学辰哉(佐久本宝饰)登上一座荒岛,在废墟中遇到了背包客田中(森山未来饰),他们短暂成为朋友,而可怕的命运突然降临泉的头上。不久之后,通缉令遍布全国,三个男子的真实身份引人生疑……本片根据吉田修一的同名原作改编。`,coverMode:`content`,coverUrl:`/md-204/resource/24/24ef267eef2c35b5e4cf12dac8b55c14.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`98217427ed96ec51`,contentName:`熔炉`,titleMode:`custom`,title:`熔炉`,description:`来自首尔的哑语美术老师仁浩(孔宥饰)来到雾津,应聘慈爱聋哑人学校。天降大雾,他意外撞车,维修时邂逅了人权组织成员柔珍(郑有美饰)。仁浩妻子早亡,8岁女儿天生哮喘由祖母照看,所以他不辞辛苦谋职养家。然而,双胞胎的校长与教导主任竟逼仁浩索贿5千万韩元。同时,仁浩逐渐发现学校笼罩着一种紧张压抑的气氛,令人窒息。有三个孩子引人关注:聪颖的金妍斗(金贤秀饰)、贪吃的陈宥利(郑仁絮饰)和弟弟自杀身亡的全民秀(白承焕饰),民秀总是满脸淤青。下课后,仁浩还听到女厕所中有呼喊与哭泣,在门卫的阻拦下他未深究。之后。他意外目睹了校长行贿警察,教导员毒打民秀,宿导溺罚妍斗的行径。一个惊天的隐秘被慢慢揭开,真相令韩国震惊……本片取材于2005年光州一所聋哑障碍人学校的真实事件,改编自韩国作家孔枝泳的同名小说。`,coverMode:`content`,coverUrl:`/md-204/resource/b4/b410ccdcd86936455b9460a9152aaa47.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`caa2b4eb4eb40de0`,contentName:`再次来寻我`,titleMode:`custom`,title:`再次来寻我`,description:`在宇回到曾经与初恋志勋相遇的303号房,这里即将被拆迁,他在房间里回忆和志勋的点点滴滴,突然被书桌上的电话所吸引,一拿起话筒听到的竟是志勋的声音!在房子主人的同意下,在宇带着电话离开了303室,在回家的途中他发现自己像走在一个陌生的地方,而对面走来的竟是已消失已久的志勋…`,coverMode:`content`,coverUrl:`/md-204/resource/2b/2b43375f2248c1a012847d4507fd21a3.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0}]}}];function C(e,t){let n=String(e||``).split(`/`).filter(Boolean),r=n.findIndex(e=>e===`video`||e===`webview`);return r<0?!1:n[r+1]===t}function w({detailId:f,initialInformation:w,isWebView:T=!1,materialConfig:E}){let D=ae(`components.pages.videoDetail`),O=i(),oe=re(),se=ie(),k=oe.level,A=Array.isArray(k)?k:typeof k==`string`?[k]:[],j=A.findIndex(e=>e===`episode`),ce=j>=0?A[j+1]:A[2],M=Math.max(1,Number(ce)||1),[le,N]=d(`detail-current-series-num-${f}`,M);_(()=>{N(M)},[M,N]);let P=Math.max(1,Number(le)||1),F=Math.max(0,P-1),{data:I,isPending:L,isFetching:R,isError:z,isSuccess:B}=c(v(()=>[`video-detail`,f],[f]),async()=>f?await r({id:f}):null,{enabled:!!f}),V=v(()=>{let e=I?.data?.video;return!e||typeof e!=`object`?null:{...e,content_type:1,episode_cnt:e.links?.length||0}},[I?.data?.video]),H=w??V??null,[U,W]=d(`detail-information-${f}`,H),ue=U?.links?.[F]?.id||``,G=!!f&&!U&&(L||R),K=!f||!!U||z||B,[de,fe]=d(`info-detail-active-tab-${f}`,`video`),[q,J]=d(`info-detail-comment-add-count-${f}`,0),[Y,pe]=d(`info-detail-comment-total-${f}`,void 0);_(()=>{!U&&V&&W(V)},[U,V,W]);let X=g(e=>{W(t=>t&&{...t,...e})},[W]);u(()=>{U?.id&&U.id},[U?.id],`detail-page-report-${f}`),_(()=>{!U||typeof window>`u`||window.sensors?.track?.(`detail_page_view`,{object_id:U.id||f,author_id:U.up_user,object_type:U.content_type,object_category:U.content_type,object_tags:U.tags?.map(e=>e.name),block_id:``,page_source:window.location?.pathname||``})},[f,U]),_(()=>{J(0)},[ue,J]),v(()=>(typeof Y==`number`?Y:0)+q,[q,Y]);let me=g(()=>{},[!1,fe]);g(()=>{J(e=>e+1)},[J]),_(()=>{},[!1,me,U?.id,se]);let Z=g(e=>{let t=Math.max(1,Math.floor(Number(e)||1));if(typeof window>`u`)return;let n=String(U?.id||f||``).trim();if(!n)return;let r=T||window.isWebView===!0,i=`/${r?`webview`:`video`}/${n}/${encodeURIComponent(U?.name||``)}/episode/${t}`,{search:a,hash:c,pathname:l}=window.location,u=`${i}${a}${c}`,d=`${l}${a}${c}`,p=C(l,n);if(d!==u){if(r){let e=U?.links?.[Math.max(0,t-1)],r=o(String(e?.m3u8_url||e?.preview_m3u8_url||``).trim());s({poster:String(U?.img_y||U?.img_x||U?.preview_images?.[0]||``).trim(),src:r,title:String(U?.title||U?.name||``).trim(),contentId:n,episode:t}),P!==t&&N(t);return}p&&typeof window.history?.replaceState==`function`?(window.history.replaceState(window.history.state,``,u),N(t)):O.replace(u,{scroll:!1});return}P!==t&&N(t)},[P,f,U?.id,U?.img_x,U?.img_y,U?.links,U?.name,U?.preview_images,U?.title,T,O,N]);_(()=>{let e=Array.isArray(U?.links)?U.links.length:0;e<=0||P<=e||Z(1)},[P,Z,U?.links]);let Q=U?.status===`1`,{data:he}=c([l.CHANNEL],()=>n()),ge=e(he?.data),$=v(()=>{if(E!==void 0){let e=new Map(S.map(e=>[e.componentName,e]));return E.map(t=>{let n=e.get(t.componentName);return{...n,...t,props:{...n?.props??{},...t.props??{}}}})}return S},[E]),_e=v(()=>({information:U??void 0,currentSeriesNum:P,onEpisodeChange:Z,onUpdateInformation:X,detailId:f,episodeIndex:F,isShow:!0,isWebView:T,isInformationLoading:G,isInformationResolved:K}),[P,f,F,Z,X,U,G,K,T,!0]),ve=g(e=>{if(!U)return null;let t=ee[e.componentName];if(!t)return null;let n=t.clientComponent,r=h(t,e.props);return r.isValid?b(n,{...r.props}):b(`div`,{children:`组件配置错误`})},[U]);return x(`div`,{className:`w-full min-h-screen bg-bg2 text-text1 ${T?``:`pt-11`}`,children:[!T&&b(`div`,{className:`fixed bg-black top-0 left-0 right-0 z-[1000]`,children:b(p,{data:{list:ge}})}),b(`div`,{className:`mx-auto w-full max-w-[840px] pb-6`,children:x(y,{children:[U&&!Q&&b(a,{type:`no-content`,text:D(`videoDetailClient.videoUnavailable`)}),U&&Q&&x(y,{children:[!T&&b(te,{isVideo:!0,information:U,episodeIndex:F}),b(`div`,{id:`selectPopupPosition`,className:`w-full`}),!1,x(`div`,{className:t(`w-full`,!1),children:[b(m,{value:_e,children:$.map(e=>b(ne,{children:ve(e)},e.id))}),!1]}),!1]}),!U&&b(a,{type:`no-content`,text:D(`videoDetailClient.videoDeleted`)})]})})]})}export{w as default};
2
+ "use client";import{getChannelList as e}from"../../biz/utils/helpers/get-channel-list.mjs";import{cn as t}from"../../../utils/cn.mjs";import{gContentGetAppChannels as n,gContentGetVideoDetail as r}from"../../../service/generated/client.mjs";import{trackAppPageView as i,usePageLifecycle as a}from"../../../utils/tracking.mjs";import{useRouter as o}from"../../../utils/use-compatible-router.mjs";import{EmptyState as s}from"../../ui/empty.mjs";import{buildVideoPlayerSrc as ee}from"../../common/video-player/process-m3u8-cache.mjs";import{notifyBridgeEpisodeChanged as c}from"../../../utils/login-modal-bridge.mjs";import{useRequest as l}from"../../../hooks/query/use-query.mjs";import{queryKey as u}from"../../../constants/query-key.mjs";import{useKeepAliveEffect as d,useKeepAliveState as f}from"../../common/keep-scroll-position/index.mjs";import{apiCollectClick as p}from"../../../utils/api-collect.mjs";import m from"../../biz/business/search-bar/variants/detail-search-bar/index.mjs";import{VideoDetailMaterialRuntimeProvider as te}from"../../biz/business/detail/shared/runtime-context-provider.mjs";import{resolveMaterialProps as ne,videoDetailMaterials as re}from"../../biz/business/detail/shared/registry.mjs";import{DetailHero as ie}from"../../biz/business/detail/shared/video-hero.mjs";import{Fragment as ae,useCallback as h,useEffect as g,useMemo as _,useRef as oe}from"react";import{Fragment as v,jsx as y,jsxs as b}from"react/jsx-runtime";import{useParams as se,useSearchParams as ce}from"next/navigation";import{useTranslations as le}from"next-intl";const x=[{id:`detail-info`,componentName:`video-detail-info`,props:{}},{id:`detail-info-title-tags-episodes`,componentName:`video-detail-info-title-tags-episodes`,props:{}},{id:`detail-actions`,componentName:`video-detail-actions`,props:{}},{id:`detail-recommend`,componentName:`video-detail-recommend`,props:{title:`猜你喜欢`,rows:2,columns:3,smartTagEnabled:!1,smartTagIds:[`腐剧`],showPlayCount:!0,playCountDelta:0,showEpisode:!0,enableInfinite:!1,items:[{contentId:`d6a35ba3279e6f0d`,contentName:`贺总的私宠罪妻`,titleMode:`custom`,title:`贺总的私宠罪妻`,description:`简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百简介多少字是不是两百`,coverMode:`upload`,coverUrl:`/truss/20260227/69a136457d10f.jpgxxx`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`b0f42fed731239a7`,contentName:`少年江湖物语`,titleMode:`custom`,title:`少年江湖物语`,description:`网剧《少年江湖物语》讲述了一个江湖中邪不压正,青春正好,有情有爱的温暖故事。剧中有魔教教主,有天下第一剑客,有身世成谜的江湖大夫,有忠心耿耿的小丫鬟,更有艳压秦淮的当红花魁,众多看似完全没有交集的人物纷纷亮相登场,搅乱江湖一池春水。`,coverMode:`content`,coverUrl:`/md-204/uploads/default/other/2024-08-26/14664d2c31e61c201a29cd4abba267c5.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`c2304e94ec0ba208`,contentName:`王的男人`,titleMode:`custom`,title:`王的男人`,description:`朝鲜第十代王燕山王君时期,艺人长生(甘宇成饰)和孔吉(李俊基饰)因为不肯加入当地的艺人团,来到京城汉阳谋生。此时暴君燕山君(郑镇荣饰)沉迷于宠妾张绿水(姜成妍饰),朝纲混乱,民不聊生。长生与孔吉二人在街头开始表演讽刺君主的喜剧,大受欢迎,却遭逮捕。后要求到王面前表演,求得一笑。结果,多亏孔吉的急中生智,燕山君才笑了出来。两人随即被留在宫中取乐,孔吉更是因为美色令王倍加宠爱。他们不停表演,大臣们却各自心怀鬼胎,导致了杀戮局面。最终,君王和艺人的命运又将如何呢?`,coverMode:`content`,coverUrl:`/md-204/resource/8c/8cb28f46831558fbeb2f34b2076c3b4e.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`c7ffc6a558ae8683`,contentName:`怒`,titleMode:`custom`,title:`怒`,description:`炎炎夏日,东京八王子郊外社区,一对夫妇惨遭杀害。事后凶手用血在墙上写下大大的“怒”字,随后逃亡,销声匿迹长达一年之久。而在此期间,三个身份不明的男子和身边的人相遇了。曾自甘堕落的爱子(宫崎葵饰)被父亲(渡边谦饰)领回海滨小镇,邂逅了不善言辞的哲也(松山研一饰)。在东京工作的同性恋优马(妻夫木聪饰)将柔情似水的直人(绫野刚饰)带回了家,他不相信对方,却又尝试去相信。随母亲搬到冲绳的小泉(广濑铃饰)跟着同学辰哉(佐久本宝饰)登上一座荒岛,在废墟中遇到了背包客田中(森山未来饰),他们短暂成为朋友,而可怕的命运突然降临泉的头上。不久之后,通缉令遍布全国,三个男子的真实身份引人生疑……本片根据吉田修一的同名原作改编。`,coverMode:`content`,coverUrl:`/md-204/resource/24/24ef267eef2c35b5e4cf12dac8b55c14.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`98217427ed96ec51`,contentName:`熔炉`,titleMode:`custom`,title:`熔炉`,description:`来自首尔的哑语美术老师仁浩(孔宥饰)来到雾津,应聘慈爱聋哑人学校。天降大雾,他意外撞车,维修时邂逅了人权组织成员柔珍(郑有美饰)。仁浩妻子早亡,8岁女儿天生哮喘由祖母照看,所以他不辞辛苦谋职养家。然而,双胞胎的校长与教导主任竟逼仁浩索贿5千万韩元。同时,仁浩逐渐发现学校笼罩着一种紧张压抑的气氛,令人窒息。有三个孩子引人关注:聪颖的金妍斗(金贤秀饰)、贪吃的陈宥利(郑仁絮饰)和弟弟自杀身亡的全民秀(白承焕饰),民秀总是满脸淤青。下课后,仁浩还听到女厕所中有呼喊与哭泣,在门卫的阻拦下他未深究。之后。他意外目睹了校长行贿警察,教导员毒打民秀,宿导溺罚妍斗的行径。一个惊天的隐秘被慢慢揭开,真相令韩国震惊……本片取材于2005年光州一所聋哑障碍人学校的真实事件,改编自韩国作家孔枝泳的同名小说。`,coverMode:`content`,coverUrl:`/md-204/resource/b4/b410ccdcd86936455b9460a9152aaa47.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0},{contentId:`caa2b4eb4eb40de0`,contentName:`再次来寻我`,titleMode:`custom`,title:`再次来寻我`,description:`在宇回到曾经与初恋志勋相遇的303号房,这里即将被拆迁,他在房间里回忆和志勋的点点滴滴,突然被书桌上的电话所吸引,一拿起话筒听到的竟是志勋的声音!在房子主人的同意下,在宇带着电话离开了303室,在回家的途中他发现自己像走在一个陌生的地方,而对面走来的竟是已消失已久的志勋…`,coverMode:`content`,coverUrl:`/md-204/resource/2b/2b43375f2248c1a012847d4507fd21a3.jpg`,showPlayCount:!0,playCountDelta:0,showEpisode:!0}]}}];function S(e,t){let n=String(e||``).split(`/`).filter(Boolean),r=n.findIndex(e=>e===`video`||e===`webview`);return r<0?!1:n[r+1]===t}function C({detailId:p,initialInformation:C,isWebView:w=!1,materialConfig:T}){let E=le(`components.pages.videoDetail`),D=o(),O=se(),k=ce();a(`page_video_detail`,`详情页`);let A=oe(!1),j=O.level,M=Array.isArray(j)?j:typeof j==`string`?[j]:[],N=M.findIndex(e=>e===`episode`),ue=N>=0?M[N+1]:M[2],P=Math.max(1,Number(ue)||1),[F,I]=f(`detail-current-series-num-${p}`,P);g(()=>{I(P)},[P,I]);let L=Math.max(1,Number(F)||1),R=Math.max(0,L-1),{data:z,isPending:B,isFetching:V,isError:H,isSuccess:de}=l(_(()=>[`video-detail`,p],[p]),async()=>p?await r({id:p}):null,{enabled:!!p}),U=_(()=>{let e=z?.data?.video;return!e||typeof e!=`object`?null:{...e,content_type:1,episode_cnt:e.links?.length||0}},[z?.data?.video]),fe=C??U??null,[W,G]=f(`detail-information-${p}`,fe);g(()=>{!W?.id||A.current||(A.current=!0,i({page_key:`page_video_detail`,page_name:`详情页`}))},[W?.id]);let pe=W?.links?.[R]?.id||``,K=!!p&&!W&&(B||V),q=!p||!!W||H||de,[me,he]=f(`info-detail-active-tab-${p}`,`video`),[J,Y]=f(`info-detail-comment-add-count-${p}`,0),[X,ge]=f(`info-detail-comment-total-${p}`,void 0);g(()=>{!W&&U&&G(U)},[W,U,G]);let Z=h(e=>{G(t=>t&&{...t,...e})},[G]);d(()=>{W?.id&&W.id},[W?.id],`detail-page-report-${p}`),g(()=>{!W||typeof window>`u`||window.sensors?.track?.(`detail_page_view`,{object_id:W.id||p,author_id:W.up_user,object_type:W.content_type,object_category:W.content_type,object_tags:W.tags?.map(e=>e.name),block_id:``,page_source:window.location?.pathname||``})},[p,W]),g(()=>{Y(0)},[pe,Y]),_(()=>(typeof X==`number`?X:0)+J,[J,X]);let _e=h(()=>{},[!1,he]);h(()=>{Y(e=>e+1)},[Y]),g(()=>{},[!1,_e,W?.id,k]);let Q=h(e=>{let t=Math.max(1,Math.floor(Number(e)||1));if(typeof window>`u`)return;let n=String(W?.id||p||``).trim();if(!n)return;let r=w||window.isWebView===!0,i=`/${r?`webview`:`video`}/${n}/${encodeURIComponent(W?.name||``)}/episode/${t}`,{search:a,hash:o,pathname:s}=window.location,l=`${i}${a}${o}`,u=`${s}${a}${o}`,d=S(s,n);if(u!==l){if(r){let e=W?.links?.[Math.max(0,t-1)],r=ee(String(e?.m3u8_url||e?.preview_m3u8_url||``).trim());c({poster:String(W?.img_y||W?.img_x||W?.preview_images?.[0]||``).trim(),src:r,title:String(W?.title||W?.name||``).trim(),contentId:n,episode:t}),L!==t&&I(t);return}d&&typeof window.history?.replaceState==`function`?(window.history.replaceState(window.history.state,``,l),I(t)):D.replace(l,{scroll:!1});return}L!==t&&I(t)},[L,p,W?.id,W?.img_x,W?.img_y,W?.links,W?.name,W?.preview_images,W?.title,w,D,I]);g(()=>{let e=Array.isArray(W?.links)?W.links.length:0;e<=0||L<=e||Q(1)},[L,Q,W?.links]);let $=W?.status===`1`,{data:ve}=l([u.CHANNEL],()=>n()),ye=e(ve?.data),be=_(()=>{if(T!==void 0){let e=new Map(x.map(e=>[e.componentName,e]));return T.map(t=>{let n=e.get(t.componentName);return{...n,...t,props:{...n?.props??{},...t.props??{}}}})}return x},[T]),xe=_(()=>({information:W??void 0,currentSeriesNum:L,onEpisodeChange:Q,onUpdateInformation:Z,detailId:p,episodeIndex:R,isShow:!0,isWebView:w,isInformationLoading:K,isInformationResolved:q}),[L,p,R,Q,Z,W,K,q,w,!0]),Se=h(e=>{if(!W)return null;let t=re[e.componentName];if(!t)return null;let n=t.clientComponent,r=ne(t,e.props);return r.isValid?y(n,{...r.props}):y(`div`,{children:`组件配置错误`})},[W]);return b(`div`,{className:`w-full min-h-screen bg-bg2 text-text1 ${w?``:`pt-11`}`,children:[!w&&y(`div`,{className:`fixed bg-black top-0 left-0 right-0 z-[1000]`,children:y(m,{data:{list:ye}})}),y(`div`,{className:`mx-auto w-full max-w-[840px] pb-6`,children:b(v,{children:[W&&!$&&y(s,{type:`no-content`,text:E(`videoDetailClient.videoUnavailable`)}),W&&$&&b(v,{children:[!w&&y(ie,{isVideo:!0,information:W,episodeIndex:R}),y(`div`,{id:`selectPopupPosition`,className:`w-full`}),!1,b(`div`,{className:t(`w-full`,!1),children:[y(te,{value:xe,children:be.map(e=>y(ae,{children:Se(e)},e.id))}),!1]}),!1]}),!W&&y(s,{type:`no-content`,text:E(`videoDetailClient.videoDeleted`)})]})})]})}export{C as default};
@@ -1,2 +1,2 @@
1
1
 
2
- "use client";import{cn as e}from"../../../utils/cn.mjs";import{Button as t}from"../../ui/button.mjs";import{pContentGetNewstVideoList as n,pContentGetTopRatedVideoList as r}from"../../../service/generated/client.mjs";import{pContentGetNewstVideoListKey as i,pContentGetTopRatedVideoListKey as a}from"../../../service/generated/tanstack.mjs";import{useRouter as o}from"../../../utils/use-compatible-router.mjs";import{Box as s}from"../../ui/box.mjs";import{InfiniteScroll as c}from"../../ui/infinite-scroll.mjs";import{Text as l}from"../../ui/text.mjs";import{usePaginated as u}from"../../../hooks/query/use-query.mjs";import d from"../../../assets/icons/left_arrow.mjs";import{getNextVideoListPageParam as f,resolveNextCursor as p}from"./types.mjs";import{VideoListRecommendItem as m}from"./video-list-recommend-item.mjs";import{VideoListSkeleton as h}from"./video-list-skeleton.mjs";import{useEffect as g,useMemo as _,useState as v}from"react";import{jsx as y,jsxs as b}from"react/jsx-runtime";const x=[];function S({title:S=`列表页`,tags:C=x}){let w=o(),[T,E]=v(`hot`),D=_(()=>({page_size:10,tags:C.length?C:void 0}),[C]),{data:O,fetchNextPage:k,hasNextPage:A,isPending:j,isFetching:M}=u({key:_(()=>T===`hot`?a(D):i(D),[D,T]),queryFn:async e=>{let t={page_size:10,cursor:e||void 0,tags:C.length?C:void 0},i=(T===`hot`?await r(t):await n(t)).data,a=Array.isArray(i?.videos)?i.videos:[];return{list:a,nextCursor:a.length<10?``:p(i)}},getNextPageParam:f,initialPageParam:``,options:{staleTime:0,refetchOnMount:`always`,refetchOnWindowFocus:!1,refetchOnReconnect:!1}}),N=_(()=>O?.pages?.flatMap(e=>e.list)??[],[O?.pages]),P=(O?.pages?.length??0)>0,F=_(()=>P?A??!1:!0,[P,A]),I=N.length===0&&(!P||j||M);g(()=>{typeof window>`u`||window.scrollTo({top:0,behavior:`auto`})},[T]);function L(){w.back()}let R=_(()=>N.map(e=>{let t=e.id??e.mid??``;return y(m,{item:e,href:`/video/${t}/${e.name??``}`},t)}),[N]);return I?y(h,{}):b(s,{as:`main`,className:`min-h-[100dvh] bg-[linear-gradient(180deg,#160320_0%,#2a0a56_100%)] text-white`,children:[b(s,{className:`sticky top-0 z-20 bg-[linear-gradient(180deg,rgba(22,3,32,0.98)_0%,rgba(22,3,32,0.92)_100%)] px-[16px] pb-[12px] pt-[10px] backdrop-blur-[16px]`,children:[b(s,{as:`header`,className:`flex items-center justify-between`,children:[y(t,{type:`button`,variant:`ghost`,size:`icon-sm`,onClick:L,className:`h-[24px] w-[24px] rounded-none p-0 text-white hover:bg-transparent`,children:y(d,{className:`h-[16px] w-[16px]`})}),y(l,{as:`h1`,className:`min-w-0 flex-1 truncate px-[16px] text-center text-[18px] font-medium leading-[22px] text-white`,children:S}),y(s,{className:`h-[24px] w-[24px] shrink-0 opacity-0`,"aria-hidden":!0})]}),b(s,{as:`nav`,className:`mt-[12px] flex gap-[14px]`,children:[y(t,{type:`button`,variant:`ghost`,onClick:()=>E(`hot`),className:e(`h-[28px] min-w-[64px] rounded-[100px] px-[16px] text-[14px] font-normal leading-[20px] text-white`,T===`hot`?`bg-[linear-gradient(90deg,#9756e3_0%,#6c43ee_100%)] shadow-[0_8px_20px_rgba(122,76,255,0.35)] hover:bg-transparent`:`bg-white/20 hover:bg-white/25`),children:`最热`}),y(t,{type:`button`,variant:`ghost`,onClick:()=>E(`latest`),className:e(`h-[28px] min-w-[64px] rounded-[100px] px-[16px] text-[14px] font-normal leading-[20px] text-white`,T===`latest`?`bg-[linear-gradient(90deg,#9756e3_0%,#6c43ee_100%)] shadow-[0_8px_20px_rgba(122,76,255,0.35)] hover:bg-transparent`:`bg-white/20 hover:bg-white/25`),children:`最新`})]})]}),y(c,{loadMore:()=>k().then(()=>void 0),hasMore:F,noMoreText:`没有更多了`,threshold:300,className:`px-[16px] pb-[24px]`,children:y(s,{as:`section`,className:`flex flex-col gap-[16px]`,children:R})},T)]})}export{S as default};
2
+ "use client";import{cn as e}from"../../../utils/cn.mjs";import{Button as t}from"../../ui/button.mjs";import{pContentGetNewstVideoList as n,pContentGetTopRatedVideoList as r}from"../../../service/generated/client.mjs";import{pContentGetNewstVideoListKey as i,pContentGetTopRatedVideoListKey as a}from"../../../service/generated/tanstack.mjs";import{usePageLifecycle as o}from"../../../utils/tracking.mjs";import{useRouter as s}from"../../../utils/use-compatible-router.mjs";import{Box as c}from"../../ui/box.mjs";import{InfiniteScroll as l}from"../../ui/infinite-scroll.mjs";import{Text as u}from"../../ui/text.mjs";import{usePaginated as d}from"../../../hooks/query/use-query.mjs";import f from"../../../assets/icons/left_arrow.mjs";import{getNextVideoListPageParam as p,resolveNextCursor as m}from"./types.mjs";import{VideoListRecommendItem as h}from"./video-list-recommend-item.mjs";import{VideoListSkeleton as g}from"./video-list-skeleton.mjs";import{useEffect as _,useMemo as v,useState as y}from"react";import{jsx as b,jsxs as x}from"react/jsx-runtime";const S=[];function C({title:C=`列表页`,tags:w=S}){let T=s();o(`page_video_list`,`视频列表`);let[E,D]=y(`hot`),O=v(()=>({page_size:10,tags:w.length?w:void 0}),[w]),{data:k,fetchNextPage:A,hasNextPage:j,isPending:M,isFetching:N}=d({key:v(()=>E===`hot`?a(O):i(O),[O,E]),queryFn:async e=>{let t={page_size:10,cursor:e||void 0,tags:w.length?w:void 0},i=(E===`hot`?await r(t):await n(t)).data,a=Array.isArray(i?.videos)?i.videos:[];return{list:a,nextCursor:a.length<10?``:m(i)}},getNextPageParam:p,initialPageParam:``,options:{staleTime:0,refetchOnMount:`always`,refetchOnWindowFocus:!1,refetchOnReconnect:!1}}),P=v(()=>k?.pages?.flatMap(e=>e.list)??[],[k?.pages]),F=(k?.pages?.length??0)>0,I=v(()=>F?j??!1:!0,[F,j]),L=P.length===0&&(!F||M||N);_(()=>{typeof window>`u`||window.scrollTo({top:0,behavior:`auto`})},[E]);function R(){T.back()}let z=v(()=>P.map(e=>{let t=e.id??e.mid??``;return b(h,{item:e,href:`/video/${t}/${e.name??``}`},t)}),[P]);return L?b(g,{}):x(c,{as:`main`,className:`min-h-[100dvh] bg-[linear-gradient(180deg,#160320_0%,#2a0a56_100%)] text-white`,children:[x(c,{className:`sticky top-0 z-20 bg-[linear-gradient(180deg,rgba(22,3,32,0.98)_0%,rgba(22,3,32,0.92)_100%)] px-[16px] pb-[12px] pt-[10px] backdrop-blur-[16px]`,children:[x(c,{as:`header`,className:`flex items-center justify-between`,children:[b(t,{type:`button`,variant:`ghost`,size:`icon-sm`,onClick:R,className:`h-[24px] w-[24px] rounded-none p-0 text-white hover:bg-transparent`,children:b(f,{className:`h-[16px] w-[16px]`})}),b(u,{as:`h1`,className:`min-w-0 flex-1 truncate px-[16px] text-center text-[18px] font-medium leading-[22px] text-white`,children:C}),b(c,{className:`h-[24px] w-[24px] shrink-0 opacity-0`,"aria-hidden":!0})]}),x(c,{as:`nav`,className:`mt-[12px] flex gap-[14px]`,children:[b(t,{type:`button`,variant:`ghost`,onClick:()=>D(`hot`),className:e(`h-[28px] min-w-[64px] rounded-[100px] px-[16px] text-[14px] font-normal leading-[20px] text-white`,E===`hot`?`bg-[linear-gradient(90deg,#9756e3_0%,#6c43ee_100%)] shadow-[0_8px_20px_rgba(122,76,255,0.35)] hover:bg-transparent`:`bg-white/20 hover:bg-white/25`),children:`最热`}),b(t,{type:`button`,variant:`ghost`,onClick:()=>D(`latest`),className:e(`h-[28px] min-w-[64px] rounded-[100px] px-[16px] text-[14px] font-normal leading-[20px] text-white`,E===`latest`?`bg-[linear-gradient(90deg,#9756e3_0%,#6c43ee_100%)] shadow-[0_8px_20px_rgba(122,76,255,0.35)] hover:bg-transparent`:`bg-white/20 hover:bg-white/25`),children:`最新`})]})]}),b(l,{loadMore:()=>A().then(()=>void 0),hasMore:I,noMoreText:`没有更多了`,threshold:300,className:`px-[16px] pb-[24px]`,children:b(c,{as:`section`,className:`flex flex-col gap-[16px]`,children:z})},E)]})}export{C as default};
@@ -6,7 +6,7 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
6
6
  //#region components/ui/badge.d.ts
7
7
  /** badgeVariants 工具定义。 */
8
8
  declare const badgeVariants: (props?: ({
9
- variant?: "link" | "default" | "destructive" | "secondary" | "outline" | "ghost" | null | undefined;
9
+ variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
10
10
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
11
11
  /** Badge 组件。 */
12
12
  declare function Badge({
@@ -7,7 +7,7 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
7
7
  //#region components/ui/button.d.ts
8
8
  /** buttonVariants 工具定义。 */
9
9
  declare const buttonVariants: (props?: ({
10
- variant?: "link" | "default" | "destructive" | "secondary" | "outline" | "ghost" | null | undefined;
10
+ variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
11
11
  size?: "icon" | "default" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
12
12
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
13
13
  /** Button 组件属性。 */
@@ -1,11 +1,11 @@
1
1
 
2
2
  import * as React from "react";
3
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
- import NextImage from "next/image";
4
+ import Image from "next/image";
5
5
 
6
6
  //#region components/ui/image.d.ts
7
7
  /** BaseImageProps 属性定义。 */
8
- type BaseImageProps = Omit<React.ComponentPropsWithoutRef<typeof NextImage>, 'className' | 'src' | 'alt' | 'width' | 'height' | 'loading' | 'priority' | 'fill' | 'style'>;
8
+ type BaseImageProps = Omit<React.ComponentPropsWithoutRef<typeof Image>, 'className' | 'src' | 'alt' | 'width' | 'height' | 'loading' | 'priority' | 'fill' | 'style'>;
9
9
  type CommonImageProps = BaseImageProps & {
10
10
  /** 图片地址,支持普通 URL、默认资源路径和加密地址。 */src: string; /** 图片替代文本。 */
11
11
  alt?: string; /** 图片类名。 */
@@ -27,6 +27,6 @@ type ImagePropsWithSize = CommonImageProps & {
27
27
  /** ImageProps 属性定义。 */
28
28
  type ImageProps = ImagePropsWithFill | ImagePropsWithSize;
29
29
  /** 图片组件:支持 bnc 解密、默认资源域名拼接与错误占位。 */
30
- declare function Image(props: ImageProps): react_jsx_runtime0.JSX.Element;
30
+ declare function Image$1(props: ImageProps): react_jsx_runtime0.JSX.Element;
31
31
  //#endregion
32
- export { BaseImageProps, CommonImageProps, Image, ImageProps, ImagePropsWithFill, ImagePropsWithSize };
32
+ export { BaseImageProps, CommonImageProps, Image$1 as Image, ImageProps, ImagePropsWithFill, ImagePropsWithSize };
@@ -1,2 +1,2 @@
1
1
 
2
- import"react";import{jsx as e}from"react/jsx-runtime";import t from"next/link";function n({href:n,children:r,className:i=``,webviewNavMode:a=`auto`,...o}){let s=i.trim(),c=a===`auto`?void 0:a;function l(e){if(!(typeof window>`u`)&&a!==`spa`&&a!==`auto`){if(e?.preventDefault?.(),window.isWebView!==!0){window.location.href=n;return}try{let e=new URL(n,window.location.href);if(e.origin!==window.location.origin){window.location.href=e.toString();return}let t=e.pathname.split(`/`).filter(Boolean),r=t.findIndex(e=>e===`video`);r>=0&&(t[r]=`webview`,e.pathname=`/${t.join(`/`)}`),window.location.href=e.toString()}catch{window.location.href=n}}}return e(t,{href:n,className:s,"data-webview-nav":c,...o,onClick:l,children:r})}export{n as default};
2
+ import"react";import{jsx as e}from"react/jsx-runtime";import t from"next/link";function n({href:n,children:r,className:i=``,webviewNavMode:a=`auto`,onClick:o,...s}){let c=i.trim(),l=a===`auto`?void 0:a;function u(e){if(o?.(e),!(typeof window>`u`)&&a!==`spa`&&a!==`auto`){if(e?.preventDefault?.(),window.isWebView!==!0){window.location.href=n;return}try{let e=new URL(n,window.location.href);if(e.origin!==window.location.origin){window.location.href=e.toString();return}let t=e.pathname.split(`/`).filter(Boolean),r=t.findIndex(e=>e===`video`);r>=0&&(t[r]=`webview`,e.pathname=`/${t.join(`/`)}`),window.location.href=e.toString()}catch{window.location.href=n}}}return e(t,{href:n,className:c,"data-webview-nav":l,...s,onClick:u,children:r})}export{n as default};
package/dist/types.d.mts CHANGED
@@ -791,7 +791,7 @@ type ContentFloatingBallInfo = {
791
791
  * 根据广告Code查询广告详情响应
792
792
  */
793
793
  type ContentGetAdvertiseByCodeResponse = {
794
- advertise?: ContentAdvertiseDetail;
794
+ advertise?: ContentAdDetailInfo;
795
795
  };
796
796
  /**
797
797
  * 获取频道推荐位数据响应
@@ -1434,39 +1434,11 @@ type ContentShowVideoInfo = {
1434
1434
  * 是否广告组件
1435
1435
  */
1436
1436
  is_ad?: boolean;
1437
+ ad?: ContentFeedAdInfo;
1437
1438
  /**
1438
- * 广告业务编码
1439
- */
1440
- ad_code?: string;
1441
- /**
1442
- * 广告跳转地址
1443
- */
1444
- ad_advertise_url?: string;
1445
- /**
1446
- * 广告图片地址
1447
- */
1448
- ad_advertise_icon?: string;
1449
- /**
1450
- * 广告类型枚举
1451
- */
1452
- ad_advertise_type?: number;
1453
- /**
1454
- * 广告描述
1455
- */
1456
- ad_advertise_desc?: string;
1457
- /**
1458
- * 广告开始时间戳(毫秒)
1459
- */
1460
- ad_start_time?: number;
1461
- /**
1462
- * 广告结束时间戳(毫秒)
1463
- */
1464
- ad_end_time?: number;
1465
- /**
1466
- * 广告扩展数据
1439
+ * 广告资源地址
1467
1440
  */
1468
- ad_ext_data?: string;
1469
- ad?: ContentFeedAdInfo;
1441
+ ad_resource_url?: string;
1470
1442
  };
1471
1443
  /**
1472
1444
  * 标签对象
@@ -1653,6 +1625,14 @@ type ContentVideoDetail = {
1653
1625
  * 浏览次数
1654
1626
  */
1655
1627
  browse_count?: number;
1628
+ /**
1629
+ * 点赞数
1630
+ */
1631
+ like_count?: number;
1632
+ /**
1633
+ * 收藏数
1634
+ */
1635
+ collect_count?: number;
1656
1636
  };
1657
1637
  /**
1658
1638
  * 剧集播放介质(对应 c_video_episode 中的 mediums)
@@ -4124,6 +4104,10 @@ type ContentMatchAdsResponse = {
4124
4104
  */
4125
4105
  materials?: ContentMatchAdMaterial[];
4126
4106
  settings?: ContentMatchAdSettings;
4107
+ /**
4108
+ * 广告资源地址(来自服务配置 common.ad_resource_url)
4109
+ */
4110
+ ad_resource_url?: string;
4127
4111
  };
4128
4112
  type CommunityBatchDeleteCollectionResponse = {
4129
4113
  /**
@@ -4179,6 +4163,10 @@ type ContentMatchAdMaterial = {
4179
4163
  * 扩展展示信息
4180
4164
  */
4181
4165
  ad_ext_data?: string;
4166
+ /**
4167
+ * 视频素材地址
4168
+ */
4169
+ advertise_video?: string;
4182
4170
  };
4183
4171
  /**
4184
4172
  * 信息流广告信息(仅在 ShowVideoInfo.is_ad=true 时返回)
@@ -4216,6 +4204,10 @@ type ContentFeedAdInfo = {
4216
4204
  * 广告扩展数据
4217
4205
  */
4218
4206
  ad_ext_data?: string;
4207
+ /**
4208
+ * 广告视频地址
4209
+ */
4210
+ ad_advertise_video?: string;
4219
4211
  };
4220
4212
  /**
4221
4213
  * 最热视频列表响应
@@ -4308,6 +4300,143 @@ type InternalSyncVideoToESResponse = {
4308
4300
  */
4309
4301
  data?: unknown;
4310
4302
  };
4303
+ /**
4304
+ * 广告详情
4305
+ */
4306
+ type ContentAdDetailInfo = {
4307
+ /**
4308
+ * 广告基本信息
4309
+ */
4310
+ advertise_code?: string;
4311
+ /**
4312
+ * 客户code
4313
+ */
4314
+ customer_code?: string;
4315
+ /**
4316
+ * 广告名称
4317
+ */
4318
+ advertise_name?: string;
4319
+ /**
4320
+ * 广告链接
4321
+ */
4322
+ advertise_url?: string;
4323
+ /**
4324
+ * 广告图标
4325
+ */
4326
+ advertise_icon?: string;
4327
+ /**
4328
+ * 广告类型
4329
+ */
4330
+ advertise_type?: number;
4331
+ /**
4332
+ * 广告模式(如:CPS)
4333
+ */
4334
+ ad_mode?: string;
4335
+ /**
4336
+ * 应用code
4337
+ */
4338
+ app_code?: string;
4339
+ /**
4340
+ * 广告描述
4341
+ */
4342
+ advertise_desc?: string;
4343
+ /**
4344
+ * PC端广告图标
4345
+ */
4346
+ pc_advertise_icon?: string;
4347
+ /**
4348
+ * 状态和时间
4349
+ */
4350
+ status?: number;
4351
+ /**
4352
+ * 开始时间戳(毫秒)
4353
+ */
4354
+ start_time_stamp?: number;
4355
+ /**
4356
+ * 结束时间戳(毫秒)
4357
+ */
4358
+ end_time_stamp?: number;
4359
+ /**
4360
+ * 排序
4361
+ */
4362
+ sort?: number;
4363
+ /**
4364
+ * 扩展字段
4365
+ */
4366
+ ad_ext_data?: string;
4367
+ /**
4368
+ * 广告扩展原始数据
4369
+ */
4370
+ ad_ext_raw?: string;
4371
+ /**
4372
+ * 广告扩展预留字段
4373
+ */
4374
+ ad_ext_reserve?: string;
4375
+ /**
4376
+ * 更新时间(ISO格式)
4377
+ */
4378
+ update_time?: string;
4379
+ /**
4380
+ * 是否删除:0-未删除, 1-已删除
4381
+ */
4382
+ is_delete?: number;
4383
+ /**
4384
+ * 更新人
4385
+ */
4386
+ updater?: string;
4387
+ /**
4388
+ * 广告位信息
4389
+ */
4390
+ advertise_location_code?: string;
4391
+ /**
4392
+ * 广告位名称
4393
+ */
4394
+ advertise_location_name?: string;
4395
+ /**
4396
+ * 广告位备注
4397
+ */
4398
+ advertise_location_remark?: string;
4399
+ /**
4400
+ * 广告位图片
4401
+ */
4402
+ example_icon?: string;
4403
+ /**
4404
+ * 展示模式:0-多个轮播, 1-单体, 2-三分屏, 3-四分屏, 4-两分屏, 5-小图标, 6-大图标
4405
+ */
4406
+ display_mode?: number;
4407
+ /**
4408
+ * 高度
4409
+ */
4410
+ advertise_height?: number;
4411
+ /**
4412
+ * 宽度
4413
+ */
4414
+ advertise_width?: number;
4415
+ /**
4416
+ * 素材类型:1-视频, 2-图片
4417
+ */
4418
+ material_type?: number;
4419
+ /**
4420
+ * 广告限制数量
4421
+ */
4422
+ ad_limit?: number;
4423
+ /**
4424
+ * 广告位状态:1-启用, 0-停用
4425
+ */
4426
+ slot_status?: number;
4427
+ /**
4428
+ * 商户code
4429
+ */
4430
+ merchant_code?: string;
4431
+ /**
4432
+ * 部门code
4433
+ */
4434
+ dept_code?: string;
4435
+ /**
4436
+ * 广告视频地址
4437
+ */
4438
+ advertise_video?: string;
4439
+ };
4311
4440
  type PostApiCommunityPublishContentReqBody = {
4312
4441
  /**
4313
4442
  * 正文内容
@@ -5234,6 +5363,10 @@ type PostApiContentMatchAdsReqBody = {
5234
5363
  */
5235
5364
  component_id?: string;
5236
5365
  scene_context?: ContentAdSceneContext;
5366
+ /**
5367
+ * 应用编码(传入时参与广告匹配)
5368
+ */
5369
+ app_code?: string;
5237
5370
  };
5238
5371
  type PostApiContentMatchAdsRes = {
5239
5372
  code?: ResultCode;
@@ -7044,4 +7177,4 @@ type PostApiCommerceRefundCallbackRes = {
7044
7177
  data: CommerceRefundCallbackResponse;
7045
7178
  };
7046
7179
  //#endregion
7047
- export { CommerceCreatePaymentResponse, CommerceGetPaymentMethodsResponse, CommerceOrderResult, CommercePaymentCardInfo, CommercePaymentMethod, CommercePaymentMethodGroup, CommercePaymentPlayerInfo, CommercePaymentSuccessCallbackResponse, CommerceQueryOrderResultResponse, CommerceRefundCallbackResponse, CommunityAddContentToCollectionResponse, CommunityBatchDeleteCollectionResponse, CommunityCollectionData, CommunityCollectionDetail, CommunityCollectionInfo, CommunityCommentInfo, CommunityCommentListData, CommunityContentBrief, CommunityContentInfo, CommunityContentInteraction, CommunityContentListData, CommunityCreateCollectionResponse, CommunityCreateCommentResponse, CommunityDeleteCollectionResponse, CommunityDeleteCommentResponse, CommunityDeleteContentResponse, CommunityDislikeCommentResponse, CommunityFollowInfo, CommunityGetCollectionInfoResponse, CommunityGetCommentsResponse, CommunityGetCommentsResponseData, CommunityGetContentInfoResponse, CommunityGetContentListResponse, CommunityGetHotContentListResponse, CommunityGetSubscribedCollectionsResponse, CommunityGetUploadPresignedURLResponse, CommunityGetUserCollectionsResponse, CommunityHotContentInfo, CommunityLikeCommentResponse, CommunityMediaInfo, CommunityMediaTagInfo, CommunityMoveCollectionContentResponse, CommunityPublishContentResponse, CommunitySearchCurAccountFollowingUsersInfoResponse, CommunityShareContentResponse, CommunityShareData, CommunitySubscribeCollectionResponse, CommunityUpdateCollectionResponse, CommunityUpdateContentResponse, CommunityUploadMediaInfo, CommunityUploadMediaResponse, CommunityUserBrief, ContentAdSceneContext, ContentAdvertiseDetail, ContentAppChannel, ContentAppChannelBlock, ContentAppChannelBlockBanner, ContentAppChannelBlockData, ContentAppComponentCommon, ContentBaseUserInfo, ContentBatchGetVideoDetailResponse, ContentBlockIconInfo, ContentContentInfo, ContentFeedAdInfo, ContentFloatingBallInfo, ContentGeoConfig, ContentGeoFaq, ContentGetAdvertiseByCodeResponse, ContentGetAppChannelBlockDataResponse, ContentGetAppChannelBlockResponse, ContentGetAppChannelsResponse, ContentGetAppComponentResponse, ContentGetGuessYouLikeVideosResponse, ContentGetHotVideoListResponse, ContentGetMostPlayedVideoListResponse, ContentGetNewstVideoListResponse, ContentGetPopularVideoListResponse, ContentGetRecommendSearchListResponse, ContentGetRecommendVideoListResponse, ContentGetSeoConfigResponse, ContentGetTopRatedVideoListResponse, ContentGetVideoDetailByApiResponse, ContentGetVideoDetailResponse, ContentHotVideoInfo, ContentListVisibleFloatingBallResponse, ContentMatchAdMaterial, ContentMatchAdSettings, ContentMatchAdsResponse, ContentMediaInfo, ContentProcessM3U8Response, ContentRecommendContentAuthor, ContentRecommendContentInfo, ContentRecommendContentInteraction, ContentRecommendContentList, ContentRecommendContentMedia, ContentRecommendInfo, ContentRecommendUserInfo, ContentRecommendUserList, ContentRecommendVideoInfo, ContentRecommendVideoList, ContentSeoConfig, ContentShowVideoInfo, ContentTag, ContentVideoDetail, ContentVideoEpisodeMedium, ContentVideoEpisodeProto, ContentVideoLink, ContentVideoStatic, GetApiCommerceQueryOrderResultQuery, GetApiCommerceQueryOrderResultRes, GetApiCommunityGetCollectionInfoQuery, GetApiCommunityGetCollectionInfoRes, GetApiCommunityGetCommentsQuery, GetApiCommunityGetCommentsRes, GetApiCommunityGetContentInfoQuery, GetApiCommunityGetContentInfoRes, GetApiCommunityGetContentListQuery, GetApiCommunityGetContentListRes, GetApiCommunityGetHotContentListQuery, GetApiCommunityGetHotContentListRes, GetApiCommunityGetSubscribedCollectionsQuery, GetApiCommunityGetSubscribedCollectionsRes, GetApiCommunityGetUserCollectionsQuery, GetApiCommunityGetUserCollectionsRes, GetApiContentGetAdvertiseByCodeQuery, GetApiContentGetAdvertiseByCodeRes, GetApiContentGetAppChannelBlockDataQuery, GetApiContentGetAppChannelBlockDataRes, GetApiContentGetAppChannelBlockQuery, GetApiContentGetAppChannelBlockRes, GetApiContentGetAppChannelsQuery, GetApiContentGetAppChannelsRes, GetApiContentGetAppComponentRes, GetApiContentGetGuessYouLikeVideosQuery, GetApiContentGetGuessYouLikeVideosRes, GetApiContentGetHotVideoListQuery, GetApiContentGetHotVideoListRes, GetApiContentGetRecommendSearchListQuery, GetApiContentGetRecommendSearchListRes, GetApiContentGetRecommendVideoListQuery, GetApiContentGetRecommendVideoListRes, GetApiContentGetSeoConfigQuery, GetApiContentGetSeoConfigRes, GetApiContentGetVideoDetailByApiQuery, GetApiContentGetVideoDetailByApiRes, GetApiContentGetVideoDetailQuery, GetApiContentGetVideoDetailRes, GetApiContentListVisibleFloatingBallQuery, GetApiContentListVisibleFloatingBallRes, GetApiContentProcessM3u8Query, GetApiContentProcessM3u8Res, GetApiInteractionCheckMutualFollowQuery, GetApiInteractionCheckMutualFollowRes, GetApiInteractionGetBrowseListQuery, GetApiInteractionGetBrowseListRes, GetApiInteractionGetContentDislikeListQuery, GetApiInteractionGetContentDislikeListRes, GetApiInteractionGetContentLikeListQuery, GetApiInteractionGetContentLikeListRes, GetApiInteractionGetDislikeListQuery, GetApiInteractionGetDislikeListRes, GetApiInteractionGetFolderQuery, GetApiInteractionGetFolderRes, GetApiInteractionGetFolderStatsQuery, GetApiInteractionGetFolderStatsRes, GetApiInteractionGetFollowStatsQuery, GetApiInteractionGetFollowStatsRes, GetApiInteractionGetFollowerListQuery, GetApiInteractionGetFollowerListRes, GetApiInteractionGetFollowingContentListQuery, GetApiInteractionGetFollowingContentListRes, GetApiInteractionGetFollowingListQuery, GetApiInteractionGetFollowingListRes, GetApiInteractionGetFollowingUserUpdatesQuery, GetApiInteractionGetFollowingUserUpdatesRes, GetApiInteractionGetLikeListQuery, GetApiInteractionGetLikeListRes, GetApiInteractionListCollectsQuery, GetApiInteractionListCollectsRes, GetApiInteractionListFoldersQuery, GetApiInteractionListFoldersRes, GetApiUserGetGuestIdentityQuery, GetApiUserGetGuestIdentityRes, GetApiUserGetUserEditInfoQuery, GetApiUserGetUserEditInfoRes, GetApiUserGetUserInfoQuery, GetApiUserGetUserInfoRes, GetApiUserGetUserPrivacySettingsQuery, GetApiUserGetUserPrivacySettingsRes, GetApiUserGetVisitorPermissionConfigQuery, GetApiUserGetVisitorPermissionConfigRes, GetApiUserViewUserInfoQuery, GetApiUserViewUserInfoRes, GoogleProtobufAny, InteractionAddCollectResponse, InteractionBatchClearBrowseResponse, InteractionBatchDeleteCollectsResponse, InteractionBatchDeleteFoldersResponse, InteractionBatchGetCommentLikeStatusResponse, InteractionBatchGetFollowStatsResponse, InteractionBatchGetLikeStatusResponse, InteractionBatchQueryContentInteractionsResponse, InteractionBrowseItem, InteractionBrowseRecord, InteractionBrowseResponse, InteractionCancelDislikeResponse, InteractionCancelLikeResponse, InteractionCheckCollectResponse, InteractionCheckFollowResponse, InteractionCheckMutualFollowResponse, InteractionClearBrowseHistoryResponse, InteractionCollectInfo, InteractionCollectItem, InteractionContentInteraction, InteractionContentInteractionStatus, InteractionCreateFolderResponse, InteractionDeleteFolderResponse, InteractionDislikeResponse, InteractionEpisode, InteractionFolderInfo, InteractionFolderStats, InteractionFollowInfoItem, InteractionFollowResponse, InteractionFollowingContentItem, InteractionGetBrowseListResponse, InteractionGetContentDislikeListResponse, InteractionGetContentLikeListResponse, InteractionGetDislikeListResponse, InteractionGetFolderResponse, InteractionGetFolderStatsResponse, InteractionGetFollowStatsResponse, InteractionGetFollowerListResponse, InteractionGetFollowingContentListResponse, InteractionGetFollowingListResponse, InteractionGetFollowingUserUpdatesResponse, InteractionGetLikeListResponse, InteractionLikeInfo, InteractionLikeItem, InteractionLikeResponse, InteractionLikeStatusItem, InteractionListCollectsResponse, InteractionListFoldersResponse, InteractionMediaInfo, InteractionMoveCollectsResponse, InteractionPostInfo, InteractionRemoveCollectResponse, InteractionTrackEvent, InteractionUnfollowResponse, InteractionUnifiedBatchLikeDislikeResponse, InteractionUnifiedBatchLikeDislikeResult, InteractionUserBrief, InteractionVideoDetailNested, InteractionVideoInfo, InteractionVideoMedia, InteractionVideoTag, InternalReplayVideoDetailPrewarmData, InternalReplayVideoDetailPrewarmRequest, InternalReplayVideoDetailPrewarmResponse, InternalSyncVideoToESRequest, InternalSyncVideoToESResponse, PostApiCommerceCreatePaymentReqBody, PostApiCommerceCreatePaymentRes, PostApiCommerceGetPaymentMethodsReqBody, PostApiCommerceGetPaymentMethodsRes, PostApiCommercePaymentSuccessCallbackReqBody, PostApiCommercePaymentSuccessCallbackRes, PostApiCommerceRefundCallbackReqBody, PostApiCommerceRefundCallbackRes, PostApiCommunityAddContentToCollectionReqBody, PostApiCommunityAddContentToCollectionRes, PostApiCommunityBatchDeleteCollectionReqBody, PostApiCommunityBatchDeleteCollectionRes, PostApiCommunityCreateCollectionReqBody, PostApiCommunityCreateCollectionRes, PostApiCommunityCreateCommentReqBody, PostApiCommunityCreateCommentRes, PostApiCommunityDeleteCollectionReqBody, PostApiCommunityDeleteCollectionRes, PostApiCommunityDeleteCommentReqBody, PostApiCommunityDeleteCommentRes, PostApiCommunityDeleteContentReqBody, PostApiCommunityDeleteContentRes, PostApiCommunityDislikeCommentReqBody, PostApiCommunityDislikeCommentRes, PostApiCommunityGetUploadPresignedURLReqBody, PostApiCommunityGetUploadPresignedURLRes, PostApiCommunityLikeCommentReqBody, PostApiCommunityLikeCommentRes, PostApiCommunityMoveCollectionContentReqBody, PostApiCommunityMoveCollectionContentRes, PostApiCommunityPublishContentReqBody, PostApiCommunityPublishContentRes, PostApiCommunityRemoveContentFromCollectionReqBody, PostApiCommunityRemoveContentFromCollectionRes, PostApiCommunitySearchCurAccountFollowingUsersInfoReqBody, PostApiCommunitySearchCurAccountFollowingUsersInfoRes, PostApiCommunityShareContentReqBody, PostApiCommunityShareContentRes, PostApiCommunitySubscribeCollectionReqBody, PostApiCommunitySubscribeCollectionRes, PostApiCommunityUpdateCollectionReqBody, PostApiCommunityUpdateCollectionRes, PostApiCommunityUpdateContentReqBody, PostApiCommunityUpdateContentRes, PostApiCommunityUploadMediaReqBody, PostApiCommunityUploadMediaRes, PostApiContentBatchGetVideoDetailReqBody, PostApiContentBatchGetVideoDetailRes, PostApiContentGetMostPlayedVideoListReqBody, PostApiContentGetMostPlayedVideoListRes, PostApiContentGetNewstVideoListReqBody, PostApiContentGetNewstVideoListRes, PostApiContentGetPopularVideoListReqBody, PostApiContentGetPopularVideoListRes, PostApiContentGetTopRatedVideoListReqBody, PostApiContentGetTopRatedVideoListRes, PostApiContentMatchAdsReqBody, PostApiContentMatchAdsRes, PostApiInteractionAddCollectReqBody, PostApiInteractionAddCollectRes, PostApiInteractionBatchClearBrowseReqBody, PostApiInteractionBatchClearBrowseRes, PostApiInteractionBatchDeleteCollectsReqBody, PostApiInteractionBatchDeleteCollectsRes, PostApiInteractionBatchDeleteFoldersReqBody, PostApiInteractionBatchDeleteFoldersRes, PostApiInteractionBatchGetCommentLikeStatusReqBody, PostApiInteractionBatchGetCommentLikeStatusRes, PostApiInteractionBatchGetFollowStatsReqBody, PostApiInteractionBatchGetFollowStatsRes, PostApiInteractionBatchGetLikeStatusReqBody, PostApiInteractionBatchGetLikeStatusRes, PostApiInteractionBatchQueryContentInteractionsReqBody, PostApiInteractionBatchQueryContentInteractionsRes, PostApiInteractionBrowseReqBody, PostApiInteractionBrowseRes, PostApiInteractionCancelDislikeReqBody, PostApiInteractionCancelDislikeRes, PostApiInteractionCancelLikeReqBody, PostApiInteractionCancelLikeRes, PostApiInteractionCheckCollectReqBody, PostApiInteractionCheckCollectRes, PostApiInteractionCheckFollowReqBody, PostApiInteractionCheckFollowRes, PostApiInteractionClearBrowseHistoryReqBody, PostApiInteractionClearBrowseHistoryRes, PostApiInteractionCreateFolderReqBody, PostApiInteractionCreateFolderRes, PostApiInteractionDeleteBrowseRecordReqBody, PostApiInteractionDeleteBrowseRecordRes, PostApiInteractionDeleteFolderReqBody, PostApiInteractionDeleteFolderRes, PostApiInteractionDislikeCommentReqBody, PostApiInteractionDislikeCommentRes, PostApiInteractionDislikeReqBody, PostApiInteractionDislikeRes, PostApiInteractionFollowReqBody, PostApiInteractionFollowRes, PostApiInteractionLikeCommentReqBody, PostApiInteractionLikeCommentRes, PostApiInteractionLikeReqBody, PostApiInteractionLikeRes, PostApiInteractionMoveCollectsReqBody, PostApiInteractionMoveCollectsRes, PostApiInteractionRemoveCollectReqBody, PostApiInteractionRemoveCollectRes, PostApiInteractionTrackEventsBatchReqBody, PostApiInteractionTrackEventsBatchRes, PostApiInteractionUnfollowReqBody, PostApiInteractionUnfollowRes, PostApiInteractionUnifiedBatchLikeDislikeReqBody, PostApiInteractionUnifiedBatchLikeDislikeRes, PostApiInteractionUpdateFolderReqBody, PostApiInteractionUpdateFolderRes, PostApiInteractionUpdateFollowingContentUpdateTimeReqBody, PostApiInteractionUpdateFollowingContentUpdateTimeRes, PostApiUserEditUserInfoReqBody, PostApiUserEditUserInfoRes, PostApiUserLoginReqBody, PostApiUserLoginRes, PostApiUserRegisterByVerifyEmailCodeReqBody, PostApiUserRegisterByVerifyEmailCodeRes, PostApiUserRegisterReqBody, PostApiUserRegisterRes, PostApiUserResetForgetPasswordReqBody, PostApiUserResetForgetPasswordRes, PostApiUserResetPasswordReqBody, PostApiUserResetPasswordRes, PostApiUserSendEmailCodeReqBody, PostApiUserSendEmailCodeRes, PostApiUserSendForgetEmailCodeReqBody, PostApiUserSendForgetEmailCodeRes, PostApiUserSendResetPasswordEmailCodeReqBody, PostApiUserSendResetPasswordEmailCodeRes, PostApiUserUploadUserBgImageReqBody, PostApiUserUploadUserBgImageRes, PostApiUserUserFeedbackReqBody, PostApiUserUserFeedbackRes, PostApiUserUserPrivacySettingsReqBody, PostApiUserUserPrivacySettingsRes, PostApiUserVerifyEmailCodeReqBody, PostApiUserVerifyEmailCodeRes, PostApiUserVerifyForgetEmailCodeReqBody, PostApiUserVerifyForgetEmailCodeRes, PostApiUserVerifyResetPasswordEmailCodeReqBody, PostApiUserVerifyResetPasswordEmailCodeRes, Result, ResultCode, ResultGrpc, Status, UserGetGuestIdentityResponse, UserGetUserEditInfoResponse, UserGetUserInfoResponse, UserGetUserPrivacySettingsResponse, UserGetVisitorPermissionConfigResponse, UserLoginResponse, UserRegisterByVerifyEmailCodeResponse, UserRegisterResponse, UserViewUserInfoResponse };
7180
+ export { CommerceCreatePaymentResponse, CommerceGetPaymentMethodsResponse, CommerceOrderResult, CommercePaymentCardInfo, CommercePaymentMethod, CommercePaymentMethodGroup, CommercePaymentPlayerInfo, CommercePaymentSuccessCallbackResponse, CommerceQueryOrderResultResponse, CommerceRefundCallbackResponse, CommunityAddContentToCollectionResponse, CommunityBatchDeleteCollectionResponse, CommunityCollectionData, CommunityCollectionDetail, CommunityCollectionInfo, CommunityCommentInfo, CommunityCommentListData, CommunityContentBrief, CommunityContentInfo, CommunityContentInteraction, CommunityContentListData, CommunityCreateCollectionResponse, CommunityCreateCommentResponse, CommunityDeleteCollectionResponse, CommunityDeleteCommentResponse, CommunityDeleteContentResponse, CommunityDislikeCommentResponse, CommunityFollowInfo, CommunityGetCollectionInfoResponse, CommunityGetCommentsResponse, CommunityGetCommentsResponseData, CommunityGetContentInfoResponse, CommunityGetContentListResponse, CommunityGetHotContentListResponse, CommunityGetSubscribedCollectionsResponse, CommunityGetUploadPresignedURLResponse, CommunityGetUserCollectionsResponse, CommunityHotContentInfo, CommunityLikeCommentResponse, CommunityMediaInfo, CommunityMediaTagInfo, CommunityMoveCollectionContentResponse, CommunityPublishContentResponse, CommunitySearchCurAccountFollowingUsersInfoResponse, CommunityShareContentResponse, CommunityShareData, CommunitySubscribeCollectionResponse, CommunityUpdateCollectionResponse, CommunityUpdateContentResponse, CommunityUploadMediaInfo, CommunityUploadMediaResponse, CommunityUserBrief, ContentAdDetailInfo, ContentAdSceneContext, ContentAdvertiseDetail, ContentAppChannel, ContentAppChannelBlock, ContentAppChannelBlockBanner, ContentAppChannelBlockData, ContentAppComponentCommon, ContentBaseUserInfo, ContentBatchGetVideoDetailResponse, ContentBlockIconInfo, ContentContentInfo, ContentFeedAdInfo, ContentFloatingBallInfo, ContentGeoConfig, ContentGeoFaq, ContentGetAdvertiseByCodeResponse, ContentGetAppChannelBlockDataResponse, ContentGetAppChannelBlockResponse, ContentGetAppChannelsResponse, ContentGetAppComponentResponse, ContentGetGuessYouLikeVideosResponse, ContentGetHotVideoListResponse, ContentGetMostPlayedVideoListResponse, ContentGetNewstVideoListResponse, ContentGetPopularVideoListResponse, ContentGetRecommendSearchListResponse, ContentGetRecommendVideoListResponse, ContentGetSeoConfigResponse, ContentGetTopRatedVideoListResponse, ContentGetVideoDetailByApiResponse, ContentGetVideoDetailResponse, ContentHotVideoInfo, ContentListVisibleFloatingBallResponse, ContentMatchAdMaterial, ContentMatchAdSettings, ContentMatchAdsResponse, ContentMediaInfo, ContentProcessM3U8Response, ContentRecommendContentAuthor, ContentRecommendContentInfo, ContentRecommendContentInteraction, ContentRecommendContentList, ContentRecommendContentMedia, ContentRecommendInfo, ContentRecommendUserInfo, ContentRecommendUserList, ContentRecommendVideoInfo, ContentRecommendVideoList, ContentSeoConfig, ContentShowVideoInfo, ContentTag, ContentVideoDetail, ContentVideoEpisodeMedium, ContentVideoEpisodeProto, ContentVideoLink, ContentVideoStatic, GetApiCommerceQueryOrderResultQuery, GetApiCommerceQueryOrderResultRes, GetApiCommunityGetCollectionInfoQuery, GetApiCommunityGetCollectionInfoRes, GetApiCommunityGetCommentsQuery, GetApiCommunityGetCommentsRes, GetApiCommunityGetContentInfoQuery, GetApiCommunityGetContentInfoRes, GetApiCommunityGetContentListQuery, GetApiCommunityGetContentListRes, GetApiCommunityGetHotContentListQuery, GetApiCommunityGetHotContentListRes, GetApiCommunityGetSubscribedCollectionsQuery, GetApiCommunityGetSubscribedCollectionsRes, GetApiCommunityGetUserCollectionsQuery, GetApiCommunityGetUserCollectionsRes, GetApiContentGetAdvertiseByCodeQuery, GetApiContentGetAdvertiseByCodeRes, GetApiContentGetAppChannelBlockDataQuery, GetApiContentGetAppChannelBlockDataRes, GetApiContentGetAppChannelBlockQuery, GetApiContentGetAppChannelBlockRes, GetApiContentGetAppChannelsQuery, GetApiContentGetAppChannelsRes, GetApiContentGetAppComponentRes, GetApiContentGetGuessYouLikeVideosQuery, GetApiContentGetGuessYouLikeVideosRes, GetApiContentGetHotVideoListQuery, GetApiContentGetHotVideoListRes, GetApiContentGetRecommendSearchListQuery, GetApiContentGetRecommendSearchListRes, GetApiContentGetRecommendVideoListQuery, GetApiContentGetRecommendVideoListRes, GetApiContentGetSeoConfigQuery, GetApiContentGetSeoConfigRes, GetApiContentGetVideoDetailByApiQuery, GetApiContentGetVideoDetailByApiRes, GetApiContentGetVideoDetailQuery, GetApiContentGetVideoDetailRes, GetApiContentListVisibleFloatingBallQuery, GetApiContentListVisibleFloatingBallRes, GetApiContentProcessM3u8Query, GetApiContentProcessM3u8Res, GetApiInteractionCheckMutualFollowQuery, GetApiInteractionCheckMutualFollowRes, GetApiInteractionGetBrowseListQuery, GetApiInteractionGetBrowseListRes, GetApiInteractionGetContentDislikeListQuery, GetApiInteractionGetContentDislikeListRes, GetApiInteractionGetContentLikeListQuery, GetApiInteractionGetContentLikeListRes, GetApiInteractionGetDislikeListQuery, GetApiInteractionGetDislikeListRes, GetApiInteractionGetFolderQuery, GetApiInteractionGetFolderRes, GetApiInteractionGetFolderStatsQuery, GetApiInteractionGetFolderStatsRes, GetApiInteractionGetFollowStatsQuery, GetApiInteractionGetFollowStatsRes, GetApiInteractionGetFollowerListQuery, GetApiInteractionGetFollowerListRes, GetApiInteractionGetFollowingContentListQuery, GetApiInteractionGetFollowingContentListRes, GetApiInteractionGetFollowingListQuery, GetApiInteractionGetFollowingListRes, GetApiInteractionGetFollowingUserUpdatesQuery, GetApiInteractionGetFollowingUserUpdatesRes, GetApiInteractionGetLikeListQuery, GetApiInteractionGetLikeListRes, GetApiInteractionListCollectsQuery, GetApiInteractionListCollectsRes, GetApiInteractionListFoldersQuery, GetApiInteractionListFoldersRes, GetApiUserGetGuestIdentityQuery, GetApiUserGetGuestIdentityRes, GetApiUserGetUserEditInfoQuery, GetApiUserGetUserEditInfoRes, GetApiUserGetUserInfoQuery, GetApiUserGetUserInfoRes, GetApiUserGetUserPrivacySettingsQuery, GetApiUserGetUserPrivacySettingsRes, GetApiUserGetVisitorPermissionConfigQuery, GetApiUserGetVisitorPermissionConfigRes, GetApiUserViewUserInfoQuery, GetApiUserViewUserInfoRes, GoogleProtobufAny, InteractionAddCollectResponse, InteractionBatchClearBrowseResponse, InteractionBatchDeleteCollectsResponse, InteractionBatchDeleteFoldersResponse, InteractionBatchGetCommentLikeStatusResponse, InteractionBatchGetFollowStatsResponse, InteractionBatchGetLikeStatusResponse, InteractionBatchQueryContentInteractionsResponse, InteractionBrowseItem, InteractionBrowseRecord, InteractionBrowseResponse, InteractionCancelDislikeResponse, InteractionCancelLikeResponse, InteractionCheckCollectResponse, InteractionCheckFollowResponse, InteractionCheckMutualFollowResponse, InteractionClearBrowseHistoryResponse, InteractionCollectInfo, InteractionCollectItem, InteractionContentInteraction, InteractionContentInteractionStatus, InteractionCreateFolderResponse, InteractionDeleteFolderResponse, InteractionDislikeResponse, InteractionEpisode, InteractionFolderInfo, InteractionFolderStats, InteractionFollowInfoItem, InteractionFollowResponse, InteractionFollowingContentItem, InteractionGetBrowseListResponse, InteractionGetContentDislikeListResponse, InteractionGetContentLikeListResponse, InteractionGetDislikeListResponse, InteractionGetFolderResponse, InteractionGetFolderStatsResponse, InteractionGetFollowStatsResponse, InteractionGetFollowerListResponse, InteractionGetFollowingContentListResponse, InteractionGetFollowingListResponse, InteractionGetFollowingUserUpdatesResponse, InteractionGetLikeListResponse, InteractionLikeInfo, InteractionLikeItem, InteractionLikeResponse, InteractionLikeStatusItem, InteractionListCollectsResponse, InteractionListFoldersResponse, InteractionMediaInfo, InteractionMoveCollectsResponse, InteractionPostInfo, InteractionRemoveCollectResponse, InteractionTrackEvent, InteractionUnfollowResponse, InteractionUnifiedBatchLikeDislikeResponse, InteractionUnifiedBatchLikeDislikeResult, InteractionUserBrief, InteractionVideoDetailNested, InteractionVideoInfo, InteractionVideoMedia, InteractionVideoTag, InternalReplayVideoDetailPrewarmData, InternalReplayVideoDetailPrewarmRequest, InternalReplayVideoDetailPrewarmResponse, InternalSyncVideoToESRequest, InternalSyncVideoToESResponse, PostApiCommerceCreatePaymentReqBody, PostApiCommerceCreatePaymentRes, PostApiCommerceGetPaymentMethodsReqBody, PostApiCommerceGetPaymentMethodsRes, PostApiCommercePaymentSuccessCallbackReqBody, PostApiCommercePaymentSuccessCallbackRes, PostApiCommerceRefundCallbackReqBody, PostApiCommerceRefundCallbackRes, PostApiCommunityAddContentToCollectionReqBody, PostApiCommunityAddContentToCollectionRes, PostApiCommunityBatchDeleteCollectionReqBody, PostApiCommunityBatchDeleteCollectionRes, PostApiCommunityCreateCollectionReqBody, PostApiCommunityCreateCollectionRes, PostApiCommunityCreateCommentReqBody, PostApiCommunityCreateCommentRes, PostApiCommunityDeleteCollectionReqBody, PostApiCommunityDeleteCollectionRes, PostApiCommunityDeleteCommentReqBody, PostApiCommunityDeleteCommentRes, PostApiCommunityDeleteContentReqBody, PostApiCommunityDeleteContentRes, PostApiCommunityDislikeCommentReqBody, PostApiCommunityDislikeCommentRes, PostApiCommunityGetUploadPresignedURLReqBody, PostApiCommunityGetUploadPresignedURLRes, PostApiCommunityLikeCommentReqBody, PostApiCommunityLikeCommentRes, PostApiCommunityMoveCollectionContentReqBody, PostApiCommunityMoveCollectionContentRes, PostApiCommunityPublishContentReqBody, PostApiCommunityPublishContentRes, PostApiCommunityRemoveContentFromCollectionReqBody, PostApiCommunityRemoveContentFromCollectionRes, PostApiCommunitySearchCurAccountFollowingUsersInfoReqBody, PostApiCommunitySearchCurAccountFollowingUsersInfoRes, PostApiCommunityShareContentReqBody, PostApiCommunityShareContentRes, PostApiCommunitySubscribeCollectionReqBody, PostApiCommunitySubscribeCollectionRes, PostApiCommunityUpdateCollectionReqBody, PostApiCommunityUpdateCollectionRes, PostApiCommunityUpdateContentReqBody, PostApiCommunityUpdateContentRes, PostApiCommunityUploadMediaReqBody, PostApiCommunityUploadMediaRes, PostApiContentBatchGetVideoDetailReqBody, PostApiContentBatchGetVideoDetailRes, PostApiContentGetMostPlayedVideoListReqBody, PostApiContentGetMostPlayedVideoListRes, PostApiContentGetNewstVideoListReqBody, PostApiContentGetNewstVideoListRes, PostApiContentGetPopularVideoListReqBody, PostApiContentGetPopularVideoListRes, PostApiContentGetTopRatedVideoListReqBody, PostApiContentGetTopRatedVideoListRes, PostApiContentMatchAdsReqBody, PostApiContentMatchAdsRes, PostApiInteractionAddCollectReqBody, PostApiInteractionAddCollectRes, PostApiInteractionBatchClearBrowseReqBody, PostApiInteractionBatchClearBrowseRes, PostApiInteractionBatchDeleteCollectsReqBody, PostApiInteractionBatchDeleteCollectsRes, PostApiInteractionBatchDeleteFoldersReqBody, PostApiInteractionBatchDeleteFoldersRes, PostApiInteractionBatchGetCommentLikeStatusReqBody, PostApiInteractionBatchGetCommentLikeStatusRes, PostApiInteractionBatchGetFollowStatsReqBody, PostApiInteractionBatchGetFollowStatsRes, PostApiInteractionBatchGetLikeStatusReqBody, PostApiInteractionBatchGetLikeStatusRes, PostApiInteractionBatchQueryContentInteractionsReqBody, PostApiInteractionBatchQueryContentInteractionsRes, PostApiInteractionBrowseReqBody, PostApiInteractionBrowseRes, PostApiInteractionCancelDislikeReqBody, PostApiInteractionCancelDislikeRes, PostApiInteractionCancelLikeReqBody, PostApiInteractionCancelLikeRes, PostApiInteractionCheckCollectReqBody, PostApiInteractionCheckCollectRes, PostApiInteractionCheckFollowReqBody, PostApiInteractionCheckFollowRes, PostApiInteractionClearBrowseHistoryReqBody, PostApiInteractionClearBrowseHistoryRes, PostApiInteractionCreateFolderReqBody, PostApiInteractionCreateFolderRes, PostApiInteractionDeleteBrowseRecordReqBody, PostApiInteractionDeleteBrowseRecordRes, PostApiInteractionDeleteFolderReqBody, PostApiInteractionDeleteFolderRes, PostApiInteractionDislikeCommentReqBody, PostApiInteractionDislikeCommentRes, PostApiInteractionDislikeReqBody, PostApiInteractionDislikeRes, PostApiInteractionFollowReqBody, PostApiInteractionFollowRes, PostApiInteractionLikeCommentReqBody, PostApiInteractionLikeCommentRes, PostApiInteractionLikeReqBody, PostApiInteractionLikeRes, PostApiInteractionMoveCollectsReqBody, PostApiInteractionMoveCollectsRes, PostApiInteractionRemoveCollectReqBody, PostApiInteractionRemoveCollectRes, PostApiInteractionTrackEventsBatchReqBody, PostApiInteractionTrackEventsBatchRes, PostApiInteractionUnfollowReqBody, PostApiInteractionUnfollowRes, PostApiInteractionUnifiedBatchLikeDislikeReqBody, PostApiInteractionUnifiedBatchLikeDislikeRes, PostApiInteractionUpdateFolderReqBody, PostApiInteractionUpdateFolderRes, PostApiInteractionUpdateFollowingContentUpdateTimeReqBody, PostApiInteractionUpdateFollowingContentUpdateTimeRes, PostApiUserEditUserInfoReqBody, PostApiUserEditUserInfoRes, PostApiUserLoginReqBody, PostApiUserLoginRes, PostApiUserRegisterByVerifyEmailCodeReqBody, PostApiUserRegisterByVerifyEmailCodeRes, PostApiUserRegisterReqBody, PostApiUserRegisterRes, PostApiUserResetForgetPasswordReqBody, PostApiUserResetForgetPasswordRes, PostApiUserResetPasswordReqBody, PostApiUserResetPasswordRes, PostApiUserSendEmailCodeReqBody, PostApiUserSendEmailCodeRes, PostApiUserSendForgetEmailCodeReqBody, PostApiUserSendForgetEmailCodeRes, PostApiUserSendResetPasswordEmailCodeReqBody, PostApiUserSendResetPasswordEmailCodeRes, PostApiUserUploadUserBgImageReqBody, PostApiUserUploadUserBgImageRes, PostApiUserUserFeedbackReqBody, PostApiUserUserFeedbackRes, PostApiUserUserPrivacySettingsReqBody, PostApiUserUserPrivacySettingsRes, PostApiUserVerifyEmailCodeReqBody, PostApiUserVerifyEmailCodeRes, PostApiUserVerifyForgetEmailCodeReqBody, PostApiUserVerifyForgetEmailCodeRes, PostApiUserVerifyResetPasswordEmailCodeReqBody, PostApiUserVerifyResetPasswordEmailCodeRes, Result, ResultCode, ResultGrpc, Status, UserGetGuestIdentityResponse, UserGetUserEditInfoResponse, UserGetUserInfoResponse, UserGetUserPrivacySettingsResponse, UserGetVisitorPermissionConfigResponse, UserLoginResponse, UserRegisterByVerifyEmailCodeResponse, UserRegisterResponse, UserViewUserInfoResponse };