فهرست منبع

navigate测试

linyuanjie 4 ماه پیش
والد
کامیت
804d2c78a0
3فایلهای تغییر یافته به همراه12 افزوده شده و 6 حذف شده
  1. 5 4
      src/api/request/index.ts
  2. 1 1
      src/router/context/NavigationContext.tsx
  3. 6 1
      src/router/index.tsx

+ 5 - 4
src/api/request/index.ts

@@ -1,5 +1,5 @@
 import { useUserSessionStore } from '@/store/userStore'
-import { useNavigation } from '@/router/context/NavigationContext'
+import { useNavigateContext } from '@/router/context/NavigationContext'
 import { ResultEnum } from '#/enum'
 import { t } from '@/locales/i18n'
 import axios, { type AxiosError, type AxiosRequestConfig, type AxiosResponse } from 'axios'
@@ -10,7 +10,7 @@ import { BASE_URL, TIME_OUT } from './config'
 
 const handleNetworkError = (response: AxiosResponse) => {
   const { actions } = useUserSessionStore.getState()
-  const { navigate } = useNavigation()
+  // const { navigate } = useNavigateContext()
   if (!response) return
   let errMessage = '未知错误'
   const status = response?.status
@@ -23,7 +23,7 @@ const handleNetworkError = (response: AxiosResponse) => {
         errMessage = '未授权,请重新登录'
         // abortRequestFn()
         // logoutFn()
-        navigate('/login')
+        // navigate('/login')
         actions.clearUserInfoAndToken()
         break
       case 403:
@@ -104,7 +104,8 @@ axiosInstance.interceptors.request.use(
       config.data = serialize(config.data)
       delete config.data.serialize
     }
-
+    const { navigate } = useNavigateContext()
+    navigate('/login')
     if (config.method === 'get') {
       config.paramsSerializer = function (params) {
         return qs.stringify(params, { arrayFormat: 'repeat' })

+ 1 - 1
src/router/context/NavigationContext.tsx

@@ -14,4 +14,4 @@ export const NavigationProvider = ({ children }: PropsWithChildren) => {
   return <NavigationContext.Provider value={{ navigate }}>{children}</NavigationContext.Provider>
 }
 
-export const useNavigation = () => useContext(NavigationContext)
+export const useNavigateContext = () => useContext(NavigationContext)

+ 6 - 1
src/router/index.tsx

@@ -8,6 +8,7 @@ import { ERROR_ROUTE } from '@/router/routes/error-routes'
 import DashboardLayout from '@/layouts/dashboard'
 import PageError from '@/pages/sys/error/PageError'
 import Login from '@/pages/sys/login/Login'
+import { NavigationProvider } from './context/NavigationContext'
 
 const { VITE_APP_HOMEPAGE: HOMEPAGE } = import.meta.env
 
@@ -44,5 +45,9 @@ export default function Router() {
 
   const router = createHashRouter(routes)
 
-  return <RouterProvider router={router} />
+  return (
+    <NavigationProvider>
+      <RouterProvider router={router} />
+    </NavigationProvider>
+  )
 }