修正权限放行

This commit is contained in:
mtvpls
2026-06-29 17:11:59 +08:00
parent 5d605710f3
commit 5d315ef12f
6 changed files with 73 additions and 17 deletions
+20 -6
View File
@@ -5,6 +5,7 @@ import {
createTelegramBindSession,
getTelegramBinding,
getTelegramConfig,
getTelegramConfigProblems,
getTelegramDeepLink,
} from '@/lib/telegram';
@@ -18,9 +19,11 @@ export async function GET(request: NextRequest) {
const config = await getTelegramConfig();
const binding = await getTelegramBinding(authInfo.username);
const problems = getTelegramConfigProblems(config, 'binding');
return NextResponse.json({
enabled: config.enabled && config.bindingEnabled && Boolean(config.botToken),
botUsername: config.botUsername,
enabled: problems.length === 0,
problems,
botUsername: config.botUsername.replace(/^@/, ''),
binding,
});
}
@@ -32,15 +35,26 @@ export async function POST(request: NextRequest) {
}
const config = await getTelegramConfig();
if (!config.enabled || !config.bindingEnabled || !config.botToken) {
return NextResponse.json({ error: 'Telegram Bot 未启用' }, { status: 400 });
const problems = getTelegramConfigProblems(config, 'binding');
if (problems.length > 0) {
return NextResponse.json({
error: `Telegram 绑定不可用:${problems.join('、')}`,
config: {
enabled: config.enabled,
bindingEnabled: config.bindingEnabled,
hasBotToken: Boolean(config.botToken),
hasBotUsername: Boolean(config.botUsername),
botUsername: config.botUsername || '',
},
}, { status: 400 });
}
const session = await createTelegramBindSession(authInfo.username);
const botUsername = config.botUsername.replace(/^@/, '');
return NextResponse.json({
code: session.code,
expiresAt: session.expiresAt,
botUsername: config.botUsername,
deepLink: config.botUsername ? getTelegramDeepLink(config.botUsername, `bind_${session.code}`) : '',
botUsername,
deepLink: getTelegramDeepLink(botUsername, `bind_${session.code}`),
});
}
+7 -4
View File
@@ -1,16 +1,19 @@
import { NextResponse } from 'next/server';
import { getTelegramConfig } from '@/lib/telegram';
import { getTelegramConfig, getTelegramConfigProblems } from '@/lib/telegram';
export const runtime = 'nodejs';
export async function GET() {
const config = await getTelegramConfig();
const loginProblems = getTelegramConfigProblems(config, 'login');
const bindingProblems = getTelegramConfigProblems(config, 'binding');
return NextResponse.json({
enabled: config.enabled && Boolean(config.botToken),
botUsername: config.botUsername,
loginEnabled: config.loginEnabled,
bindingEnabled: config.bindingEnabled,
botUsername: config.botUsername.replace(/^@/, ''),
loginEnabled: loginProblems.length === 0,
bindingEnabled: bindingProblems.length === 0,
notificationsEnabled: config.notificationsEnabled,
problems: Array.from(new Set([...loginProblems, ...bindingProblems])),
});
}
+16 -4
View File
@@ -3,6 +3,7 @@ import { NextResponse } from 'next/server';
import {
createTelegramLoginSession,
getTelegramConfig,
getTelegramConfigProblems,
getTelegramDeepLink,
} from '@/lib/telegram';
@@ -10,15 +11,26 @@ export const runtime = 'nodejs';
export async function POST() {
const config = await getTelegramConfig();
if (!config.enabled || !config.loginEnabled || !config.botToken || !config.botUsername) {
return NextResponse.json({ error: 'Telegram 登录未启用' }, { status: 400 });
const problems = getTelegramConfigProblems(config, 'login');
if (problems.length > 0) {
return NextResponse.json({
error: `Telegram 登录不可用:${problems.join('、')}`,
config: {
enabled: config.enabled,
loginEnabled: config.loginEnabled,
hasBotToken: Boolean(config.botToken),
hasBotUsername: Boolean(config.botUsername),
botUsername: config.botUsername || '',
},
}, { status: 400 });
}
const session = await createTelegramLoginSession();
const botUsername = config.botUsername.replace(/^@/, '');
return NextResponse.json({
token: session.token,
expiresAt: session.expiresAt,
botUsername: config.botUsername,
deepLink: getTelegramDeepLink(config.botUsername, `login_${session.token}`),
botUsername,
deepLink: getTelegramDeepLink(botUsername, `login_${session.token}`),
});
}