diff --git a/constants/UpdateConfig.ts b/constants/UpdateConfig.ts index 96b7738..2bd6db4 100644 --- a/constants/UpdateConfig.ts +++ b/constants/UpdateConfig.ts @@ -7,11 +7,11 @@ export const UPDATE_CONFIG = { // GitHub相关URL GITHUB_RAW_URL: - "https://gh-proxy.com/https://raw.githubusercontent.com/orion-lib/OrionTV/refs/heads/master/package.json", + "https://ghfast.top/https://raw.githubusercontent.com/orion-lib/OrionTV/refs/heads/master/package.json", // 获取平台特定的下载URL getDownloadUrl(version: string): string { - return `https://gh-proxy.com/https://github.com/orion-lib/OrionTV/releases/download/v${version}/orionTV.${version}.apk`; + return `https://ghfast.top/https://github.com/orion-lib/OrionTV/releases/download/v${version}/orionTV.${version}.apk`; }, // 是否显示更新日志 diff --git a/package.json b/package.json index 4d3ec30..68c7f0c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "OrionTV", "private": true, "main": "expo-router/entry", - "version": "1.3.4", + "version": "1.3.5", "scripts": { "start": "EXPO_TV=1 EXPO_USE_METRO_WORKSPACE_ROOT=1 expo start", "android": "EXPO_TV=1 EXPO_USE_METRO_WORKSPACE_ROOT=1 expo run:android", diff --git a/services/api.ts b/services/api.ts index b54a6f5..32e77dd 100644 --- a/services/api.ts +++ b/services/api.ts @@ -224,15 +224,27 @@ export class API { return []; } - // 过滤并验证每个站点配置 - return config.Config.SourceConfig + // 过滤并验证每个站点配置,同时进行去重 + const seenKeys = new Set(); + const uniqueSites: ApiSite[] = []; + + config.Config.SourceConfig .filter((site: any) => site && !site.disabled) - .map((site: any) => ({ - key: site.key || '', - api: site.api || '', - name: site.name || '', - detail: site.detail - })); + .forEach((site: any) => { + const key = site.key || ''; + // 基于 key 字段去重 + if (key && !seenKeys.has(key)) { + seenKeys.add(key); + uniqueSites.push({ + key: key, + api: site.api || '', + name: site.name || '', + detail: site.detail + }); + } + }); + + return uniqueSites; } async getVideoDetail(source: string, id: string): Promise {