diff --git a/src/store/hooks/useOutsideRouter.ts b/src/store/hooks/useOutsideRouter.ts new file mode 100644 index 00000000..e6481230 --- /dev/null +++ b/src/store/hooks/useOutsideRouter.ts @@ -0,0 +1,9 @@ +import { defineStore } from 'pinia' + +export const useOutsideRouter = defineStore('outside-router', () => { + const router = useRouter() + + return { + router + } +}) diff --git a/src/store/plugins/index.ts b/src/store/plugins/index.ts index 7a1abf92..2538ad36 100644 --- a/src/store/plugins/index.ts +++ b/src/store/plugins/index.ts @@ -3,17 +3,14 @@ */ import { getFilterResponse } from '@/store/utils/mixin' -import router from '@/router' export const pluginPinia = ({ store }) => { store.filterResponse = getFilterResponse - store.router = router } declare module 'pinia' { export interface PiniaCustomProperties { filterResponse: typeof getFilterResponse - router: typeof router } } diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 8664cbb0..34d889ad 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -8,8 +8,6 @@ import { requiredRadioRules } from '@/utils/formRules' -import router from '@/router' - // $ModalDialog declare module 'vue' { export interface VNode { @@ -50,7 +48,6 @@ declare module 'pinia' { */ export interface PiniaCustomProperties { filterResponse: typeof getFilterResponse - router: typeof router } } diff --git a/src/utils/request.ts b/src/utils/request.ts index d06c4323..195c49a6 100755 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -2,11 +2,12 @@ import axios, { AxiosInstance } from 'axios' import Cookie from 'js-cookie' import { camelizeKeys, decamelizeKeys } from '@/utils/camelCase' -import Router from '@/router' +import { useOutsideRouter } from '@/store/hooks/useOutsideRouter' // redirect error function errorRedirect (url: string) { - Router.push(`/${url}`) + const { router } = useOutsideRouter() + router.push(url) } export interface RespData {