Files
MoonTVPlus/src/lib/admin.types.ts

100 lines
2.9 KiB
TypeScript
Raw Normal View History

2025-08-12 21:50:58 +08:00
export interface AdminConfig {
2025-08-13 13:20:58 +08:00
ConfigSubscribtion: {
URL: string;
AutoUpdate: boolean;
LastCheck: string;
};
2025-08-13 00:30:31 +08:00
ConfigFile: string;
2025-08-12 21:50:58 +08:00
SiteConfig: {
SiteName: string;
Announcement: string;
SearchDownstreamMaxPage: number;
SiteInterfaceCacheTime: number;
DoubanProxyType: string;
DoubanProxy: string;
DoubanImageProxyType: string;
DoubanImageProxy: string;
DisableYellowFilter: boolean;
2025-08-17 17:32:42 +08:00
FluidSearch: boolean;
2025-12-02 01:00:42 +08:00
// 弹幕配置
DanmakuApiBase: string;
DanmakuApiToken: string;
2025-12-14 22:15:38 +08:00
// TMDB配置
TMDBApiKey?: string;
2025-12-20 22:11:34 +08:00
TMDBProxy?: string;
// 评论功能开关
EnableComments: boolean;
2025-12-04 22:14:48 +08:00
// 自定义去广告代码
CustomAdFilterCode?: string;
CustomAdFilterVersion?: number; // 代码版本号(时间戳)
2025-12-13 13:03:46 +08:00
// 注册相关配置
EnableRegistration?: boolean; // 开启注册
RegistrationRequireTurnstile?: boolean; // 注册启用Cloudflare Turnstile
LoginRequireTurnstile?: boolean; // 登录启用Cloudflare Turnstile
TurnstileSiteKey?: string; // Cloudflare Turnstile Site Key
TurnstileSecretKey?: string; // Cloudflare Turnstile Secret Key
DefaultUserTags?: string[]; // 新注册用户的默认用户组
2025-12-13 15:11:14 +08:00
// OIDC配置
EnableOIDCLogin?: boolean; // 启用OIDC登录
EnableOIDCRegistration?: boolean; // 启用OIDC注册
OIDCIssuer?: string; // OIDC Issuer URL (用于自动发现)
OIDCAuthorizationEndpoint?: string; // 授权端点
OIDCTokenEndpoint?: string; // Token端点
OIDCUserInfoEndpoint?: string; // 用户信息端点
OIDCClientId?: string; // OIDC Client ID
OIDCClientSecret?: string; // OIDC Client Secret
2025-12-13 17:36:57 +08:00
OIDCButtonText?: string; // OIDC登录按钮文字
2025-08-12 21:50:58 +08:00
};
UserConfig: {
Users: {
username: string;
role: 'user' | 'admin' | 'owner';
banned?: boolean;
2025-08-21 13:05:46 +08:00
enabledApis?: string[]; // 优先级高于tags限制
tags?: string[]; // 多 tags 取并集限制
}[];
Tags?: {
name: string;
enabledApis: string[];
2025-08-12 21:50:58 +08:00
}[];
};
SourceConfig: {
key: string;
name: string;
api: string;
detail?: string;
from: 'config' | 'custom';
disabled?: boolean;
}[];
CustomCategories: {
name?: string;
type: 'movie' | 'tv';
query: string;
from: 'config' | 'custom';
disabled?: boolean;
}[];
2025-08-24 00:26:48 +08:00
LiveConfig?: {
key: string;
name: string;
url: string; // m3u 地址
ua?: string;
epg?: string; // 节目单
from: 'config' | 'custom';
channelNumber?: number;
disabled?: boolean;
}[];
2025-12-12 18:06:34 +08:00
ThemeConfig?: {
enableBuiltInTheme: boolean; // 是否启用内置主题
builtInTheme: string; // 内置主题名称
customCSS: string; // 自定义CSS
enableCache: boolean; // 是否启用浏览器缓存
cacheMinutes: number; // 缓存时间(分钟)
cacheVersion: number; // CSS版本号用于缓存控制
};
2025-08-12 21:50:58 +08:00
}
export interface AdminConfigResult {
Role: 'owner' | 'admin';
Config: AdminConfig;
}