diff --git a/src/locales/lang/en/sys.ts b/src/locales/lang/en/sys.ts index 3b2960075..1e200f573 100644 --- a/src/locales/lang/en/sys.ts +++ b/src/locales/lang/en/sys.ts @@ -2,6 +2,7 @@ export default { api: { operationFailed: 'Operation failed', errorTip: 'Error Tip', + successTip: 'Success Tip', errorMessage: 'The operation failed, the system is abnormal!', timeoutMessage: 'Login timed out, please log in again!', apiTimeoutMessage: 'The interface request timed out, please refresh the page and try again!', diff --git a/src/locales/lang/zh-CN/sys.ts b/src/locales/lang/zh-CN/sys.ts index 8dad1cf42..24d38dc6c 100644 --- a/src/locales/lang/zh-CN/sys.ts +++ b/src/locales/lang/zh-CN/sys.ts @@ -2,6 +2,7 @@ export default { api: { operationFailed: '操作失败', errorTip: '错误提示', + successTip: '成功提示', errorMessage: '操作失败,系统异常!', timeoutMessage: '登录超时,请重新登录!', apiTimeoutMessage: '接口请求超时,请刷新页面重试!', diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts index bddda7087..4053d44f7 100644 --- a/src/utils/http/axios/index.ts +++ b/src/utils/http/axios/index.ts @@ -22,7 +22,7 @@ import axios from 'axios'; const globSetting = useGlobSetting(); const urlPrefix = globSetting.urlPrefix; -const { createMessage, createErrorModal } = useMessage(); +const { createMessage, createErrorModal, createSuccessModal } = useMessage(); /** * @description: 数据处理,方便区分多种处理方式 @@ -56,6 +56,15 @@ const transform: AxiosTransform = { // 这里逻辑可以根据项目进行修改 const hasSuccess = data && Reflect.has(data, 'code') && code === ResultEnum.SUCCESS; if (hasSuccess) { + let successMsg = message; + if (successMsg === null || successMsg === undefined || successMsg === '') { + successMsg = '操作成功'; + } + if (options.successMessageMode === 'modal') { + createSuccessModal({ title: t('sys.api.successTip'), content: successMsg }); + } else if (options.successMessageMode === 'message') { + createMessage.success(successMsg); + } return result; } diff --git a/types/axios.d.ts b/types/axios.d.ts index b18af05af..0ff2f5858 100644 --- a/types/axios.d.ts +++ b/types/axios.d.ts @@ -1,4 +1,5 @@ export type ErrorMessageMode = 'none' | 'modal' | 'message' | undefined; +export type SuccessMessageMode = ErrorMessageMode; export interface RequestOptions { // Splicing request parameters to url @@ -18,6 +19,8 @@ export interface RequestOptions { urlPrefix?: string; // Error message prompt type errorMessageMode?: ErrorMessageMode; + // Success message prompt type + successMessageMode?: SuccessMessageMode; // Whether to add a timestamp joinTime?: boolean; ignoreCancelToken?: boolean;