hts/apps/migrant/middleware.ts

93 lines
1.9 KiB
TypeScript

// export { auth as middleware } from './auth'
// export const config = {
// matcher: ['/((?!api|_next/static|_next/image|favicon.ico).*)']
// }
import { i18nRouter } from 'next-i18n-router';
import i18nConfig from './i18nConfig';
import { NextResponse, NextRequest, NextFetchEvent } from 'next/server'
import { authConfig } from './auth.config'
import NextAuth from 'next-auth';
export default NextAuth(authConfig).auth
export function isRouter(pathname: string) {
return [
"/xauth/login/",
"/xauth/signup/",
"/preview"
// "/new/",
// "/manage/",
].includes(pathname)
}
// This function can be marked `async` if using `await` inside
export function middleware(req: NextRequest, evt: NextFetchEvent) {
// return NextResponse.redirect(new URL('/home', request.url))
const foundItem: string | undefined = [
"/xauth/login/",
"/xauth/signup/",
"/staffai"
// "/new/",
// "/manage/",
].find(item =>
// item.includes(req.nextUrl.pathname)
req.nextUrl.pathname.indexOf(item) !== -1
)
console.log(`
======>
${req.url} - ${JSON.stringify(req)} - ${req.nextUrl.pathname} - ${foundItem}
`)
if (foundItem) {
return
}
//
if (req.nextUrl.pathname.indexOf("manage") !== -1) {
// 是否存在token
// console.log(req.headers)
console.log(req.headers.get("Authorization"))
// return NextResponse.redirect(new URL("/new", req.url));
}
return i18nRouter(req, i18nConfig);
}
// export const config = {
// matcher: [
// "/app",
// "/app/(.*)",
// "/auth/(.*)",
// "/(api|trpc)(.*)",
// "/((?!_next/static|_next/image|images|favicon.ico|$).*)",
// ],
// };
// only applies this middleware to files in the app directory
export const config = {
matcher: '/((?!api|static|.*\\..*|_next).*)'
};
// export const config = {
// matcher: ['/((?!api|_next/static|_next/image|favicon.ico|favicon.png).*)']
// }