feat: 优化API请求错误输出
parent
611dfe5727
commit
0e39ea474a
|
|
@ -51,11 +51,10 @@ api.instance.interceptors.response.use(
|
||||||
},
|
},
|
||||||
(error) => {
|
(error) => {
|
||||||
error.config.closeToast?.();
|
error.config.closeToast?.();
|
||||||
if (error.request) {
|
|
||||||
console.log("request error", error.request);
|
|
||||||
}
|
|
||||||
if (error.response) {
|
if (error.response) {
|
||||||
console.log("response error", error.response);
|
console.log("response error", error.response);
|
||||||
|
} else if (error.request) {
|
||||||
|
console.log("request error", error.request);
|
||||||
}
|
}
|
||||||
return Promise.reject(error);
|
return Promise.reject(error);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
export const config = {
|
||||||
|
getApiErrorMessage(error: any) {
|
||||||
|
return error?.response?.data?.message || error?.message || "Error";
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
@ -2,6 +2,7 @@ import { Button, ButtonInstance, FormInstance, Message, Modal } from "@arco-desi
|
||||||
import { assign, cloneDeep, omit } from "lodash-es";
|
import { assign, cloneDeep, omit } from "lodash-es";
|
||||||
import { PropType, VNode, defineComponent } from "vue";
|
import { PropType, VNode, defineComponent } from "vue";
|
||||||
import { Form } from "./form";
|
import { Form } from "./form";
|
||||||
|
import { config } from "./form-config";
|
||||||
import { IFormItem } from "./form-item";
|
import { IFormItem } from "./form-item";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -100,7 +101,10 @@ export const FormModal = defineComponent({
|
||||||
res?.data?.message && Message.success(`提示: ${res.data.message}`);
|
res?.data?.message && Message.success(`提示: ${res.data.message}`);
|
||||||
emit("submited", res);
|
emit("submited", res);
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
error.message && Message.error(`提示: ${error.message}`);
|
const message = config.getApiErrorMessage(error);
|
||||||
|
if (message) {
|
||||||
|
Message.error(`提示: ${message}`);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,14 @@ export const Form = defineComponent({
|
||||||
try {
|
try {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
const res = await props.submit?.({ model, items: props.items });
|
const res = await props.submit?.({ model, items: props.items });
|
||||||
res.message && Message.success(`提示: ${res.message}`);
|
if (res?.message) {
|
||||||
|
Message.success(`提示: ${res.message}`);
|
||||||
|
}
|
||||||
|
} catch (error: any) {
|
||||||
|
const message = error?.response?.data?.message || error?.message || "提交失败";
|
||||||
|
if (message) {
|
||||||
|
Message.error(`提示: ${message}`);
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,4 +60,8 @@ export const config = {
|
||||||
hideCancel: false,
|
hideCancel: false,
|
||||||
maskClosable: false,
|
maskClosable: false,
|
||||||
},
|
},
|
||||||
|
getApiErrorMessage(error: any): string {
|
||||||
|
const message = error?.response?.data?.message || error?.message || "请求失败";
|
||||||
|
return message;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
import { TableColumnData as BaseColumn, TableData as BaseData, Table as BaseTable } from "@arco-design/web-vue";
|
import {
|
||||||
|
TableColumnData as BaseColumn,
|
||||||
|
TableData as BaseData,
|
||||||
|
Table as BaseTable,
|
||||||
|
Message,
|
||||||
|
} from "@arco-design/web-vue";
|
||||||
import { merge } from "lodash-es";
|
import { merge } from "lodash-es";
|
||||||
import { PropType, computed, defineComponent, reactive, ref, watch } from "vue";
|
import { PropType, computed, defineComponent, reactive, ref, watch } from "vue";
|
||||||
import { Form, FormInstance, FormModal, FormModalInstance, FormModalProps, FormProps } from "../form";
|
import { Form, FormInstance, FormModal, FormModalInstance, FormModalProps, FormProps } from "../form";
|
||||||
|
|
@ -102,7 +107,10 @@ export const Table = defineComponent({
|
||||||
props.pagination.total = total;
|
props.pagination.total = total;
|
||||||
props.pagination.current = paging.page;
|
props.pagination.current = paging.page;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log("table error", error);
|
const message = config.getApiErrorMessage(error);
|
||||||
|
if (message) {
|
||||||
|
Message.error(`提示:${message}`);
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue