diff --git a/src/enums/exceptionEnum.ts b/src/enums/exceptionEnum.ts index 27154bf..966aa50 100644 --- a/src/enums/exceptionEnum.ts +++ b/src/enums/exceptionEnum.ts @@ -6,6 +6,10 @@ */ export enum ExceptionEnum { + + // 禁止访问 + UNAUTHORIZED_ACCESS = 401, + // 页面无法访问 PAGE_NOT_ACCESS = 403, diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts index 92c3abe..4cce41e 100644 --- a/src/utils/http/axios/index.ts +++ b/src/utils/http/axios/index.ts @@ -21,6 +21,7 @@ import { joinTimestamp, formatRequestDate } from './helper'; import { Base64 } from 'js-base64'; import { AxiosRetry } from '/@/utils/http/axios/axiosRetry'; import { clone } from 'lodash-es'; +import { useAppStoreWithOut } from '/@/store/modules/app'; const globSetting = useGlobSetting(); const urlPrefix = globSetting.urlPrefix; @@ -134,9 +135,15 @@ const transform: AxiosTransform = { const errorMessageMode = config?.requestOptions?.errorMessageMode || 'none'; const err: string = response?.data?.msg?.toString?.() ?? ''; let errMessage = err; + // 异常响应页面 + const exceptionCode = response?.data?.code; + if (typeof exceptionCode == 'number') { + const appStore = useAppStoreWithOut(); + appStore.setPageException(exceptionCode); + } // 优先使用预设错误提示 const status = error?.response?.status || 200; - if(!checkStatus(status, errMessage, errorMessageMode)){ + if(!checkStatus(status, errMessage, errorMessageMode, response)){ try { // 扩展预设异常处理 if (code === 'ECONNABORTED' && message.indexOf('timeout') !== -1) { diff --git a/src/views/core/exception/Exception.vue b/src/views/core/exception/Exception.vue index b79063b..78dc187 100644 --- a/src/views/core/exception/Exception.vue +++ b/src/views/core/exception/Exception.vue @@ -57,7 +57,8 @@ }); const getMapValue = computed((): MapValue => { - return unref(statusMapRef).get(unref(getStatus)) as MapValue; + const status = unref(statusMapRef).has(unref(getStatus)) ? unref(getStatus) : ExceptionEnum.PAGE_NOT_FOUND; + return unref(statusMapRef).get(status) as MapValue; }); const backLoginI18n = t('sys.exception.backLogin'); diff --git a/src/views/system/file/file.data.ts b/src/views/system/file/file.data.ts index 768e4dc..12fa4ba 100644 --- a/src/views/system/file/file.data.ts +++ b/src/views/system/file/file.data.ts @@ -33,7 +33,6 @@ export const columns: BasicColumn[] = [ ellipsis: true, width: 380, customRender: ({ record }) => { - //debugger console.log(`${getCloudProxyUrl()}${Api.get}/${record.bucketName}/${record.fileName}`) const url = encodeURL(`${getCloudProxyUrl()}${Api.get}/${record.bucketName}/${record.fileName}`); return h(Button, {