import { Modal, notification } from 'antd'; import { instanceRequest, service, event } from '@wisdom-utils/utils'; import AppService from './service/base'; import notificationService from './service/notification'; import CloudService from './service/cloud'; const { warning } = Modal; // eslint-disable-next-line no-return-await instanceRequest.reportCodeError = true; instanceRequest.transformRequestURL = function(url) { // url = url.replace(/\/GateWay/, '') const excludeURL = [ '/PandaCore/GCK/Basis/GateWayConfig', '/CityInterface/rest/services.svc/GetConfig', '/PandaOMS/OMS/HostManager/GetGateWay', '/PandaCore/Identity/AuthorizationToken' ]; if (excludeURL.includes(url)) { return url; } // if ( // window.globalConfig && // window.globalConfig.hasGateWay && // /^\/(cityinterface|CityInterface|Cityinterface|CityServer|PandaInformatization)/.test( // url, // ) // ) { // return /\/CityInterface\/rest\/services.svc\/GetConfig/.test(url) // ? url // ? /^\/GateWay/.test(url) // ? url // : `/GateWay${url}` // : `/GateWay${url}` // : `/GateWay${url}`; // } // if(window.globalConfig && window.globalConfig.hasGateWay) { // return url && /^\/GateWay/.test(url) ? url : `/GateWay${url}` // } return url; }; const codeMessage = { 200: '服务器成功返回请求的数据。', 201: '新建或修改数据成功。', 202: '一个请求已经进入后台排队(异步任务)。', 204: '删除数据成功。', 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', 401: '用户没有权限(令牌、用户名、密码错误), 或当前的会话已超时,请重新登录', 403: '用户得到授权,但是访问是被禁止的。', 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', 406: '请求的格式不可得。', 410: '请求的资源被永久删除,且不会再得到的。', 422: '当创建一个对象时,发生一个验证错误。', 500: '服务器发生错误,请检查服务器。', 502: '网关错误。', 503: '服务不可用,服务器暂时过载或维护。', 504: '网关超时。', }; const instance = null; instanceRequest.setErrorHandler(error => { const { response } = error; if (response && response.status) { const errorText = codeMessage[response.status] || response.statusText; const { status, config } = response; if (status === 401) { event.emit('event:logout'); } else { // notification.error({ // message: `请求错误 ${status}: ${config.url}`, // description: errorText, // }); console.log(errorText); } } else if (!response) { notification.error({ description: '您的网络发生异常,无法连接服务器', message: '网络异常', }); } return response; }); const appService = service(AppService); const noticeService = service(notificationService); const cloudService = service(CloudService); export { appService, noticeService, cloudService };