Browse Source

chore: Api Exception

master
wangxiang 2 years ago
parent
commit
ee1763c5b6
No known key found for this signature in database
GPG Key ID: 1BA7946AB6B232E4
  1. 4
      src/enums/exceptionEnum.ts
  2. 9
      src/utils/http/axios/index.ts
  3. 3
      src/views/core/exception/Exception.vue
  4. 1
      src/views/system/file/file.data.ts

4
src/enums/exceptionEnum.ts

@ -6,6 +6,10 @@
*/ */
export enum ExceptionEnum { export enum ExceptionEnum {
// 禁止访问
UNAUTHORIZED_ACCESS = 401,
// 页面无法访问 // 页面无法访问
PAGE_NOT_ACCESS = 403, PAGE_NOT_ACCESS = 403,

9
src/utils/http/axios/index.ts

@ -21,6 +21,7 @@ import { joinTimestamp, formatRequestDate } from './helper';
import { Base64 } from 'js-base64'; import { Base64 } from 'js-base64';
import { AxiosRetry } from '/@/utils/http/axios/axiosRetry'; import { AxiosRetry } from '/@/utils/http/axios/axiosRetry';
import { clone } from 'lodash-es'; import { clone } from 'lodash-es';
import { useAppStoreWithOut } from '/@/store/modules/app';
const globSetting = useGlobSetting(); const globSetting = useGlobSetting();
const urlPrefix = globSetting.urlPrefix; const urlPrefix = globSetting.urlPrefix;
@ -134,9 +135,15 @@ const transform: AxiosTransform = {
const errorMessageMode = config?.requestOptions?.errorMessageMode || 'none'; const errorMessageMode = config?.requestOptions?.errorMessageMode || 'none';
const err: string = response?.data?.msg?.toString?.() ?? ''; const err: string = response?.data?.msg?.toString?.() ?? '';
let errMessage = err; let errMessage = err;
// 异常响应页面
const exceptionCode = response?.data?.code;
if (typeof exceptionCode == 'number') {
const appStore = useAppStoreWithOut();
appStore.setPageException(exceptionCode);
}
// 优先使用预设错误提示 // 优先使用预设错误提示
const status = error?.response?.status || 200; const status = error?.response?.status || 200;
if(!checkStatus(status, errMessage, errorMessageMode)){ if(!checkStatus(status, errMessage, errorMessageMode, response)){
try { try {
// 扩展预设异常处理 // 扩展预设异常处理
if (code === 'ECONNABORTED' && message.indexOf('timeout') !== -1) { if (code === 'ECONNABORTED' && message.indexOf('timeout') !== -1) {

3
src/views/core/exception/Exception.vue

@ -57,7 +57,8 @@
}); });
const getMapValue = computed((): MapValue => { 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'); const backLoginI18n = t('sys.exception.backLogin');

1
src/views/system/file/file.data.ts

@ -33,7 +33,6 @@ export const columns: BasicColumn[] = [
ellipsis: true, ellipsis: true,
width: 380, width: 380,
customRender: ({ record }) => { customRender: ({ record }) => {
//debugger
console.log(`${getCloudProxyUrl()}${Api.get}/${record.bucketName}/${record.fileName}`) console.log(`${getCloudProxyUrl()}${Api.get}/${record.bucketName}/${record.fileName}`)
const url = encodeURL(`${getCloudProxyUrl()}${Api.get}/${record.bucketName}/${record.fileName}`); const url = encodeURL(`${getCloudProxyUrl()}${Api.get}/${record.bucketName}/${record.fileName}`);
return h(Button, { return h(Button, {

Loading…
Cancel
Save