feat: 优化API请求错误输出
parent
611dfe5727
commit
0e39ea474a
|
|
@ -51,11 +51,10 @@ api.instance.interceptors.response.use(
|
|||
},
|
||||
(error) => {
|
||||
error.config.closeToast?.();
|
||||
if (error.request) {
|
||||
console.log("request error", error.request);
|
||||
}
|
||||
if (error.response) {
|
||||
console.log("response error", error.response);
|
||||
} else if (error.request) {
|
||||
console.log("request error", error.request);
|
||||
}
|
||||
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 { PropType, VNode, defineComponent } from "vue";
|
||||
import { Form } from "./form";
|
||||
import { config } from "./form-config";
|
||||
import { IFormItem } from "./form-item";
|
||||
|
||||
/**
|
||||
|
|
@ -100,7 +101,10 @@ export const FormModal = defineComponent({
|
|||
res?.data?.message && Message.success(`提示: ${res.data.message}`);
|
||||
emit("submited", res);
|
||||
} catch (error: any) {
|
||||
error.message && Message.error(`提示: ${error.message}`);
|
||||
const message = config.getApiErrorMessage(error);
|
||||
if (message) {
|
||||
Message.error(`提示: ${message}`);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -93,7 +93,14 @@ export const Form = defineComponent({
|
|||
try {
|
||||
loading.value = true;
|
||||
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 {
|
||||
loading.value = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,4 +60,8 @@ export const config = {
|
|||
hideCancel: 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 { PropType, computed, defineComponent, reactive, ref, watch } from "vue";
|
||||
import { Form, FormInstance, FormModal, FormModalInstance, FormModalProps, FormProps } from "../form";
|
||||
|
|
@ -102,7 +107,10 @@ export const Table = defineComponent({
|
|||
props.pagination.total = total;
|
||||
props.pagination.current = paging.page;
|
||||
} catch (error) {
|
||||
console.log("table error", error);
|
||||
const message = config.getApiErrorMessage(error);
|
||||
if (message) {
|
||||
Message.error(`提示:${message}`);
|
||||
}
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue