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