Commit 17d16ae545b18601b109cc67372928bf48f41cd8
Committed by
GitHub
1 parent
9ae67bf9
feat(axiosSuccess): 操作成功后根据传入提示模式进行相应 (#2326)
Showing
4 changed files
with
15 additions
and
1 deletions
src/locales/lang/en/sys.ts
... | ... | @@ -2,6 +2,7 @@ export default { |
2 | 2 | api: { |
3 | 3 | operationFailed: 'Operation failed', |
4 | 4 | errorTip: 'Error Tip', |
5 | + successTip: 'Success Tip', | |
5 | 6 | errorMessage: 'The operation failed, the system is abnormal!', |
6 | 7 | timeoutMessage: 'Login timed out, please log in again!', |
7 | 8 | apiTimeoutMessage: 'The interface request timed out, please refresh the page and try again!', | ... | ... |
src/locales/lang/zh-CN/sys.ts
src/utils/http/axios/index.ts
... | ... | @@ -22,7 +22,7 @@ import axios from 'axios'; |
22 | 22 | |
23 | 23 | const globSetting = useGlobSetting(); |
24 | 24 | const urlPrefix = globSetting.urlPrefix; |
25 | -const { createMessage, createErrorModal } = useMessage(); | |
25 | +const { createMessage, createErrorModal, createSuccessModal } = useMessage(); | |
26 | 26 | |
27 | 27 | /** |
28 | 28 | * @description: 数据处理,方便区分多种处理方式 |
... | ... | @@ -56,6 +56,15 @@ const transform: AxiosTransform = { |
56 | 56 | // 这里逻辑可以根据项目进行修改 |
57 | 57 | const hasSuccess = data && Reflect.has(data, 'code') && code === ResultEnum.SUCCESS; |
58 | 58 | if (hasSuccess) { |
59 | + let successMsg = message; | |
60 | + if (successMsg === null || successMsg === undefined || successMsg === '') { | |
61 | + successMsg = '操作成功'; | |
62 | + } | |
63 | + if (options.successMessageMode === 'modal') { | |
64 | + createSuccessModal({ title: t('sys.api.successTip'), content: successMsg }); | |
65 | + } else if (options.successMessageMode === 'message') { | |
66 | + createMessage.success(successMsg); | |
67 | + } | |
59 | 68 | return result; |
60 | 69 | } |
61 | 70 | ... | ... |
types/axios.d.ts
1 | 1 | export type ErrorMessageMode = 'none' | 'modal' | 'message' | undefined; |
2 | +export type SuccessMessageMode = ErrorMessageMode; | |
2 | 3 | |
3 | 4 | export interface RequestOptions { |
4 | 5 | // Splicing request parameters to url |
... | ... | @@ -18,6 +19,8 @@ export interface RequestOptions { |
18 | 19 | urlPrefix?: string; |
19 | 20 | // Error message prompt type |
20 | 21 | errorMessageMode?: ErrorMessageMode; |
22 | + // Success message prompt type | |
23 | + successMessageMode?: SuccessMessageMode; | |
21 | 24 | // Whether to add a timestamp |
22 | 25 | joinTime?: boolean; |
23 | 26 | ignoreCancelToken?: boolean; | ... | ... |