mirror of
https://github.com/zimplexing/OrionTV.git
synced 2026-02-04 03:36:29 +08:00
fix(api): enhance SourceConfig filtering to ensure unique site entries and improve validation
fix(update): update GitHub URLs in UpdateConfig and bump version to 1.3.5
This commit is contained in:
@@ -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`;
|
||||
},
|
||||
|
||||
// 是否显示更新日志
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -224,15 +224,27 @@ export class API {
|
||||
return [];
|
||||
}
|
||||
|
||||
// 过滤并验证每个站点配置
|
||||
return config.Config.SourceConfig
|
||||
// 过滤并验证每个站点配置,同时进行去重
|
||||
const seenKeys = new Set<string>();
|
||||
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<VideoDetail> {
|
||||
|
||||
Reference in New Issue
Block a user