diff --git a/README.md b/README.md index e32abf1..3e79db9 100644 --- a/README.md +++ b/README.md @@ -11,17 +11,18 @@ - 提取后刷新提取页套餐可用余量 - 白名单复用表格组件 - 首次登录弹窗:需要设置初始密码,展示 实名->购买->提取 的流程介绍 -- 提取页表单性能优化,树组件性能优化 +- 丰富账单页表格内容与样式 - 检查页面,为后端请求标记 wait 实现防抖机制 - 页面切换动效 - 后台页面: - 总览 - 提取记录 - 使用记录 -- 检查页面请求异常处理 -- 实现完整的客户端 ip 有效性检查 ### 长期 - 检查扩大服务端组件边界 - 检查 Card 替换 section 或 div +- 检查页面请求异常处理 +- 实现完整的客户端 ip 有效性检查 +- 提取页表单性能优化,树组件性能优化 diff --git a/src/app/(home)/@header/_client/provider.tsx b/src/app/(home)/@header/_client/provider.tsx index 94d3c43..25c440e 100644 --- a/src/app/(home)/@header/_client/provider.tsx +++ b/src/app/(home)/@header/_client/provider.tsx @@ -73,7 +73,7 @@ export default function Provider(props: ProviderProps) {
{/* logo */} - + {`logo`} diff --git a/src/app/admin/resources/page.tsx b/src/app/admin/resources/page.tsx index 6bc25a1..c1d6d30 100644 --- a/src/app/admin/resources/page.tsx +++ b/src/app/admin/resources/page.tsx @@ -60,7 +60,6 @@ export default function ResourcesPage(props: ResourcesPageProps) { }) if (res.success) { - console.log(res.data) setData(res.data) setStatus('done') } diff --git a/src/middleware.ts b/src/middleware.ts index 4a50223..f7c7c28 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -13,29 +13,31 @@ export async function middleware(request: NextRequest) { // 记录请求页面 request.headers.set('x-pathname', request.nextUrl.pathname) - // 如果没有访问令牌但有刷新令牌,尝试刷新访问令牌 + // 刷新访问令牌 + try { + const accessToken = request.cookies.get('auth_token') + const refreshToken = request.cookies.get('auth_refresh') + if (!accessToken && !!refreshToken) { + console.log('💡 refresh token') + const token = await refreshAuth() + request.cookies.set('auth_token', token.access_token) + request.cookies.set('auth_refresh', token.refresh_token) + } + } + catch (e) { + console.log('❌ 刷新访问令牌失败', e) + } + + // 没有访问令牌不允许访问 admin 页面 const match = [ RegExp(`^/admin.*`), ].some(item => item.test(request.nextUrl.pathname)) - console.log('🔧 match', match, request.nextUrl.pathname) - if (match) { - try { - const accessToken = request.cookies.get('auth_token') - const refreshToken = request.cookies.get('auth_refresh') - console.log('🔧 token', !accessToken && !!refreshToken, !!accessToken, !!refreshToken) - if (!accessToken && !!refreshToken) { - console.log('💡 refresh token') - const token = await refreshAuth() - request.cookies.set('auth_token', token.access_token) - request.cookies.set('auth_refresh', token.refresh_token) - } - } - catch (error) { - console.log(error) - console.log('redirect!!!!!!!!!') - return NextResponse.redirect(`${request.nextUrl.origin}/login?redirect=${request.nextUrl.pathname}`) - } + const accessToken = request.cookies.get('auth_token') + + if (match && !accessToken) { + console.log('redirect!!!!!!!!!') + return NextResponse.redirect(`${request.nextUrl.origin}/login?redirect=${request.nextUrl.pathname}`) } return NextResponse.next({request})