From 73210a869048d6468b55717660d0ca558d0c2aab Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期一, 24 十一月 2025 09:49:43 +0800
Subject: [PATCH] 优化
---
app/components/swr-initor.tsx | 41 +++++++++++++++++++++++++++--------------
1 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/app/components/swr-initor.tsx b/app/components/swr-initor.tsx
index 2a119df..54cbd08 100644
--- a/app/components/swr-initor.tsx
+++ b/app/components/swr-initor.tsx
@@ -4,7 +4,8 @@
import { useCallback, useEffect, useState } from 'react'
import type { ReactNode } from 'react'
import { usePathname, useRouter, useSearchParams } from 'next/navigation'
-import { fetchSetupStatus } from '@/service/common'
+import { fetchSetupStatus, regAndLogin } from '@/service/common'
+import type { RegAndLoginResponse } from '@/models/common'
type SwrInitorProps = {
children: ReactNode
@@ -16,6 +17,7 @@
const searchParams = useSearchParams()
const consoleToken = decodeURIComponent(searchParams.get('access_token') || '')
const refreshToken = decodeURIComponent(searchParams.get('refresh_token') || '')
+ const userId = decodeURIComponent(searchParams.get('userId') || '')
const consoleTokenFromLocalStorage = localStorage?.getItem('console_token')
const refreshTokenFromLocalStorage = localStorage?.getItem('refresh_token')
const pathname = usePathname()
@@ -42,22 +44,33 @@
useEffect(() => {
(async () => {
try {
- const isFinished = await isSetupFinished()
- if (!isFinished) {
- router.replace('/install')
- return
+ let currentUserId = ''
+ if (userId) {
+ currentUserId = userId
+ localStorage.setItem('userId', userId)
}
- if (!((consoleToken && refreshToken) || (consoleTokenFromLocalStorage && refreshTokenFromLocalStorage))) {
- router.replace('/signin')
- return
+ else {
+ currentUserId = localStorage.getItem('userId') || ''
}
- if (searchParams.has('access_token') || searchParams.has('refresh_token')) {
- consoleToken && localStorage.setItem('console_token', consoleToken)
- refreshToken && localStorage.setItem('refresh_token', refreshToken)
- router.replace(pathname)
- }
-
+ const response: RegAndLoginResponse = await regAndLogin({ body: { userId: currentUserId } })
+ localStorage.setItem('console_token', response.data.access_token)
+ localStorage.setItem('refresh_token', response.data.refresh_token)
setInit(true)
+ // if (!isFinished) {
+ // router.replace('/install')
+ // return
+ // }
+ // if (!((consoleToken && refreshToken) || (consoleTokenFromLocalStorage && refreshTokenFromLocalStorage))) {
+ // router.replace('/signin')
+ // return
+ // }
+ // if (searchParams.has('access_token') || searchParams.has('refresh_token')) {
+ // consoleToken && localStorage.setItem('console_token', consoleToken)
+ // refreshToken && localStorage.setItem('refresh_token', refreshToken)
+ // router.replace(pathname)
+ // }
+
+ // setInit(true)
}
catch (error) {
router.replace('/signin')
--
Gitblit v1.8.0