MCPcopy Create free account

hub / github.com/Ouonnki/OuonnkiTV / functions

Functions724 in github.com/Ouonnki/OuonnkiTV

↓ 2 callersFunctionclamp
(value: number, min: number, max: number)
src/features/player/lib/playerMiniLayout.ts:19
↓ 2 callersFunctioncomputeHash
(message: string)
src/shared/store/authStore.ts:28
↓ 2 callersFunctioncreateDeferred
()
src/shared/store/tmdbStore.test.ts:35
↓ 2 callersFunctioncreateDirectStrategy
()
packages/cms-core/src/adapters/proxy.adapter.ts:48
↓ 2 callersFunctioncreateSearchResponse
(id: number, title: string)
src/shared/store/tmdbStore.test.ts:44
↓ 2 callersFunctionensureApiBasePath
(pathname: string)
src/shared/lib/tmdb.ts:43
↓ 2 callersFunctionensureImageBasePath
(pathname: string)
src/shared/lib/tmdb.ts:49
↓ 2 callersFunctionextractRecommendations
(detail: TmdbRichDetail, mediaType: TmdbMediaType)
src/features/media/components/tmdb-detail/helpers.ts:67
↓ 2 callersFunctionextractSubscriptionId
(sourceId: string)
src/shared/store/subscriptionStore.ts:19
↓ 2 callersFunctionfindTrackedTouch
(event: TouchEvent)
src/features/player/hooks/useMobilePlayerGestures.ts:190
↓ 2 callersFunctionformatCurrencyUSD
(value: number | undefined)
src/features/media/components/tmdb-detail/helpers.ts:26
↓ 2 callersFunctionformatProgressTime
(seconds: number)
src/shared/components/common/ViewingHistoryCard.tsx:28
↓ 2 callersFunctiongetAspectRatio
()
src/features/home/components/FeaturedCarousel.tsx:102
↓ 2 callersMethodgetDetail
(id: string, source: VideoSource)
packages/cms-core/src/core/client.ts:44
↓ 2 callersFunctiongetEpisodeLabel
(item: ViewingHistoryItem)
src/shared/components/common/ViewingHistoryCard.tsx:49
↓ 2 callersFunctiongetFavoriteRatingValue
获取收藏项评分(排序值)
src/features/favorites/store/favoritesStore.ts:179
↓ 2 callersFunctiongetFavoriteReleaseDateValue
获取收藏项上映日期时间戳(排序值)
src/features/favorites/store/favoritesStore.ts:186
↓ 2 callersFunctiongetFavoriteTitle
获取收藏项标题(用于名称排序)
src/features/favorites/store/favoritesStore.ts:174
↓ 2 callersFunctiongetImageQuality
()
src/shared/lib/tmdb.ts:156
↓ 2 callersFunctiongetLogoUrl
(path: string | null, size = 'w500')
src/shared/lib/tmdb.ts:176
↓ 2 callersFunctiongetReleaseYear
(value: string | undefined)
src/features/media/components/tmdb-detail/helpers.ts:10
↓ 2 callersFunctiongetSourceColorScheme
(sourceIdOrName: string)
src/shared/lib/source-colors.ts:65
↓ 2 callersFunctiongetSourceLabel
(item: ViewingHistoryItem)
src/shared/components/common/ViewingHistoryCard.tsx:51
↓ 2 callersFunctionhandleInputChange
(value: string)
src/shared/components/SearchBox.tsx:63
↓ 2 callersFunctionhandleInteractiveItemKeyDown
( event: React.KeyboardEvent<HTMLDivElement>, action: () => void, )
src/features/search/components/SearchHubInput.tsx:63
↓ 2 callersFunctionhandleInteractiveItemKeyDown
( event: React.KeyboardEvent<HTMLDivElement>, action: () => void, )
src/shared/components/SearchBox.tsx:39
↓ 2 callersFunctionhandleProxyRequest
(targetUrl: string, timeoutMs: number)
functions/proxy.ts:62
↓ 2 callersFunctionhandler
(req: VercelRequest, res: VercelResponse)
api/proxy.ts:4
↓ 2 callersFunctionimportSources
( store: SourceStore, sources: Partial<VideoSource>[], options?: { /** 默认超时时间 */ defaultTimeout?
packages/cms-core/src/source/importer.ts:22
↓ 2 callersFunctionisFullscreenActive
()
src/features/player/hooks/useMobilePlayerGestures.ts:136
↓ 2 callersFunctionisTouchDevice
()
src/features/player/components/UnifiedPlayer.tsx:125
↓ 2 callersFunctionmatchesTmdbHistory
( item: ViewingHistoryItem, mediaType: TmdbMediaType, tmdbId: number, seasonNumber: number | null, )
src/features/player/components/UnifiedPlayer.tsx:145
↓ 2 callersFunctionnormalizeApiBaseUrlCandidate
(candidate: string | undefined | null)
src/shared/lib/tmdb.ts:56
↓ 2 callersFunctionnormalizeBaseCandidate
(value: string)
src/shared/lib/tmdb.ts:22
↓ 2 callersFunctionnormalizeCacheText
(value: string)
src/features/media/components/tmdb-detail/usePlaylistMatches.ts:84
↓ 2 callersFunctionnormalizeImageBaseUrlCandidate
(candidate: string | undefined | null)
src/shared/lib/tmdb.ts:69
↓ 2 callersFunctionnormalizeProxyPrefix
(proxyUrl?: string | null)
src/shared/config/api.config.ts:27
↓ 2 callersMethodoff
* 取消订阅 * @param type 事件类型 * @param handler 事件处理器
packages/cms-core/src/events/emitter.ts:20
↓ 2 callersFunctionparseEpisodeIndex
(value: string | null)
src/features/player/components/UnifiedPlayer.tsx:103
↓ 2 callersFunctionparsePositiveNumber
(value: string | null)
src/features/player/components/UnifiedPlayer.tsx:108
↓ 2 callersFunctionparseProxyError
(error: unknown)
functions/proxy.ts:26
↓ 2 callersFunctionparseVideoSources
(sources: any[])
src/shared/config/api.config.ts:100
↓ 2 callersMethodprocess
处理M3U8内容
packages/cms-core/src/m3u8/processor.ts:18
↓ 2 callersFunctionrenderAction
(action: DetailStateAction, key: string)
src/features/media/components/tmdb-detail/DetailStatePanel.tsx:37
↓ 2 callersFunctionrenderAction
(action: PlayerErrorStateAction, key: string)
src/features/player/components/PlayerErrorState.tsx:30
↓ 2 callersFunctionrenderEditingActions
()
src/features/history/components/HistoryHeader.tsx:48
↓ 2 callersFunctionrenderErrorState
(message: string)
src/features/player/components/UnifiedPlayer.tsx:1419
↓ 2 callersFunctionrestorePlaybackRate
()
src/features/player/hooks/useMobilePlayerGestures.ts:97
↓ 2 callersMethodsearch
(query: string, source: VideoSource)
packages/cms-core/src/core/client.ts:32
↓ 2 callersFunctionshouldIgnoreTarget
(target: EventTarget | null)
src/features/player/hooks/useMobilePlayerGestures.ts:116
↓ 2 callersFunctionstatusPriority
(id: string)
src/features/settings/components/VideoSource/index.tsx:111
↓ 2 callersFunctionsyncMobileControlBar
()
src/features/player/components/UnifiedPlayer.tsx:803
↓ 2 callersFunctionthemeTransition
( callback: ViewTransitionCallback, options?: ViewTransitionOptions, )
src/shared/components/theme/transitions.ts:35
↓ 2 callersFunctiontoBigrams
(value: string)
src/features/media/components/tmdb-detail/playlistMatcher.ts:46
↓ 2 callersFunctiontoSourceMatches
( grouped: Map<string, PlaylistMatchItem[]>, orderedSources: SourceMeta[], )
src/features/media/components/tmdb-detail/playlistMatcher.ts:233
↓ 2 callersFunctiontoSourceOptions
(matches: SourceBestMatch[])
src/features/player/hooks/useTmdbPlayback.ts:32
↓ 2 callersFunctiontrimConfigValue
(value: string | undefined | null)
src/shared/lib/tmdb.ts:18
↓ 2 callersFunctiontrimTrailingSlash
(value: string)
src/shared/lib/tmdb.ts:39
↓ 2 callersFunctiontryRun
()
packages/cms-core/src/core/concurrency.ts:14
↓ 2 callersFunctionupdateSource
( store: SourceStore, id: string, updates: Partial<VideoSource> )
packages/cms-core/src/source/store.ts:47
↓ 2 callersFunctionuseInfiniteScroll
({ hasMore, isLoading, canLoadMore = true, onLoadMore, threshold = 200, disabled = false, }: UseIn
src/shared/hooks/useInfiniteScroll.ts:22
↓ 2 callersFunctionusePlaylistMatches
({ active, tmdbType, tmdbId, title, originalTitle, releaseDate, seasons, }: UsePlaylistMatchesPa
src/features/media/components/tmdb-detail/usePlaylistMatches.ts:118
↓ 2 callersFunctionuseSearchSuggestions
()
src/shared/hooks/useSearchSuggestions.ts:26
↓ 2 callersFunctionuseThemeControl
()
src/shared/components/theme/hooks/useTheme.ts:10
↓ 2 callersFunctionuseTmdbDetail
( id: number | undefined, mediaType: TmdbMediaType, language = useSettingStore.getState().system.tmdbLan
src/shared/hooks/useTmdb.ts:312
↓ 2 callersFunctionuseTmdbNowPlaying
()
src/shared/hooks/useTmdb.ts:100
↓ 2 callersFunctionuseTmdbRecommendations
( preferredSources: RecommendationSource[] = EMPTY_RECOMMENDATION_SOURCES, )
src/shared/hooks/useTmdb.ts:211
↓ 1 callersFunctionapplySeasonScore
(entry: PlaylistMatchItem, seasonNumber: number)
src/features/media/components/tmdb-detail/playlistMatcher.ts:256
↓ 1 callersFunctionbatchCheckSubscriptions
( subscriptions: VideoSourceSubscription[], onProgress?: OnProgressCallback, )
src/shared/lib/health-check.ts:169
↓ 1 callersFunctionbatchCheckVideoSources
( sources: VideoSource[], onProgress?: OnProgressCallback, )
src/shared/lib/health-check.ts:140
↓ 1 callersFunctionbuildDetailRequestKey
(sourceCode: string, vodId: string)
src/features/player/components/UnifiedPlayer.tsx:123
↓ 1 callersFunctionbuildDetailUrl
( baseUrl: string, id: string, apiConfig: ApiPathConfig = DEFAULT_API_CONFIG )
packages/cms-core/src/utils/url.ts:49
↓ 1 callersFunctionbuildListUrl
(baseUrl: string, page: number = 1)
packages/cms-core/src/utils/url.ts:60
↓ 1 callersFunctionbuildPlayLink
( tmdbType: TmdbMediaType, tmdbId: number, entry: PlaylistMatchItem, seasonNumber?: number, )
src/features/media/components/tmdb-detail/DetailPlaylistTab.tsx:39
↓ 1 callersFunctionbuildSearchUrl
( baseUrl: string, query: string, page: number = 1, apiConfig: ApiPathConfig = DEFAULT_API_CONFIG )
packages/cms-core/src/utils/url.ts:36
↓ 1 callersFunctionbuildSeasonSignature
(seasons: DetailSeason[])
src/features/media/components/tmdb-detail/usePlaylistMatches.ts:108
↓ 1 callersFunctionbuildSourceOrder
(sources: SourceMeta[], grouped: Map<string, PlaylistMatchItem[]>)
src/features/media/components/tmdb-detail/playlistMatcher.ts:217
↓ 1 callersFunctionbuildSourceSignature
(sources: VideoSource[])
src/features/media/components/tmdb-detail/usePlaylistMatches.ts:86
↓ 1 callersFunctionbuildSubscriptionSourceId
为订阅源生成带前缀的 ID
src/shared/store/subscriptionStore.ts:25
↓ 1 callersFunctioncalculateEpisodesPerPage
()
src/features/player/hooks/useEpisodePagination.ts:42
↓ 1 callersFunctioncheckAndRefresh
()
src/shared/hooks/useSubscriptionAutoRefresh.ts:18
↓ 1 callersFunctioncheckAuth
()
src/shared/components/AuthGuard.tsx:31
↓ 1 callersFunctioncheckSubscriptionUrl
* 订阅源 URL 可达性检测 — 直连 fetch,与 subscriptionStore 中 fetchSourcesFromUrl 一致。 * 先用 HEAD 请求,若 405 则回退 GET。
src/shared/lib/health-check.ts:68
↓ 1 callersFunctioncheckSubscriptionUrlGet
( subscription: VideoSourceSubscription, )
src/shared/lib/health-check.ts:110
↓ 1 callersFunctioncheckTablet
()
src/features/home/components/FeaturedCarousel.tsx:37
↓ 1 callersFunctionclearBusinessCaches
()
src/shared/lib/cache/businessCache.ts:7
↓ 1 callersFunctioncomposeFilters
(...filters: M3u8Filter[])
packages/cms-core/src/m3u8/filter.ts:42
↓ 1 callersFunctioncreateAggregatedSearch
( searchFn: (query: string, source: VideoSource, page: number) => Promise<SearchResult>, options: Aggregat
packages/cms-core/src/core/aggregator.ts:31
↓ 1 callersFunctioncreateCmsClient
(config?: CmsClientConfig)
packages/cms-core/src/core/client.ts:57
↓ 1 callersFunctioncreateDefaultAdFilter
()
packages/cms-core/src/m3u8/filter.ts:10
↓ 1 callersFunctioncreateEmptySourceStore
()
packages/cms-core/src/types/source.ts:34
↓ 1 callersFunctioncreateEventEmitter
()
packages/cms-core/src/events/emitter.ts:46
↓ 1 callersFunctioncreateFetchAdapter
()
packages/cms-core/src/adapters/fetch.adapter.ts:6
↓ 1 callersFunctioncreateHlsLoaderClass
(config: HlsLoaderConfig)
packages/cms-core/src/m3u8/hls-loader.ts:31
↓ 1 callersFunctioncreateM3u8Processor
(config?: M3u8ProcessorConfig)
packages/cms-core/src/m3u8/processor.ts:31
↓ 1 callersFunctioncreateUrlPrefixProxyStrategy
(proxyUrl: string)
packages/cms-core/src/adapters/proxy.adapter.ts:7
↓ 1 callersFunctiondedupeByVod
(items: PlaylistMatchItem[])
src/features/media/components/tmdb-detail/playlistMatcher.ts:192
↓ 1 callersFunctiondeselectAllSources
(store: SourceStore)
packages/cms-core/src/source/store.ts:107
↓ 1 callersFunctionensureTmdbApiPatched
()
src/shared/lib/tmdb.ts:100
↓ 1 callersFunctionextractM3u8FromContent
( vodContent: string, pattern: RegExp = /\$https?:\/\/[^"'\s]+?\.m3u8/g, )
packages/cms-core/src/core/parser.ts:64
← previousnext →101–200 of 724, ranked by callers