This commit is contained in:
万纯 2020-12-22 17:55:02 +08:00
commit 3e44f41933
2 changed files with 10 additions and 26 deletions

View File

@ -15,8 +15,7 @@ export default (api) => {
}); });
}, },
default: { default: {
dataField: 'result', dataField: 'result'
messageUI: 'ant-design-vue'
} }
} }
}); });
@ -26,11 +25,10 @@ export default (api) => {
const requestTemplate = readFileSync(join(__dirname, 'template', 'request.js'), 'utf-8'); const requestTemplate = readFileSync(join(__dirname, 'template', 'request.js'), 'utf-8');
api.onGenerateFiles(() => { api.onGenerateFiles(() => {
// 文件写出 // 文件写出
const { dataField = '', messageUI } = api.config.request; const { dataField = '' } = api.config.request;
api.writeTmpFile({ api.writeTmpFile({
path: absoluteFilePath, path: absoluteFilePath,
content: requestTemplate content: requestTemplate
.replace('REPLACE_MESSAGE_UI', messageUI || 'ant-design-vue')
.replace('REPLACE_DATA_FIELD', dataField) .replace('REPLACE_DATA_FIELD', dataField)
}); });
}); });

View File

@ -1,12 +1,10 @@
import axios from 'axios'; import axios from 'axios';
// import { debounce } from 'throttle-debounce'; // import { debounce } from 'throttle-debounce';
import { message } from 'REPLACE_MESSAGE_UI';
import { ApplyPluginsType, plugin, router } from '@webank/fes'; import { ApplyPluginsType, plugin, router } from '@webank/fes';
import { import {
checkHttpRequestHasBody, checkHttpRequestHasBody,
trimObj, trimObj,
isString,
isFunction, isFunction,
isObject isObject
} from './helpers'; } from './helpers';
@ -17,28 +15,15 @@ import {
* { * {
* errorMessage: '', // 错误地址 * errorMessage: '', // 错误地址
* errorPage: '', // 错误页面地址 * errorPage: '', // 错误页面地址
* showType: 1 // 0 不提示 | 1 警告 | 2 错误 | 9 页面跳转
* } * }
*/ */
function errrorHandler(error) { function _errorHandler(error, customerErrorHandler) {
if (isFunction(error)) { if (isFunction(error)) {
error(); error();
} else if (isString(error)) { } else if (error.errorPage) {
message.error(error);
} else if (isObject(error)) {
switch (error.showType) {
case 1:
message.warning(error.errorMessage);
break;
case 2:
message.error(error.errorMessage);
break;
case 9:
router.replace(error.errorPage); router.replace(error.errorPage);
break; } else {
default: customerErrorHandler && customerErrorHandler(error);
throw new Error(error);
}
} }
} }
@ -66,6 +51,7 @@ function getRequestInstance() {
errorConfig, errorConfig,
requestInterceptors, requestInterceptors,
responseInterceptors, responseInterceptors,
errorHandler,
...otherConfigs ...otherConfigs
} = plugin.applyPlugins({ } = plugin.applyPlugins({
key: 'request', key: 'request',
@ -100,7 +86,7 @@ function getRequestInstance() {
[ [
function (response) { function (response) {
if (isObject(response.data) && response.data.code !== '0') { if (isObject(response.data) && response.data.code !== '0') {
errrorHandler(_errorConfig[response.data.code] || response.data.msg || response.data.errorMessage || response.data.errorMsg || '服务异常'); _errorHandler(_errorConfig[response.data.code] || response.data.msg || response.data.errorMessage || response.data.errorMsg || '服务异常', errorHandler);
return Promise.reject(response); return Promise.reject(response);
} }
@ -110,7 +96,7 @@ function getRequestInstance() {
// The request was made and the server responded with a status code // The request was made and the server responded with a status code
// that falls out of the range of 2xx // that falls out of the range of 2xx
if (_errorConfig[error.response.status]) { if (_errorConfig[error.response.status]) {
errrorHandler(_errorConfig[error.response.status]); _errorHandler(_errorConfig[error.response.status], errorHandler);
} }
} }
return Promise.reject(error); return Promise.reject(error);