From 56b4d4790205805394a6fecba4be57cb20394d4d Mon Sep 17 00:00:00 2001 From: mtvpls Date: Mon, 29 Dec 2025 01:19:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9D=83=E9=99=90=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/api/admin/category/route.ts | 8 +++----- src/app/api/admin/live/refresh/route.ts | 9 +++------ src/app/api/admin/live/route.ts | 9 +++------ src/app/api/admin/openlist/route.ts | 8 +++----- src/app/api/admin/site/route.ts | 9 +++------ src/app/api/admin/theme/route.ts | 9 +++------ src/app/api/admin/users/route.ts | 8 -------- src/app/api/tvbox/subscribe/route.ts | 1 + 8 files changed, 19 insertions(+), 42 deletions(-) diff --git a/src/app/api/admin/category/route.ts b/src/app/api/admin/category/route.ts index 6fc2226..3c27c4a 100644 --- a/src/app/api/admin/category/route.ts +++ b/src/app/api/admin/category/route.ts @@ -45,12 +45,10 @@ export async function POST(request: NextRequest) { // 获取配置与存储 const adminConfig = await getConfig(); - // 权限与身份校验 + // 权限与身份校验 - 使用v2用户系统 if (username !== process.env.USERNAME) { - const userEntry = adminConfig.UserConfig.Users.find( - (u) => u.username === username - ); - if (!userEntry || userEntry.role !== 'admin' || userEntry.banned) { + const userInfo = await db.getUserInfoV2(username); + if (!userInfo || userInfo.role !== 'admin' || userInfo.banned) { return NextResponse.json({ error: '权限不足' }, { status: 401 }); } } diff --git a/src/app/api/admin/live/refresh/route.ts b/src/app/api/admin/live/refresh/route.ts index 82497fb..3703e83 100644 --- a/src/app/api/admin/live/refresh/route.ts +++ b/src/app/api/admin/live/refresh/route.ts @@ -11,16 +11,13 @@ export const runtime = 'nodejs'; export async function POST(request: NextRequest) { try { - // 权限检查 + // 权限检查 - 使用v2用户系统 const authInfo = getAuthInfoFromCookie(request); const username = authInfo?.username; const config = await getConfig(); if (username !== process.env.USERNAME) { - // 管理员 - const user = config.UserConfig.Users.find( - (u) => u.username === username - ); - if (!user || user.role !== 'admin' || user.banned) { + const userInfo = await db.getUserInfoV2(username || ''); + if (!userInfo || userInfo.role !== 'admin' || userInfo.banned) { return NextResponse.json({ error: '权限不足' }, { status: 401 }); } } diff --git a/src/app/api/admin/live/route.ts b/src/app/api/admin/live/route.ts index b173205..ebf8cce 100644 --- a/src/app/api/admin/live/route.ts +++ b/src/app/api/admin/live/route.ts @@ -11,16 +11,13 @@ export const runtime = 'nodejs'; export async function POST(request: NextRequest) { try { - // 权限检查 + // 权限检查 - 使用v2用户系统 const authInfo = getAuthInfoFromCookie(request); const username = authInfo?.username; const config = await getConfig(); if (username !== process.env.USERNAME) { - // 管理员 - const user = config.UserConfig.Users.find( - (u) => u.username === username - ); - if (!user || user.role !== 'admin' || user.banned) { + const userInfo = await db.getUserInfoV2(username || ''); + if (!userInfo || userInfo.role !== 'admin' || userInfo.banned) { return NextResponse.json({ error: '权限不足' }, { status: 401 }); } } diff --git a/src/app/api/admin/openlist/route.ts b/src/app/api/admin/openlist/route.ts index d90934f..d2757fb 100644 --- a/src/app/api/admin/openlist/route.ts +++ b/src/app/api/admin/openlist/route.ts @@ -37,12 +37,10 @@ export async function POST(request: NextRequest) { // 获取配置 const adminConfig = await getConfig(); - // 权限检查 + // 权限检查 - 使用v2用户系统 if (username !== process.env.USERNAME) { - const userEntry = adminConfig.UserConfig.Users.find( - (u) => u.username === username - ); - if (!userEntry || userEntry.role !== 'admin' || userEntry.banned) { + const userInfo = await db.getUserInfoV2(username); + if (!userInfo || userInfo.role !== 'admin' || userInfo.banned) { return NextResponse.json({ error: '权限不足' }, { status: 401 }); } } diff --git a/src/app/api/admin/site/route.ts b/src/app/api/admin/site/route.ts index 0402b8a..e3b3a53 100644 --- a/src/app/api/admin/site/route.ts +++ b/src/app/api/admin/site/route.ts @@ -148,13 +148,10 @@ export async function POST(request: NextRequest) { const adminConfig = await getConfig(); - // 权限校验 + // 权限校验 - 使用v2用户系统 if (username !== process.env.USERNAME) { - // 管理员 - const user = adminConfig.UserConfig.Users.find( - (u) => u.username === username - ); - if (!user || user.role !== 'admin' || user.banned) { + const userInfo = await db.getUserInfoV2(username); + if (!userInfo || userInfo.role !== 'admin' || userInfo.banned) { return NextResponse.json({ error: '权限不足' }, { status: 401 }); } } diff --git a/src/app/api/admin/theme/route.ts b/src/app/api/admin/theme/route.ts index b759fe9..b63ea92 100644 --- a/src/app/api/admin/theme/route.ts +++ b/src/app/api/admin/theme/route.ts @@ -92,13 +92,10 @@ export async function POST(request: NextRequest) { const adminConfig = await getConfig(); - // 权限校验 + // 权限校验 - 使用v2用户系统 if (username !== process.env.USERNAME) { - // 管理员 - const user = adminConfig.UserConfig.Users.find( - (u) => u.username === username - ); - if (!user || user.role !== 'admin' || user.banned) { + const userInfo = await db.getUserInfoV2(username); + if (!userInfo || userInfo.role !== 'admin' || userInfo.banned) { return NextResponse.json({ error: '权限不足' }, { status: 401 }); } } diff --git a/src/app/api/admin/users/route.ts b/src/app/api/admin/users/route.ts index b733627..9e644c8 100644 --- a/src/app/api/admin/users/route.ts +++ b/src/app/api/admin/users/route.ts @@ -36,14 +36,6 @@ export async function GET(request: NextRequest) { const operatorInfo = await db.getUserInfoV2(authInfo.username); if (operatorInfo) { operatorRole = operatorInfo.role; - } else { - // 回退到配置中查找 - const userEntry = adminConfig.UserConfig.Users.find( - (u) => u.username === authInfo.username - ); - if (userEntry) { - operatorRole = userEntry.role; - } } } diff --git a/src/app/api/tvbox/subscribe/route.ts b/src/app/api/tvbox/subscribe/route.ts index b0fdbfe..a443298 100644 --- a/src/app/api/tvbox/subscribe/route.ts +++ b/src/app/api/tvbox/subscribe/route.ts @@ -124,6 +124,7 @@ export async function GET(request: NextRequest) { return { name: live.name, type: 0, + playerType: 1, url: live.url, epg: live.epg || '', logo: '',