Browse Source

feat(axiosSuccess): 操作成功后根据传入提示模式进行相应 (#2326)

pull/2332/head
mfish 4 years ago
committed by GitHub
parent
commit
17d16ae545
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      src/locales/lang/en/sys.ts
  2. 1
      src/locales/lang/zh-CN/sys.ts
  3. 11
      src/utils/http/axios/index.ts
  4. 3
      types/axios.d.ts

1
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!',

1
src/locales/lang/zh-CN/sys.ts

@ -2,6 +2,7 @@ export default {
api: {
operationFailed: '操作失败',
errorTip: '错误提示',
successTip: '成功提示',
errorMessage: '操作失败,系统异常!',
timeoutMessage: '登录超时,请重新登录!',
apiTimeoutMessage: '接口请求超时,请刷新页面重试!',

11
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;
}

3
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;

Loading…
Cancel
Save