UNPKG

@lcap/asl

Version:

NetEase Application Specific Language

68 lines 2.29 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const errHandles_1 = __importDefault(require("./errHandles")); const isPromise = function (func) { return func && typeof func.then === 'function'; }; function httpCode(response, params, requestInfo) { const data = response.data; if ((data.code === undefined) || (data.code + '').startsWith('2')) { return response; } if (typeof window !== 'undefined' && new RegExp('^/designer').test(window.location.pathname)) { if (data.code === 401) { window.location.href = '/login'; } } return Promise.reject(data); } function shortResponse(response, params, requestInfo) { if (response.data && response.data.result !== undefined) { return response.data.result; } else { return response.data; } } const httpError = { reject(err, params, requestInfo) { const { url, config = {} } = requestInfo; const { method, body = {}, headers = {} } = url; // 处理code if (err === 'expired request') { throw err; } let handle; if (!err.code) { handle = errHandles_1.default.localError; } else { handle = errHandles_1.default[err.code]; if (!handle) handle = errHandles_1.default.defaults; } const handleOut = handle({ config, baseURL: (config.baseURL || ''), url, method, body, headers, }, err); if (isPromise(handleOut)) return handleOut; throw err; }, }; function default_1(service) { if (process.env.NODE_ENV === 'development') { service.preConfig.set('baseURL', (requestInfo, baseURL) => { if (!baseURL.startsWith('http')) { throw new Error('set baseURL only support cross domain'); } }); } service.postConfig.set('httpCode', httpCode); service.postConfig.set('httpError', httpError); service.postConfig.set('shortResponse', shortResponse); } exports.default = default_1; //# sourceMappingURL=add.configs.js.map