@funhub/platform 0.2.7 → 0.2.8

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 (119) hide show
  1. package/dist/biz.d.mts +5 -5
  2. package/dist/biz.mjs +1 -1
  3. package/dist/components/biz/business/advertisement/ad-match.d.mts +4 -8
  4. package/dist/components/biz/business/advertisement/ad-match.mjs +1 -1
  5. package/dist/components/biz/business/advertisement/ad-provider.mjs +1 -1
  6. package/dist/components/biz/business/advertisement/ad-query.d.mts +2 -1
  7. package/dist/components/biz/business/advertisement/ad-query.mjs +1 -1
  8. package/dist/components/biz/business/advertisement/ad-runtime-provider.d.mts +2 -2
  9. package/dist/components/biz/business/advertisement/ad-runtime-provider.mjs +1 -1
  10. package/dist/components/biz/business/advertisement/banner-ad/client.mjs +1 -1
  11. package/dist/components/biz/business/advertisement/banner-ad/material.d.mts +3 -2
  12. package/dist/components/biz/business/advertisement/banner-ad/material.mjs +1 -1
  13. package/dist/components/biz/business/advertisement/banner-ad/schema.d.mts +6 -9
  14. package/dist/components/biz/business/advertisement/banner-ad/schema.mjs +1 -1
  15. package/dist/components/biz/business/advertisement/feed-ad/index.d.mts +31 -1
  16. package/dist/components/biz/business/advertisement/feed-ad/index.mjs +1 -1
  17. package/dist/components/biz/business/advertisement/floating-ad/client.d.mts +4 -4
  18. package/dist/components/biz/business/advertisement/floating-ad/client.mjs +1 -1
  19. package/dist/components/biz/business/advertisement/floating-ad/index.d.mts +1 -1
  20. package/dist/components/biz/business/advertisement/floating-ad/material.d.mts +0 -5
  21. package/dist/components/biz/business/advertisement/floating-ad/schema.d.mts +10 -21
  22. package/dist/components/biz/business/advertisement/floating-ad/schema.mjs +1 -1
  23. package/dist/components/biz/business/advertisement/icon-ad/client.mjs +1 -1
  24. package/dist/components/biz/business/advertisement/icon-ad/material.d.mts +2 -1
  25. package/dist/components/biz/business/advertisement/icon-ad/material.mjs +1 -1
  26. package/dist/components/biz/business/advertisement/icon-ad/schema.d.mts +2 -7
  27. package/dist/components/biz/business/advertisement/icon-ad/schema.mjs +1 -1
  28. package/dist/components/biz/business/advertisement/index.d.mts +4 -4
  29. package/dist/components/biz/business/advertisement/popup-ad/client.mjs +3 -3
  30. package/dist/components/biz/business/advertisement/popup-ad/index.d.mts +1 -1
  31. package/dist/components/biz/business/advertisement/popup-ad/material.d.mts +2 -2
  32. package/dist/components/biz/business/advertisement/popup-ad/schema.d.mts +15 -14
  33. package/dist/components/biz/business/advertisement/popup-ad/schema.mjs +1 -1
  34. package/dist/components/biz/business/advertisement/text-ad/client.mjs +1 -1
  35. package/dist/components/biz/business/advertisement/text-ad/material.d.mts +2 -1
  36. package/dist/components/biz/business/advertisement/text-ad/material.mjs +1 -1
  37. package/dist/components/biz/business/advertisement/text-ad/schema.d.mts +3 -5
  38. package/dist/components/biz/business/advertisement/text-ad/schema.mjs +1 -1
  39. package/dist/components/biz/business/detail/shared/runtime-context-provider.mjs +1 -1
  40. package/dist/components/biz/business/detail/shared/video-hero.mjs +1 -1
  41. package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.mjs +1 -1
  42. package/dist/components/biz/business/header-search/shared/logo.mjs +1 -1
  43. package/dist/components/biz/business/home-recommend/home-recommend-grid/client.mjs +1 -1
  44. package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.d.mts +24 -4
  45. package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.mjs +1 -1
  46. package/dist/components/biz/business/home-recommend/home-recommend-grid/material.d.mts +22 -2
  47. package/dist/components/biz/business/home-recommend/home-recommend-grid/server.mjs +1 -1
  48. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/client.mjs +1 -1
  49. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.d.mts +24 -4
  50. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.mjs +1 -1
  51. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/material.d.mts +22 -2
  52. package/dist/components/biz/business/home-recommend/home-recommend-waterfall/server.mjs +1 -1
  53. package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +1 -1
  54. package/dist/components/biz/business/home-recommend/shared/home-recommend-default-config.mjs +1 -1
  55. package/dist/components/biz/business/home-recommend/shared/home-recommend-preview.mjs +1 -1
  56. package/dist/components/biz/business/home-recommend/shared/home-recommend-runtime-props.mjs +1 -1
  57. package/dist/components/biz/business/home-recommend/shared/home-recommend-server-data.mjs +1 -1
  58. package/dist/components/biz/business/home-recommend/shared/home-recommend-smart-layout.mjs +2 -0
  59. package/dist/components/biz/business/hot-recommend/client.mjs +1 -1
  60. package/dist/components/biz/business/hot-recommend/material.d.mts +1 -0
  61. package/dist/components/biz/business/hot-recommend/schema.d.mts +1 -0
  62. package/dist/components/biz/business/hot-recommend/schema.mjs +1 -1
  63. package/dist/components/biz/business/image-text-recommend/client.d.mts +1 -1
  64. package/dist/components/biz/business/image-text-recommend/client.mjs +1 -1
  65. package/dist/components/biz/business/image-text-recommend/material.d.mts +7 -7
  66. package/dist/components/biz/business/image-text-recommend/schema.d.mts +30 -25
  67. package/dist/components/biz/business/image-text-recommend/schema.mjs +1 -1
  68. package/dist/components/biz/business/image-text-recommend/server.mjs +1 -1
  69. package/dist/components/biz/business/image-text-recommend/shared/query.mjs +1 -1
  70. package/dist/components/biz/business/index.d.mts +4 -4
  71. package/dist/components/biz/business/large-feature-grid/schema.mjs +1 -1
  72. package/dist/components/biz/business/marquee/client.mjs +1 -1
  73. package/dist/components/biz/business/marquee/material.d.mts +5 -6
  74. package/dist/components/biz/business/marquee/schema.d.mts +5 -6
  75. package/dist/components/biz/business/marquee/schema.mjs +1 -1
  76. package/dist/components/biz/business/tab-bar/client.d.mts +2 -0
  77. package/dist/components/biz/business/tab-bar/client.mjs +1 -1
  78. package/dist/components/biz/business/text-recommend/client.mjs +1 -1
  79. package/dist/components/biz/business/text-recommend/material.d.mts +1 -0
  80. package/dist/components/biz/business/text-recommend/schema.d.mts +1 -0
  81. package/dist/components/biz/business/text-recommend/schema.mjs +1 -1
  82. package/dist/components/common/video-player/index.d.mts +2 -1
  83. package/dist/components/common/video-player/video-blind-ad-overlay.mjs +2 -0
  84. package/dist/components/common/video-player/video-player-ref-context.mjs +2 -0
  85. package/dist/components/ui/badge.d.mts +1 -1
  86. package/dist/components/ui/button.d.mts +1 -1
  87. package/dist/components/ui/image.d.mts +4 -4
  88. package/dist/hooks/use-is-client.d.mts +10 -0
  89. package/dist/hooks/use-is-client.mjs +2 -0
  90. package/dist/hooks.d.mts +2 -1
  91. package/dist/hooks.mjs +1 -1
  92. package/dist/service/generated/client.d.mts +10 -2
  93. package/dist/service/generated/client.mjs +1 -1
  94. package/dist/service/generated/tanstack.d.mts +12 -2
  95. package/dist/service/generated/tanstack.mjs +1 -1
  96. package/dist/service.d.mts +3 -3
  97. package/dist/service.mjs +1 -1
  98. package/dist/store/modules/blind-spot-ad-store.d.mts +116 -0
  99. package/dist/store/modules/blind-spot-ad-store.mjs +2 -0
  100. package/dist/store/modules/user-store.d.mts +1 -1
  101. package/dist/store/modules/user-store.mjs +1 -1
  102. package/dist/store/modules/video-player-ref-store.d.mts +21 -0
  103. package/dist/store/modules/video-player-ref-store.mjs +2 -0
  104. package/dist/store.d.mts +3 -1
  105. package/dist/store.mjs +1 -1
  106. package/dist/types.d.mts +171 -1
  107. package/dist/utils/browser-fingerprint.d.mts +13 -0
  108. package/dist/utils/browser-fingerprint.mjs +2 -0
  109. package/dist/utils/device-id.d.mts +2 -2
  110. package/dist/utils/device-id.mjs +1 -1
  111. package/dist/utils/http.mjs +1 -1
  112. package/dist/utils/request-user-id.d.mts +12 -0
  113. package/dist/utils/request-user-id.mjs +2 -0
  114. package/dist/utils/schema/inspector.d.mts +2 -2
  115. package/dist/utils.d.mts +3 -1
  116. package/dist/utils.mjs +1 -1
  117. package/package.json +2 -1
  118. package/dist/assets/icons/search/video.mjs +0 -2
  119. package/dist/components/biz/business/marquee/marquee.module.mjs +0 -24
package/dist/types.d.mts CHANGED
@@ -1466,6 +1466,7 @@ type ContentShowVideoInfo = {
1466
1466
  * 广告扩展数据
1467
1467
  */
1468
1468
  ad_ext_data?: string;
1469
+ ad?: ContentFeedAdInfo;
1469
1470
  };
1470
1471
  /**
1471
1472
  * 标签对象
@@ -4122,6 +4123,7 @@ type ContentMatchAdsResponse = {
4122
4123
  * 广告匹配素材(精简字段)
4123
4124
  */
4124
4125
  materials?: ContentMatchAdMaterial[];
4126
+ settings?: ContentMatchAdSettings;
4125
4127
  };
4126
4128
  type CommunityBatchDeleteCollectionResponse = {
4127
4129
  /**
@@ -4178,6 +4180,134 @@ type ContentMatchAdMaterial = {
4178
4180
  */
4179
4181
  ad_ext_data?: string;
4180
4182
  };
4183
+ /**
4184
+ * 信息流广告信息(仅在 ShowVideoInfo.is_ad=true 时返回)
4185
+ */
4186
+ type ContentFeedAdInfo = {
4187
+ /**
4188
+ * 广告业务编码
4189
+ */
4190
+ ad_code?: string;
4191
+ /**
4192
+ * 广告跳转地址
4193
+ */
4194
+ ad_advertise_url?: string;
4195
+ /**
4196
+ * 广告图片地址
4197
+ */
4198
+ ad_advertise_icon?: string;
4199
+ /**
4200
+ * 广告类型枚举
4201
+ */
4202
+ ad_advertise_type?: number;
4203
+ /**
4204
+ * 广告描述
4205
+ */
4206
+ ad_advertise_desc?: string;
4207
+ /**
4208
+ * 广告开始时间戳(毫秒)
4209
+ */
4210
+ ad_start_time?: number;
4211
+ /**
4212
+ * 广告结束时间戳(毫秒)
4213
+ */
4214
+ ad_end_time?: number;
4215
+ /**
4216
+ * 广告扩展数据
4217
+ */
4218
+ ad_ext_data?: string;
4219
+ };
4220
+ /**
4221
+ * 最热视频列表响应
4222
+ */
4223
+ type ContentGetMostPlayedVideoListResponse = {
4224
+ /**
4225
+ * 视频信息(用于首页列表)
4226
+ */
4227
+ videos?: ContentShowVideoInfo[];
4228
+ /**
4229
+ * 下一页游标
4230
+ */
4231
+ cursor?: string;
4232
+ };
4233
+ /**
4234
+ * 广告配置 settings
4235
+ */
4236
+ type ContentMatchAdSettings = {
4237
+ /**
4238
+ * 热启动间隔(分钟)
4239
+ */
4240
+ hot_start_interval_min?: number;
4241
+ /**
4242
+ * 跳过秒数
4243
+ */
4244
+ skip_seconds?: number;
4245
+ /**
4246
+ * 每日最大展示次数
4247
+ */
4248
+ daily_max_show?: number;
4249
+ /**
4250
+ * 触发视频进度(分钟)
4251
+ */
4252
+ trigger_video_progress_min?: number;
4253
+ /**
4254
+ * 返回广告数量
4255
+ */
4256
+ show_count?: number;
4257
+ /**
4258
+ * 信息流插入间隔
4259
+ */
4260
+ feed_insert_interval?: number;
4261
+ /**
4262
+ * 停留时长(秒)
4263
+ */
4264
+ stay_seconds?: number;
4265
+ /**
4266
+ * 配置宽度
4267
+ */
4268
+ advertise_width?: number;
4269
+ /**
4270
+ * 配置高度
4271
+ */
4272
+ advertise_height?: number;
4273
+ };
4274
+ /**
4275
+ * 获取访客权限配置响应
4276
+ */
4277
+ type UserGetVisitorPermissionConfigResponse = {
4278
+ /**
4279
+ * 权限配置
4280
+ */
4281
+ permission_config?: {
4282
+ [key: string]: string;
4283
+ };
4284
+ };
4285
+ /**
4286
+ * 将单个视频同步到 Elasticsearch
4287
+ */
4288
+ type InternalSyncVideoToESRequest = {
4289
+ /**
4290
+ * 视频/专辑 ID
4291
+ */
4292
+ video_id?: string;
4293
+ };
4294
+ /**
4295
+ * 同步单个视频到 Elasticsearch 响应
4296
+ */
4297
+ type InternalSyncVideoToESResponse = {
4298
+ /**
4299
+ * 响应码,0 表示成功
4300
+ */
4301
+ code?: number;
4302
+ /**
4303
+ * 响应消息
4304
+ */
4305
+ message?: string;
4306
+ /**
4307
+ * 响应数据
4308
+ */
4309
+ data?: unknown;
4310
+ };
4181
4311
  type PostApiCommunityPublishContentReqBody = {
4182
4312
  /**
4183
4313
  * 正文内容
@@ -5113,6 +5243,32 @@ type PostApiContentMatchAdsRes = {
5113
5243
  message?: string;
5114
5244
  data: ContentMatchAdsResponse;
5115
5245
  };
5246
+ type PostApiContentGetMostPlayedVideoListReqBody = {
5247
+ /**
5248
+ * 游标,首次为空或不传
5249
+ */
5250
+ cursor?: string;
5251
+ /**
5252
+ * 每页数量
5253
+ */
5254
+ page_size?: number;
5255
+ /**
5256
+ * 标签列表筛选
5257
+ */
5258
+ tags?: string[];
5259
+ /**
5260
+ * 分类ID列表筛选(批量)
5261
+ */
5262
+ cat_ids?: string[];
5263
+ };
5264
+ type PostApiContentGetMostPlayedVideoListRes = {
5265
+ code?: ResultCode;
5266
+ /**
5267
+ * 响应消息
5268
+ */
5269
+ message?: string;
5270
+ data: ContentGetMostPlayedVideoListResponse;
5271
+ };
5116
5272
  type GetApiContentProcessM3u8Query = {
5117
5273
  /**
5118
5274
  * m3u8地址
@@ -6734,6 +6890,20 @@ type PostApiUserRegisterByVerifyEmailCodeRes = {
6734
6890
  message?: string;
6735
6891
  data: UserRegisterByVerifyEmailCodeResponse;
6736
6892
  };
6893
+ type GetApiUserGetVisitorPermissionConfigQuery = {
6894
+ /**
6895
+ * User id
6896
+ */
6897
+ user_id?: string;
6898
+ };
6899
+ type GetApiUserGetVisitorPermissionConfigRes = {
6900
+ code?: ResultCode;
6901
+ /**
6902
+ * 响应消息
6903
+ */
6904
+ message?: string;
6905
+ data: UserGetVisitorPermissionConfigResponse;
6906
+ };
6737
6907
  type PostApiCommerceCreatePaymentReqBody = {
6738
6908
  /**
6739
6909
  * 支付类型:alipay/wechat/union/usdt/dyhbPay/digitalRmb
@@ -6874,4 +7044,4 @@ type PostApiCommerceRefundCallbackRes = {
6874
7044
  data: CommerceRefundCallbackResponse;
6875
7045
  };
6876
7046
  //#endregion
6877
- 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, ContentFloatingBallInfo, ContentGeoConfig, ContentGeoFaq, ContentGetAdvertiseByCodeResponse, ContentGetAppChannelBlockDataResponse, ContentGetAppChannelBlockResponse, ContentGetAppChannelsResponse, ContentGetAppComponentResponse, ContentGetGuessYouLikeVideosResponse, ContentGetHotVideoListResponse, ContentGetNewstVideoListResponse, ContentGetPopularVideoListResponse, ContentGetRecommendSearchListResponse, ContentGetRecommendVideoListResponse, ContentGetSeoConfigResponse, ContentGetTopRatedVideoListResponse, ContentGetVideoDetailByApiResponse, ContentGetVideoDetailResponse, ContentHotVideoInfo, ContentListVisibleFloatingBallResponse, ContentMatchAdMaterial, 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, 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, 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, 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, UserLoginResponse, UserRegisterByVerifyEmailCodeResponse, UserRegisterResponse, UserViewUserInfoResponse };
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 };
@@ -0,0 +1,13 @@
1
+
2
+ //#region utils/browser-fingerprint.d.ts
3
+ /**
4
+ * 获取或生成浏览器指纹。
5
+ *
6
+ * 说明:
7
+ * - 优先复用内存与 localStorage 中的已生成值,避免重复加载 SDK。
8
+ * - 使用 FingerprintJS 官方 SDK 生成 `visitorId`。
9
+ * - SDK 失败或不可用时,降级为本地 UUID,避免阻塞游客身份初始化。
10
+ */
11
+ declare function getOrCreateBrowserFingerprint(force?: boolean): Promise<string>;
12
+ //#endregion
13
+ export { getOrCreateBrowserFingerprint };
@@ -0,0 +1,2 @@
1
+
2
+ import{generateUUID as e,isClient as t}from"./common.mjs";const n=`funhub-browser-fingerprint`;let r=``,i=null;async function a(a=!1){if(!t())return``;if(!a&&r)return r;try{if(!a){let e=window.localStorage.getItem(n);if(e&&e.trim().length>=8)return r=e.trim(),r}}catch{}return(!i||a)&&(i=o().then(t=>{let i=t||e();r=i;try{window.localStorage.setItem(n,i)}catch{}return i}).finally(()=>{i=null})),await i}async function o(){try{let e=await(await(await import(`@fingerprintjs/fingerprintjs`)).default.load()).get();return String(e.visitorId||``).trim()}catch(e){return console.warn(`[browser-fingerprint] load fingerprint failed`,e),``}}export{a as getOrCreateBrowserFingerprint};
@@ -4,11 +4,11 @@
4
4
  * 获取或生成设备标识(仅客户端)。
5
5
  *
6
6
  * - 优先从 localStorage 读取(同一浏览器会话可稳定复用)。
7
- * - 未命中时生成浏览器指纹(哈希)并写回。
7
+ * - 未命中时使用 FingerprintJS 生成浏览器指纹并写回。
8
8
  * - 若指纹生成失败(极端环境/策略限制),降级为 `generateUUID()`。
9
9
  *
10
10
  * 注意:该值用于请求头 `x-device-id`,不应在服务端调用。
11
11
  */
12
- declare function getOrCreateDeviceId(): string;
12
+ declare function getOrCreateDeviceId(): Promise<string>;
13
13
  //#endregion
14
14
  export { getOrCreateDeviceId };
@@ -1,2 +1,2 @@
1
1
 
2
- import{generateUUID as e,isClient as t}from"./common.mjs";import n from"crypto-js";const r=`funhub-device-id`;function i(){if(!t())return``;try{let t=window.localStorage.getItem(r);if(t&&t.trim().length>=8)return t.trim();let n=a()||e();return window.localStorage.setItem(r,n),n}catch{return e()}}function a(){try{let e=o(),t=JSON.stringify(e);return n.SHA256(t).toString(n.enc.Hex)}catch(e){return console.warn(`[device-id] build fingerprint failed`,e),``}}function o(){return{navigator:s(),screen:c(),time:l(),canvas:u(),webgl:d()}}function s(){let e=typeof navigator<`u`?navigator:void 0;if(!e)return{};let t=Array.isArray(e.languages)?e.languages:[],n=e.platform,r=e.deviceMemory;return{userAgent:String(e.userAgent||``),language:String(e.language||``),languages:t.map(e=>String(e||``)),platform:typeof n==`string`?n:``,cookieEnabled:!!e.cookieEnabled,doNotTrack:String(e.doNotTrack??``),hardwareConcurrency:Number(e.hardwareConcurrency??0)||0,deviceMemory:Number(r??0)||0,maxTouchPoints:Number(e.maxTouchPoints??0)||0}}function c(){let e=typeof screen<`u`?screen:void 0;return{width:e?.width??0,height:e?.height??0,availWidth:e?.availWidth??0,availHeight:e?.availHeight??0,colorDepth:e?.colorDepth??0,pixelDepth:e?.pixelDepth??0,devicePixelRatio:typeof window<`u`?window.devicePixelRatio??1:1}}function l(){return{timezone:(()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||``}catch{return``}})(),timezoneOffset:new Date().getTimezoneOffset()}}function u(){try{if(typeof document>`u`)return``;let e=document.createElement(`canvas`);e.width=320,e.height=160;let t=e.getContext(`2d`);if(!t)return``;t.fillStyle=`#f3f4f6`,t.fillRect(0,0,e.width,e.height),t.textBaseline=`top`,t.font=`16px Arial`,t.fillStyle=`#111827`,t.fillText(`funhub:device-id`,12,12),t.fillStyle=`#ef4444`,t.fillText(`canvas-fp`,13,13),t.globalCompositeOperation=`multiply`,t.fillStyle=`rgba(59, 130, 246, 0.7)`,t.beginPath(),t.arc(240,70,28,0,Math.PI*2),t.closePath(),t.fill(),t.fillStyle=`rgba(34, 197, 94, 0.7)`,t.fillRect(210,88,60,32);let r=e.toDataURL();return n.MD5(r).toString(n.enc.Hex)}catch{return``}}function d(){try{if(typeof document>`u`)return``;let e=document.createElement(`canvas`),t=e.getContext(`webgl`)||e.getContext(`experimental-webgl`);if(!t)return``;let r=t.getExtension(`WEBGL_debug_renderer_info`),i=r?t.getParameter(r.UNMASKED_VENDOR_WEBGL):``,a=r?t.getParameter(r.UNMASKED_RENDERER_WEBGL):``,o={vendor:String(t.getParameter(t.VENDOR)||``),renderer:String(t.getParameter(t.RENDERER)||``),version:String(t.getParameter(t.VERSION)||``),shadingLanguageVersion:String(t.getParameter(t.SHADING_LANGUAGE_VERSION)||``),unmaskedVendor:String(i||``),unmaskedRenderer:String(a||``),maxTextureSize:Number(t.getParameter(t.MAX_TEXTURE_SIZE)??0)||0,maxCubeMapTextureSize:Number(t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE)??0)||0};return n.MD5(JSON.stringify(o)).toString(n.enc.Hex)}catch{return``}}export{i as getOrCreateDeviceId};
2
+ import{generateUUID as e,isClient as t}from"./common.mjs";import{getOrCreateBrowserFingerprint as n}from"./browser-fingerprint.mjs";const r=`funhub-device-id`;let i=``;async function a(){if(!t())return``;if(i)return i;try{let t=window.localStorage.getItem(r);if(t&&t.trim().length>=8)return i=t.trim(),i;let a=await n()||e();return i=a,window.localStorage.setItem(r,a),a}catch{return i||=e(),i}}export{a as getOrCreateDeviceId};
@@ -1,2 +1,2 @@
1
1
 
2
- import{getCookie as e,isClient as t}from"./common.mjs";import{getOrCreateDeviceId as n}from"./device-id.mjs";import{useBlockedModalStore as r}from"../store/modules/blocked-modal-store.mjs";import{useUserStore as i}from"../store/modules/user-store.mjs";import{toast as a}from"sonner";const o=process.env.NEXT_PUBLIC_API_BASE||``;let s=!1,c=!1,l=null;var u=class extends Error{constructor(e,t,n){super(t),this.status=e,this.response=n}};function d(e){if(!e)return``;let t=new URLSearchParams;Object.entries(e).forEach(([e,n])=>{n!=null&&t.append(e,String(n))});let n=t.toString();return n?`?${n}`:``}function f(e=1e4,t){let n=new AbortController,r=setTimeout(()=>n.abort(),e);return t&&t.addEventListener(`abort`,()=>n.abort()),{signal:n.signal,clear:()=>clearTimeout(r)}}function p(){t()&&(c||(c=!0,i.getState().logout(),setTimeout(()=>{c=!1},1e3)))}var m=class{constructor(){this.baseURL=o,this.defaultConfig={method:`GET`,timeout:1e4,cache:`default`}}async buildHeaders(e){return{"Content-Type":`application/json`,...e}}buildURL(e,t){return`${e.startsWith(`http`)?e:`${this.baseURL}${e.startsWith(`/`)?``:`/`}${e}`}${d(t)}`}async executeOnce(o){let{url:c,method:d=`GET`,data:m,params:h,timeout:g,cache:_,revalidate:v,tags:y,signal:b}=o,x=await this.buildHeaders(o.headers),S=``,C=d===`GET`||d===`HEAD`;if(t()){if(!x[`x-device-id`]){let e=n();e&&(x[`x-device-id`]=e)}S=await e(`token`);let t=await e(`userId`);if(S&&(x.Authorization=`Bearer ${S}`),t&&(x[`X-User-Id`]=t),l?.token&&l.token!==S&&(l=null),S&&l?.token===S)throw p(),new u(403,`账号已被封禁`,{code:403,message:`账号已被封禁`,data:{blocked_remark:l.blockedRemark,blocked_end_time:l.blockedEndTime}})}let w;!C&&m!==void 0&&(m instanceof FormData?(delete x[`Content-Type`],w=m):w=JSON.stringify(m));let{signal:T,clear:E}=f(g,b),D=this.buildURL(c,h);try{let e=await fetch(D,{method:d,headers:x,body:w,cache:_,signal:T,next:{revalidate:v??0,tags:y}}),n=e.status===401||e.status===403;if(!e.ok&&!n)throw new u(e.status,e.statusText,await e.text());let o=await e.json(),c=n&&e.status===401||o?.code===401,f=n&&e.status===403||o?.code===403;if(c)if(t())s||(s=!0,a.error(`登录已过期,请重新登录`),i.getState().logout(),setTimeout(()=>{s=!1},3e3));else throw new u(o.code,o.message,o);if(f){let e=typeof o?.data?.blocked_remark==`string`?o.data.blocked_remark:``,n=Number(o?.data?.blocked_end_time),i={blockedRemark:e,blockedEndTime:Number.isFinite(n)&&n>0?Math.floor(n):0};if(t()){let e=S,t=l?.token===e;e&&(l={token:e,...i}),t||r.getState().open(i),p()}throw new u(o.code,o.message,o)}if(o.code!==0)throw new u(o.code,o.message,o);return o}finally{E()}}async request(e){let t={...this.defaultConfig,...e};return await this.executeOnce(t)}get(e,t){return this.request({...t,method:`GET`,url:e})}post(e,t){return this.request({...t,method:`POST`,url:e})}put(e,t){return this.request({...t,method:`PUT`,url:e})}delete(e,t){return this.request({...t,method:`DELETE`,url:e})}patch(e,t){return this.request({...t,method:`PATCH`,url:e})}};const h=new m;export{m as HttpClient,u as HttpError,h as default};
2
+ import{getCookie as e,isClient as t}from"./common.mjs";import{getOrCreateDeviceId as n}from"./device-id.mjs";import{useBlockedModalStore as r}from"../store/modules/blocked-modal-store.mjs";import{useUserStore as i}from"../store/modules/user-store.mjs";import{resolveRequestUserId as a}from"./request-user-id.mjs";import{toast as o}from"sonner";const s=process.env.NEXT_PUBLIC_API_BASE||``;let c=!1,l=!1,u=null;var d=class extends Error{constructor(e,t,n){super(t),this.status=e,this.response=n}};function f(e){if(!e)return``;let t=new URLSearchParams;Object.entries(e).forEach(([e,n])=>{n!=null&&t.append(e,String(n))});let n=t.toString();return n?`?${n}`:``}function p(e=1e4,t){let n=new AbortController,r=setTimeout(()=>n.abort(),e);return t&&t.addEventListener(`abort`,()=>n.abort()),{signal:n.signal,clear:()=>clearTimeout(r)}}function m(){t()&&(l||(l=!0,i.getState().logout(),setTimeout(()=>{l=!1},1e3)))}var h=class{constructor(){this.baseURL=s,this.defaultConfig={method:`GET`,timeout:1e4,cache:`default`}}async buildHeaders(e){return{"Content-Type":`application/json`,...e}}buildURL(e,t){return`${e.startsWith(`http`)?e:`${this.baseURL}${e.startsWith(`/`)?``:`/`}${e}`}${f(t)}`}async executeOnce(s){let{url:l,method:f=`GET`,data:h,params:g,timeout:_,cache:v,revalidate:y,tags:b,signal:x}=s,S=await this.buildHeaders(s.headers),C=``,w=f===`GET`||f===`HEAD`;if(t()&&!S[`x-device-id`]){let e=await n();e&&(S[`x-device-id`]=e)}C=await e(`token`);let T=await e(`userId`),E=await e(`guestUserId`);C&&(S.Authorization=`Bearer ${C}`);let D=a(T,E);if(D&&(S[`x-user-id`]=D),t()&&(u?.token&&u.token!==C&&(u=null),C&&u?.token===C))throw m(),new d(403,`账号已被封禁`,{code:403,message:`账号已被封禁`,data:{blocked_remark:u.blockedRemark,blocked_end_time:u.blockedEndTime}});let O;!w&&h!==void 0&&(h instanceof FormData?(delete S[`Content-Type`],O=h):O=JSON.stringify(h));let{signal:k,clear:A}=p(_,x),j=this.buildURL(l,g);try{let e=await fetch(j,{method:f,headers:S,body:O,cache:v,signal:k,next:{revalidate:y??0,tags:b}}),n=e.status===401||e.status===403;if(!e.ok&&!n)throw new d(e.status,e.statusText,await e.text());let a=await e.json(),s=n&&e.status===401||a?.code===401,l=n&&e.status===403||a?.code===403;if(s)if(t())c||(c=!0,o.error(`登录已过期,请重新登录`),i.getState().logout(),setTimeout(()=>{c=!1},3e3));else throw new d(a.code,a.message,a);if(l){let e=typeof a?.data?.blocked_remark==`string`?a.data.blocked_remark:``,n=Number(a?.data?.blocked_end_time),i={blockedRemark:e,blockedEndTime:Number.isFinite(n)&&n>0?Math.floor(n):0};if(t()){let e=C,t=u?.token===e;e&&(u={token:e,...i}),t||r.getState().open(i),m()}throw new d(a.code,a.message,a)}if(a.code!==0)throw new d(a.code,a.message,a);return a}finally{A()}}async request(e){let t={...this.defaultConfig,...e};return await this.executeOnce(t)}get(e,t){return this.request({...t,method:`GET`,url:e})}post(e,t){return this.request({...t,method:`POST`,url:e})}put(e,t){return this.request({...t,method:`PUT`,url:e})}delete(e,t){return this.request({...t,method:`DELETE`,url:e})}patch(e,t){return this.request({...t,method:`PATCH`,url:e})}};const g=new h;export{h as HttpClient,d as HttpError,g as default};
@@ -0,0 +1,12 @@
1
+
2
+ //#region utils/request-user-id.d.ts
3
+ /**
4
+ * 解析请求头中应使用的用户标识。
5
+ *
6
+ * 规则:
7
+ * - 登录态优先使用 `userId`。
8
+ * - 未登录时回退到 `guestUserId`。
9
+ */
10
+ declare function resolveRequestUserId(userId?: string, guestUserId?: string): string;
11
+ //#endregion
12
+ export { resolveRequestUserId };
@@ -0,0 +1,2 @@
1
+
2
+ function e(e,t){return(typeof e==`string`?e.trim():``)||(typeof t==`string`?t.trim():``)}export{e as resolveRequestUserId};
@@ -6,10 +6,10 @@ type InspectorFieldOption<T> = Omit<T, 'type'>;
6
6
  declare const stringInspectorFieldSchema: z.ZodObject<{
7
7
  type: z.ZodLiteral<"string">;
8
8
  fieldType: z.ZodOptional<z.ZodEnum<{
9
- select: "select";
10
9
  input: "input";
11
10
  textarea: "textarea";
12
11
  color: "color";
12
+ select: "select";
13
13
  }>>;
14
14
  defaultValue: z.ZodOptional<z.ZodString>;
15
15
  label: z.ZodOptional<z.ZodString>;
@@ -68,10 +68,10 @@ type ObjectInspectorFieldOption = InspectorFieldOption<z.infer<typeof objectInsp
68
68
  declare const componentInspectorFieldMetaSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
69
69
  type: z.ZodLiteral<"string">;
70
70
  fieldType: z.ZodOptional<z.ZodEnum<{
71
- select: "select";
72
71
  input: "input";
73
72
  textarea: "textarea";
74
73
  color: "color";
74
+ select: "select";
75
75
  }>>;
76
76
  defaultValue: z.ZodOptional<z.ZodString>;
77
77
  label: z.ZodOptional<z.ZodString>;
package/dist/utils.d.mts CHANGED
@@ -1,4 +1,5 @@
1
1
 
2
+ import { getOrCreateBrowserFingerprint } from "./utils/browser-fingerprint.mjs";
2
3
  import { clearMyChannelsFromStorage, loadHiddenChannelIdsFromStorage, loadMyChannelsFromStorage, saveHiddenChannelIdsToStorage } from "./utils/channel-storage.mjs";
3
4
  import { cn } from "./utils/cn.mjs";
4
5
  import { debounceFun, formatVideoDuration, generateDynamicSign, generateUUID, getAtUserElement, getCookie, getCurrentSecondTime, getUserId, hashPassword, isClient, isMobileDevice, numToString, parseResolution, parseTextAtUserIds, randomString, removeCookie, replaceAtUserElement, replaceAtUserElementHtmlStr, secondToTime, setCookie, stringToNumber, stripHtmlTags, updateUrlParams } from "./utils/common.mjs";
@@ -18,8 +19,9 @@ import "./utils/schema/index.mjs";
18
19
  import { components, loadComponent, rewriteComponent } from "./utils/loaders.mjs";
19
20
  import { createInputAndSelectFile, getCoverImage, getImageResolutionFromFile } from "./utils/media.mjs";
20
21
  import { PASSWORD_ALLOWED_SPECIAL_CHARS, PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PasswordValidationResult, PasswordValidationType, getFirstInvalidPasswordChar, getPasswordCharacterTypeCount, getPasswordValidationErrorText, validatePasswordPair } from "./utils/password-validator.mjs";
22
+ import { resolveRequestUserId } from "./utils/request-user-id.mjs";
21
23
  import { PresignedUploadInfo, UploadToS3Options, UploadToS3Result, uploadToS3WithPresignedUrl } from "./utils/s3-uploader.mjs";
22
24
  import { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToNumberArray } from "./utils/uint8.mjs";
23
25
  import { UploadFileResult, encryptBncBuffer, uploadFile } from "./utils/upload-file.mjs";
24
26
  import { CompatibleRouter, useRouter } from "./utils/use-compatible-router.mjs";
25
- export { CompatibleRouter, ComponentPropsSchemaBuilderHelpers, DefineMaterialOption, eventBus as EventBus, HttpClient, HttpError, INSPECTOR_META_KEY, ImageCompressionQualityRule, InferSchemaProps, MaterialCategory, MaterialComponentMode, MaterialComponentProps, MaterialMap, OverwriteMaterialOption, PASSWORD_ALLOWED_SPECIAL_CHARS, PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PasswordValidationResult, PasswordValidationType, PresignedUploadInfo, RequestConfig, RequestMethod, ResponseData, SchemaHasDefaultValue, UploadFileResult, UploadToS3Options, UploadToS3Result, array, base64ToUint8Array, boolean, checkFollowStatus, clearMyChannelsFromStorage, cn, components, compressImage, createInputAndSelectFile, datetime, debounceFun, decryptImageToArrayBuffer, decryptImageToUint8Array, decryptImageUrl, defaultImageCompressionMaxSizeMB, defaultImageCompressionQuality, defineComponentPropsSchema, defineMaterial, disablePageScroll, enablePageScroll, encryptBncBuffer, enumSchema as enum, enumSchema, followUser, formatVideoDuration, generateDynamicSign, generateMaterialMap, generateMaterialMapGroupByCategory, generateUUID, getAppId, getAtUserElement, getCookie, getCoverImage, getCurrentSecondTime, getCurrentUserId, getFirstInvalidPasswordChar, getImageCompressionQuality, getImageResolutionFromFile, getOrCreateDeviceId, getPasswordCharacterTypeCount, getPasswordValidationErrorText, getResUrl, getSchemaDefaultProps, getUserId, guessImageContentTypeFromUrl, hashPassword, httpClient, imageCompressionQualityRules, isClient, isEncryptedImageUrl, isMobileDevice, isValidEmail, loadComponent, loadHiddenChannelIdsFromStorage, loadMyChannelsFromStorage, normalizeClassName, numToString, number, object, overwriteMaterial, parseResolution, parseTextAtUserIds, pxToVw, randomString, removeCookie, replaceAtUserElement, replaceAtUserElementHtmlStr, resolveImageUrl, rewriteComponent, saveHiddenChannelIdsToStorage, secondToTime, setCookie, shouldProbeImageUrl, shouldUseApiResDirectly, string, stringToNumber, stripHtmlTags, timeRange, uint8ArrayToBase64, uint8ArrayToNumberArray, unfollowUser, updateUrlParams, uploadFile, uploadToS3WithPresignedUrl, useRouter, validatePasswordPair, withInspectorMeta };
27
+ export { CompatibleRouter, ComponentPropsSchemaBuilderHelpers, DefineMaterialOption, eventBus as EventBus, HttpClient, HttpError, INSPECTOR_META_KEY, ImageCompressionQualityRule, InferSchemaProps, MaterialCategory, MaterialComponentMode, MaterialComponentProps, MaterialMap, OverwriteMaterialOption, PASSWORD_ALLOWED_SPECIAL_CHARS, PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PasswordValidationResult, PasswordValidationType, PresignedUploadInfo, RequestConfig, RequestMethod, ResponseData, SchemaHasDefaultValue, UploadFileResult, UploadToS3Options, UploadToS3Result, array, base64ToUint8Array, boolean, checkFollowStatus, clearMyChannelsFromStorage, cn, components, compressImage, createInputAndSelectFile, datetime, debounceFun, decryptImageToArrayBuffer, decryptImageToUint8Array, decryptImageUrl, defaultImageCompressionMaxSizeMB, defaultImageCompressionQuality, defineComponentPropsSchema, defineMaterial, disablePageScroll, enablePageScroll, encryptBncBuffer, enumSchema as enum, enumSchema, followUser, formatVideoDuration, generateDynamicSign, generateMaterialMap, generateMaterialMapGroupByCategory, generateUUID, getAppId, getAtUserElement, getCookie, getCoverImage, getCurrentSecondTime, getCurrentUserId, getFirstInvalidPasswordChar, getImageCompressionQuality, getImageResolutionFromFile, getOrCreateBrowserFingerprint, getOrCreateDeviceId, getPasswordCharacterTypeCount, getPasswordValidationErrorText, getResUrl, getSchemaDefaultProps, getUserId, guessImageContentTypeFromUrl, hashPassword, httpClient, imageCompressionQualityRules, isClient, isEncryptedImageUrl, isMobileDevice, isValidEmail, loadComponent, loadHiddenChannelIdsFromStorage, loadMyChannelsFromStorage, normalizeClassName, numToString, number, object, overwriteMaterial, parseResolution, parseTextAtUserIds, pxToVw, randomString, removeCookie, replaceAtUserElement, replaceAtUserElementHtmlStr, resolveImageUrl, resolveRequestUserId, rewriteComponent, saveHiddenChannelIdsToStorage, secondToTime, setCookie, shouldProbeImageUrl, shouldUseApiResDirectly, string, stringToNumber, stripHtmlTags, timeRange, uint8ArrayToBase64, uint8ArrayToNumberArray, unfollowUser, updateUrlParams, uploadFile, uploadToS3WithPresignedUrl, useRouter, validatePasswordPair, withInspectorMeta };
package/dist/utils.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
 
2
- import{cn as e}from"./utils/cn.mjs";import{clearMyChannelsFromStorage as t,loadHiddenChannelIdsFromStorage as ee,loadMyChannelsFromStorage as n,saveHiddenChannelIdsToStorage as r}from"./utils/channel-storage.mjs";import{debounceFun as i,formatVideoDuration as a,generateDynamicSign as o,generateUUID as s,getAtUserElement as c,getCookie as l,getCurrentSecondTime as u,getUserId as d,hashPassword as f,isClient as p,isMobileDevice as m,numToString as h,parseResolution as g,parseTextAtUserIds as _,randomString as v,removeCookie as y,replaceAtUserElement as b,replaceAtUserElementHtmlStr as x,secondToTime as S,setCookie as C,stringToNumber as w,stripHtmlTags as T,updateUrlParams as E}from"./utils/common.mjs";import D from"./utils/get-res-url.mjs";import{decryptImageToArrayBuffer as O,decryptImageToUint8Array as k,decryptImageUrl as A,guessImageContentTypeFromUrl as j,isEncryptedImageUrl as M,resolveImageUrl as N,shouldProbeImageUrl as P,shouldUseApiResDirectly as F}from"./utils/decrypt-image-client.mjs";import{getOrCreateDeviceId as I}from"./utils/device-id.mjs";import{isValidEmail as L}from"./utils/email-validator.mjs";import R from"./utils/event-bus.mjs";import z,{HttpClient as B,HttpError as V}from"./utils/http.mjs";import{checkFollowStatus as H,followUser as U,getAppId as W,getCurrentUserId as G,unfollowUser as K}from"./utils/follow-service.mjs";import{disablePageScroll as q,enablePageScroll as J,normalizeClassName as te,pxToVw as Y}from"./utils/helper.mjs";import{compressImage as X,defaultImageCompressionMaxSizeMB as Z,defaultImageCompressionQuality as Q,getImageCompressionQuality as ne,imageCompressionQualityRules as re}from"./utils/image-compression.mjs";import{components as ie,loadComponent as ae,rewriteComponent as oe}from"./utils/loaders.mjs";import{createInputAndSelectFile as se,getCoverImage as ce,getImageResolutionFromFile as le}from"./utils/media.mjs";import{PASSWORD_ALLOWED_SPECIAL_CHARS as ue,PASSWORD_MAX_LENGTH as de,PASSWORD_MIN_LENGTH as fe,getFirstInvalidPasswordChar as pe,getPasswordCharacterTypeCount as me,getPasswordValidationErrorText as he,validatePasswordPair as ge}from"./utils/password-validator.mjs";import{uploadToS3WithPresignedUrl as _e}from"./utils/s3-uploader.mjs";import{defineMaterial as ve,overwriteMaterial as ye}from"./utils/schema/material.mjs";import{INSPECTOR_META_KEY as be,array as xe,boolean as Se,datetime as Ce,defineComponentPropsSchema as we,enumSchema as $,getSchemaDefaultProps as Te,number as Ee,object as De,string as Oe,timeRange as ke,withInspectorMeta as Ae}from"./utils/schema/schema.mjs";import{generateMaterialMap as je,generateMaterialMapGroupByCategory as Me}from"./utils/schema/utils.mjs";import{base64ToUint8Array as Ne,uint8ArrayToBase64 as Pe,uint8ArrayToNumberArray as Fe}from"./utils/uint8.mjs";import{encryptBncBuffer as Ie,uploadFile as Le}from"./utils/upload-file.mjs";import{useRouter as Re}from"./utils/use-compatible-router.mjs";export{R as EventBus,B as HttpClient,V as HttpError,be as INSPECTOR_META_KEY,ue as PASSWORD_ALLOWED_SPECIAL_CHARS,de as PASSWORD_MAX_LENGTH,fe as PASSWORD_MIN_LENGTH,xe as array,Ne as base64ToUint8Array,Se as boolean,H as checkFollowStatus,t as clearMyChannelsFromStorage,e as cn,ie as components,X as compressImage,se as createInputAndSelectFile,Ce as datetime,i as debounceFun,O as decryptImageToArrayBuffer,k as decryptImageToUint8Array,A as decryptImageUrl,Z as defaultImageCompressionMaxSizeMB,Q as defaultImageCompressionQuality,we as defineComponentPropsSchema,ve as defineMaterial,q as disablePageScroll,J as enablePageScroll,Ie as encryptBncBuffer,$ as enum,$ as enumSchema,U as followUser,a as formatVideoDuration,o as generateDynamicSign,je as generateMaterialMap,Me as generateMaterialMapGroupByCategory,s as generateUUID,W as getAppId,c as getAtUserElement,l as getCookie,ce as getCoverImage,u as getCurrentSecondTime,G as getCurrentUserId,pe as getFirstInvalidPasswordChar,ne as getImageCompressionQuality,le as getImageResolutionFromFile,I as getOrCreateDeviceId,me as getPasswordCharacterTypeCount,he as getPasswordValidationErrorText,D as getResUrl,Te as getSchemaDefaultProps,d as getUserId,j as guessImageContentTypeFromUrl,f as hashPassword,z as httpClient,re as imageCompressionQualityRules,p as isClient,M as isEncryptedImageUrl,m as isMobileDevice,L as isValidEmail,ae as loadComponent,ee as loadHiddenChannelIdsFromStorage,n as loadMyChannelsFromStorage,te as normalizeClassName,h as numToString,Ee as number,De as object,ye as overwriteMaterial,g as parseResolution,_ as parseTextAtUserIds,Y as pxToVw,v as randomString,y as removeCookie,b as replaceAtUserElement,x as replaceAtUserElementHtmlStr,N as resolveImageUrl,oe as rewriteComponent,r as saveHiddenChannelIdsToStorage,S as secondToTime,C as setCookie,P as shouldProbeImageUrl,F as shouldUseApiResDirectly,Oe as string,w as stringToNumber,T as stripHtmlTags,ke as timeRange,Pe as uint8ArrayToBase64,Fe as uint8ArrayToNumberArray,K as unfollowUser,E as updateUrlParams,Le as uploadFile,_e as uploadToS3WithPresignedUrl,Re as useRouter,ge as validatePasswordPair,Ae as withInspectorMeta};
2
+ import{cn as e}from"./utils/cn.mjs";import{debounceFun as t,formatVideoDuration as ee,generateDynamicSign as n,generateUUID as r,getAtUserElement as i,getCookie as a,getCurrentSecondTime as o,getUserId as s,hashPassword as c,isClient as l,isMobileDevice as u,numToString as d,parseResolution as f,parseTextAtUserIds as p,randomString as m,removeCookie as h,replaceAtUserElement as g,replaceAtUserElementHtmlStr as _,secondToTime as v,setCookie as y,stringToNumber as b,stripHtmlTags as x,updateUrlParams as S}from"./utils/common.mjs";import{getOrCreateBrowserFingerprint as C}from"./utils/browser-fingerprint.mjs";import{clearMyChannelsFromStorage as w,loadHiddenChannelIdsFromStorage as T,loadMyChannelsFromStorage as E,saveHiddenChannelIdsToStorage as D}from"./utils/channel-storage.mjs";import O from"./utils/get-res-url.mjs";import{decryptImageToArrayBuffer as k,decryptImageToUint8Array as A,decryptImageUrl as j,guessImageContentTypeFromUrl as M,isEncryptedImageUrl as N,resolveImageUrl as P,shouldProbeImageUrl as F,shouldUseApiResDirectly as I}from"./utils/decrypt-image-client.mjs";import{getOrCreateDeviceId as L}from"./utils/device-id.mjs";import{isValidEmail as R}from"./utils/email-validator.mjs";import z from"./utils/event-bus.mjs";import{resolveRequestUserId as B}from"./utils/request-user-id.mjs";import V,{HttpClient as H,HttpError as U}from"./utils/http.mjs";import{checkFollowStatus as W,followUser as G,getAppId as K,getCurrentUserId as q,unfollowUser as J}from"./utils/follow-service.mjs";import{disablePageScroll as te,enablePageScroll as Y,normalizeClassName as X,pxToVw as Z}from"./utils/helper.mjs";import{compressImage as Q,defaultImageCompressionMaxSizeMB as ne,defaultImageCompressionQuality as re,getImageCompressionQuality as ie,imageCompressionQualityRules as ae}from"./utils/image-compression.mjs";import{components as oe,loadComponent as se,rewriteComponent as ce}from"./utils/loaders.mjs";import{createInputAndSelectFile as le,getCoverImage as ue,getImageResolutionFromFile as de}from"./utils/media.mjs";import{PASSWORD_ALLOWED_SPECIAL_CHARS as fe,PASSWORD_MAX_LENGTH as pe,PASSWORD_MIN_LENGTH as me,getFirstInvalidPasswordChar as he,getPasswordCharacterTypeCount as ge,getPasswordValidationErrorText as _e,validatePasswordPair as ve}from"./utils/password-validator.mjs";import{uploadToS3WithPresignedUrl as ye}from"./utils/s3-uploader.mjs";import{defineMaterial as be,overwriteMaterial as xe}from"./utils/schema/material.mjs";import{INSPECTOR_META_KEY as Se,array as Ce,boolean as we,datetime as Te,defineComponentPropsSchema as Ee,enumSchema as $,getSchemaDefaultProps as De,number as Oe,object as ke,string as Ae,timeRange as je,withInspectorMeta as Me}from"./utils/schema/schema.mjs";import{generateMaterialMap as Ne,generateMaterialMapGroupByCategory as Pe}from"./utils/schema/utils.mjs";import{base64ToUint8Array as Fe,uint8ArrayToBase64 as Ie,uint8ArrayToNumberArray as Le}from"./utils/uint8.mjs";import{encryptBncBuffer as Re,uploadFile as ze}from"./utils/upload-file.mjs";import{useRouter as Be}from"./utils/use-compatible-router.mjs";export{z as EventBus,H as HttpClient,U as HttpError,Se as INSPECTOR_META_KEY,fe as PASSWORD_ALLOWED_SPECIAL_CHARS,pe as PASSWORD_MAX_LENGTH,me as PASSWORD_MIN_LENGTH,Ce as array,Fe as base64ToUint8Array,we as boolean,W as checkFollowStatus,w as clearMyChannelsFromStorage,e as cn,oe as components,Q as compressImage,le as createInputAndSelectFile,Te as datetime,t as debounceFun,k as decryptImageToArrayBuffer,A as decryptImageToUint8Array,j as decryptImageUrl,ne as defaultImageCompressionMaxSizeMB,re as defaultImageCompressionQuality,Ee as defineComponentPropsSchema,be as defineMaterial,te as disablePageScroll,Y as enablePageScroll,Re as encryptBncBuffer,$ as enum,$ as enumSchema,G as followUser,ee as formatVideoDuration,n as generateDynamicSign,Ne as generateMaterialMap,Pe as generateMaterialMapGroupByCategory,r as generateUUID,K as getAppId,i as getAtUserElement,a as getCookie,ue as getCoverImage,o as getCurrentSecondTime,q as getCurrentUserId,he as getFirstInvalidPasswordChar,ie as getImageCompressionQuality,de as getImageResolutionFromFile,C as getOrCreateBrowserFingerprint,L as getOrCreateDeviceId,ge as getPasswordCharacterTypeCount,_e as getPasswordValidationErrorText,O as getResUrl,De as getSchemaDefaultProps,s as getUserId,M as guessImageContentTypeFromUrl,c as hashPassword,V as httpClient,ae as imageCompressionQualityRules,l as isClient,N as isEncryptedImageUrl,u as isMobileDevice,R as isValidEmail,se as loadComponent,T as loadHiddenChannelIdsFromStorage,E as loadMyChannelsFromStorage,X as normalizeClassName,d as numToString,Oe as number,ke as object,xe as overwriteMaterial,f as parseResolution,p as parseTextAtUserIds,Z as pxToVw,m as randomString,h as removeCookie,g as replaceAtUserElement,_ as replaceAtUserElementHtmlStr,P as resolveImageUrl,B as resolveRequestUserId,ce as rewriteComponent,D as saveHiddenChannelIdsToStorage,v as secondToTime,y as setCookie,F as shouldProbeImageUrl,I as shouldUseApiResDirectly,Ae as string,b as stringToNumber,x as stripHtmlTags,je as timeRange,Ie as uint8ArrayToBase64,Le as uint8ArrayToNumberArray,J as unfollowUser,S as updateUrlParams,ze as uploadFile,ye as uploadToS3WithPresignedUrl,Be as useRouter,ve as validatePasswordPair,Me as withInspectorMeta};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@funhub/platform",
3
3
  "type": "module",
4
- "version": "0.2.7",
4
+ "version": "0.2.8",
5
5
  "private": false,
6
6
  "sideEffects": [
7
7
  "**/*.css"
@@ -88,6 +88,7 @@
88
88
  "@aws-sdk/lib-storage": "^3.890.0",
89
89
  "@base-ui/react": "^1.0.0",
90
90
  "@clack/prompts": "^1.1.0",
91
+ "@fingerprintjs/fingerprintjs": "5.1.0",
91
92
  "@ncdai/react-wheel-picker": "^1.1.0",
92
93
  "@next/bundle-analyzer": "^16.1.6",
93
94
  "browser-image-compression": "^2.0.2",
@@ -1,2 +0,0 @@
1
-
2
- import*as e from"react";const t=t=>e.createElement(`svg`,{width:`1em`,height:`1em`,viewBox:`0 0 40 40`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t},e.createElement(`path`,{d:`M20 6.66699C22.8099 6.66699 26.7444 6.79839 31.8037 7.06152C34.5425 7.204 36.7579 9.4403 36.9863 12.293C37.2177 15.1823 37.333 17.7275 37.333 19.9277C37.333 22.1551 37.2146 24.7356 36.9775 27.6689C36.7498 30.486 34.5831 32.706 31.8809 32.8906C27.5554 33.186 23.5949 33.333 20 33.333C16.4057 33.333 12.447 33.1858 8.12402 32.8906C5.42266 32.7062 3.25637 30.4877 3.02734 27.6719C2.78722 24.7166 2.667 22.1349 2.66699 19.9277C2.66699 17.7471 2.78416 15.201 3.01855 12.29C3.24816 9.43854 5.4625 7.20403 8.2002 7.06152C13.2572 6.79838 17.1904 6.66699 20 6.66699ZM19.3564 14.6426C18.4178 14.0113 17.1466 14.2604 16.5156 15.1982C16.289 15.5357 16.167 15.9347 16.167 16.3418V23.6719C16.1673 24.8026 17.0843 25.7187 18.2148 25.7188C18.6157 25.7186 19.0092 25.6016 19.3438 25.3809L24.8408 21.7461C25.7254 21.1614 26.0092 20.008 25.5273 19.0889L25.4209 18.9092L25.3008 18.7451C25.1734 18.5886 25.0221 18.4517 24.8545 18.3389L19.3564 14.6426Z`,fill:`url(#paint0_linear_473_1706)`}),e.createElement(`defs`,null,e.createElement(`linearGradient`,{id:`paint0_linear_473_1706`,x1:2.667,y1:8.44469,x2:40.7466,y2:23.8939,gradientUnits:`userSpaceOnUse`},e.createElement(`stop`,{stopColor:`#FD4C5E`}),e.createElement(`stop`,{offset:1,stopColor:`#F05D19`}))));export{t as default};
@@ -1,24 +0,0 @@
1
-
2
- import e from"../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs";var t=`.marquee-module_marquee-item-loop__xI-aW {
3
- animation: marquee-module_funhub-marquee-run__evIQh 12s linear infinite;
4
- }
5
-
6
- .marquee-module_marquee-item-once__KFzcv {
7
- animation: marquee-module_funhub-marquee-run__evIQh 12s linear forwards;
8
- }
9
-
10
- .marquee-module_marquee-item-paused__edGch {
11
- animation: none;
12
- transform: translateX(0);
13
- }
14
-
15
- @keyframes marquee-module_funhub-marquee-run__evIQh {
16
- 0% {
17
- transform: translateX(100%);
18
- }
19
-
20
- 100% {
21
- transform: translateX(-100%);
22
- }
23
- }
24
- `,n={"marquee-item-loop":`marquee-module_marquee-item-loop__xI-aW`,"funhub-marquee-run":`marquee-module_funhub-marquee-run__evIQh`,"marquee-item-once":`marquee-module_marquee-item-once__KFzcv`,"marquee-item-paused":`marquee-module_marquee-item-paused__edGch`};e(t);export{n as default};