From d491aac8dc04b14bdd9f83702c82502558200ad3 Mon Sep 17 00:00:00 2001 From: wmp <17516219072@163.com> Date: Mon, 15 Sep 2025 15:58:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dmiddleware=E8=A7=84=E5=88=99?= =?UTF-8?q?=E5=92=8C=E5=88=A0=E9=99=A4test=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/api/test/route.ts | 28 -------------- src/app/debug/page.tsx | 77 --------------------------------------- src/app/page.tsx | 13 ------- src/app/test.ts | 20 ---------- src/lib/db.ts | 8 ---- src/middleware.ts | 38 +++++++++++-------- 6 files changed, 23 insertions(+), 161 deletions(-) delete mode 100644 src/app/api/test/route.ts delete mode 100644 src/app/debug/page.tsx delete mode 100644 src/app/page.tsx delete mode 100644 src/app/test.ts delete mode 100644 src/lib/db.ts diff --git a/src/app/api/test/route.ts b/src/app/api/test/route.ts deleted file mode 100644 index 340cd53..0000000 --- a/src/app/api/test/route.ts +++ /dev/null @@ -1,28 +0,0 @@ -// src/app/api/test/route.ts -import { db } from '@/lib/db' -import { NextResponse } from 'next/server' - -// src/app/api/test/route.ts -export async function GET() { - try { - // 测试数据库连接 - await db.$queryRaw`SELECT 1` - - // 暂时注释掉用户查询,因为表可能还不存在 - // const users = await db.user.findMany() - - return NextResponse.json({ - success: true, - message: '数据库连接成功', - // userCount: users.length, - // users: users - }) - } catch (error) { - console.error('数据库测试错误:', error) - return NextResponse.json({ - success: false, - error: error instanceof Error ? error.message : 'Unknown error', - message: '数据库连接失败' - }, { status: 500 }) - } -} \ No newline at end of file diff --git a/src/app/debug/page.tsx b/src/app/debug/page.tsx deleted file mode 100644 index d63e266..0000000 --- a/src/app/debug/page.tsx +++ /dev/null @@ -1,77 +0,0 @@ -'use client' - -import { useState } from 'react' - -export default function DebugPage() { - const [results, setResults] = useState>({}) - const [loading, setLoading] = useState(false) - - const testAllEndpoints = async () => { - setLoading(true) - const endpoints = [ - 'gateway_config', - 'city_config_count', - 'city_node_count', - 'allocation_status', - 'duplicate_nodes' - ] - - const results: Record = {} - - for (const endpoint of endpoints) { - try { - const response = await fetch(`/api/stats?type=${endpoint}`) - results[endpoint] = { - status: response.status, - data: await response.json() - } - } catch (error) { - results[endpoint] = { - error: error instanceof Error ? error.message : 'Unknown error' - } - } - } - - setResults(results) - setLoading(false) - } - - return ( -
-

API调试页面

- - -
-

测试结果:

-
-          {JSON.stringify(results, null, 2)}
-        
-
- -
-

数据库连接测试:

- -
-
- ) -} \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx deleted file mode 100644 index e12f9e5..0000000 --- a/src/app/page.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { PrismaClient } from '@prisma/client' - -export default async function Home() { - const prisma = new PrismaClient() - const data = await prisma.change.findMany({ take: 10 }) - - return ( -
-

数据库连接成功!

-
{JSON.stringify(data, null, 2)}
-
- ) -} \ No newline at end of file diff --git a/src/app/test.ts b/src/app/test.ts deleted file mode 100644 index 3ec0468..0000000 --- a/src/app/test.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { PrismaClient } from '@prisma/client' - -const prisma = new PrismaClient() - -async function main() { - try { - // 测试查询 - const changes = await prisma.change.findMany({ - take: 5 - }) - console.log('✅ 数据库连接成功!') - console.log('获取到的数据:', changes) - } catch (error) { - console.error('❌ 连接失败:', error) - } finally { - await prisma.$disconnect() - } -} - -main() \ No newline at end of file diff --git a/src/lib/db.ts b/src/lib/db.ts deleted file mode 100644 index 6220b63..0000000 --- a/src/lib/db.ts +++ /dev/null @@ -1,8 +0,0 @@ -// import { PrismaClient } from '@prisma/client' - -// const globalForPrisma = global as { prisma?: PrismaClient } - -// export const db = globalForPrisma.prisma || new PrismaClient() - -// if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = db -export { prisma as db } from './prisma' diff --git a/src/middleware.ts b/src/middleware.ts index 3ac3e08..a2c5672 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -1,29 +1,37 @@ import { NextResponse } from 'next/server' import type { NextRequest } from 'next/server' +export const config = { + matcher: [ + '/((?!_next|.well-known|favicon.ico|sitemap.xml|robots.txt).*(? request.nextUrl.pathname.startsWith(path))) { + return NextResponse.next() } + // 其他路径都视为受保护路径,重定向到登录页 + console.log(request.nextUrl.pathname, 22222222222222222); + return NextResponse.redirect(new URL('/login', request.url)) } - // 已登录用户重定向 - if (session?.value && ( - request.nextUrl.pathname === '/login' || - request.nextUrl.pathname === '/register' - )) { - console.log(session, 'sessionsessionsession'); + // 给没有页面的路径添加跳转页面 + if (request.nextUrl.pathname === '/') { + console.log(request.nextUrl.pathname, 333333333333333333); return NextResponse.redirect(new URL('/dashboard', request.url)) } + console.log(request.nextUrl.pathname, 44444444444444444444); return NextResponse.next() } - -export const config = { - matcher: ['/dashboard/:path*', '/login', '/register'] -} \ No newline at end of file