yyuap-ref
Version:
cloud os fe ref project which is based on tinper
142 lines (119 loc) • 4.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.noop = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.post = post;
exports.get = get;
exports.fetchJ = fetchJ;
var _fetchJsonp = require('fetch-jsonp');
var _fetchJsonp2 = _interopRequireDefault(_fetchJsonp);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var noop = exports.noop = function noop() {};
var fetchTools = {
params: function params(_params) {
try {
return Object.keys(_params).map(function (key) {
var param = _params[key];
switch (typeof param === 'undefined' ? 'undefined' : _typeof(param)) {
case 'object':
param = JSON.stringify(param);
break;
case 'undefined':
param = '';
break;
default:
break;
}
param = encodeURIComponent(param);
return key + '=' + param;
}).join('&');
} catch (e) {
// console.log('error in urlParams');
return '';
}
},
fetch: function (_fetch) {
function fetch(_x, _x2) {
return _fetch.apply(this, arguments);
}
fetch.toString = function () {
return _fetch.toString();
};
return fetch;
}(function (url, options) {
return fetch(url, options).then(function (response) {
if (response.ok) {
return response.text().then(function (text) {
try {
return JSON.parse(text);
} catch (e) {
return Promise.reject(new Error('接口返回数据无法解析'));
}
});
}
return Promise.reject(new Error('请求失败'));
}, function (error) {
throw error;
});
}),
options: function options() {
var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'get';
var _options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return _extends({
method: method.toUpperCase(),
credentials: 'include',
cache: 'no-cache',
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
}
}, _options);
}
};
function post(url) {
var oriParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var fetch = fetchTools.fetch,
options = fetchTools.options;
try {
return fetch(url, options('post', {
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
body: JSON.stringify(oriParams)
}));
} catch (e) {
return Promise.reject(e);
}
}
function get(url) {
var oriParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var params = fetchTools.params,
fetch = fetchTools.fetch,
options = fetchTools.options;
var data = params(oriParams);
if (data) {
return fetch(url + '?' + data, options());
}
return fetch(url, options());
}
function fetchJ(url) {
var oriParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var params = fetchTools.params,
fetch = fetchTools.fetch,
options = fetchTools.options;
var urlend = void 0;
var data = params(oriParams);
urlend = url + '?' + data;
return (0, _fetchJsonp2.default)(urlend, {
timeout: 60000
}).then(function (response) {
return response.json();
}).then(function (json) {
console.log('parsed json', json);
return json;
}).catch(function (ex) {
console.log('parsing failed', ex);
});
}