增加电视直播刷新间隔配置
This commit is contained in:
@@ -97,6 +97,7 @@ export interface AdminConfig {
|
||||
from: 'config' | 'custom';
|
||||
disabled?: boolean;
|
||||
}[];
|
||||
LiveRefreshIntervalHours?: number; // 电视直播全局刷新间隔(小时),默认12小时
|
||||
LiveConfig?: {
|
||||
key: string;
|
||||
name: string;
|
||||
|
||||
@@ -5,6 +5,17 @@ import { db } from '@/lib/db';
|
||||
import { AdminConfig } from './admin.types';
|
||||
|
||||
const BUILTIN_DANMAKU_API_BASE = 'https://mtvpls-danmu.netlify.app/87654321';
|
||||
const DEFAULT_LIVE_REFRESH_INTERVAL_HOURS = 12;
|
||||
|
||||
function normalizeLiveRefreshIntervalHours(refreshIntervalHours?: number): number {
|
||||
const normalizedInterval = Number(refreshIntervalHours);
|
||||
|
||||
if (!Number.isFinite(normalizedInterval) || normalizedInterval <= 0) {
|
||||
return DEFAULT_LIVE_REFRESH_INTERVAL_HOURS;
|
||||
}
|
||||
|
||||
return Math.floor(normalizedInterval);
|
||||
}
|
||||
|
||||
export interface ApiSite {
|
||||
key: string;
|
||||
@@ -545,6 +556,7 @@ export function configSelfCheck(adminConfig: AdminConfig): AdminConfig {
|
||||
if (!adminConfig.LiveConfig || !Array.isArray(adminConfig.LiveConfig)) {
|
||||
adminConfig.LiveConfig = [];
|
||||
}
|
||||
adminConfig.LiveRefreshIntervalHours = normalizeLiveRefreshIntervalHours(adminConfig.LiveRefreshIntervalHours);
|
||||
|
||||
// 用户信息已迁移到新版数据库
|
||||
// 这里只保留站长用户用于兼容性,其他用户从数据库读取
|
||||
|
||||
@@ -5,6 +5,28 @@ import { db } from '@/lib/db';
|
||||
|
||||
const defaultUA = 'AptvPlayer/1.4.10';
|
||||
|
||||
export const DEFAULT_LIVE_REFRESH_INTERVAL_HOURS = 12;
|
||||
|
||||
let lastGlobalLiveRefreshTime = 0;
|
||||
|
||||
export function getLiveRefreshIntervalHours(refreshIntervalHours?: number): number {
|
||||
const normalizedInterval = Number(refreshIntervalHours);
|
||||
|
||||
if (!Number.isFinite(normalizedInterval) || normalizedInterval <= 0) {
|
||||
return DEFAULT_LIVE_REFRESH_INTERVAL_HOURS;
|
||||
}
|
||||
|
||||
return Math.floor(normalizedInterval);
|
||||
}
|
||||
|
||||
export function getLastGlobalLiveRefreshTime(): number {
|
||||
return lastGlobalLiveRefreshTime;
|
||||
}
|
||||
|
||||
export function setLastGlobalLiveRefreshTime(timestamp: number): void {
|
||||
lastGlobalLiveRefreshTime = timestamp;
|
||||
}
|
||||
|
||||
export interface LiveChannels {
|
||||
channelNumber: number;
|
||||
channels: {
|
||||
|
||||
Reference in New Issue
Block a user