yylib-quick-mobile
Version:
yylib-quick-mobile
372 lines (330 loc) • 13.6 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _toast = require('antd-mobile/lib/toast');
var _toast2 = _interopRequireDefault(_toast);
require('antd-mobile/lib/toast/style/css');
var _superagent = require('superagent');
var _superagent2 = _interopRequireDefault(_superagent);
var _authToken = require('./authToken');
var _authToken2 = _interopRequireDefault(_authToken);
var _UrlUtils = require('./UrlUtils');
var _UrlUtils2 = _interopRequireDefault(_UrlUtils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ajax = {
getJSONOffLine: function getJSONOffLine(url, params, success, error) {
var finalParams = {
reqUrl: url,
reqMethod: 'get',
params: params
};
try {
YYPlugin.call("ExpandPlugin", "queryData", finalParams, success, error);
} catch (err) {
this.mixAjax(finalParams, success, error);
}
},
postJSONOffLine: function postJSONOffLine(url, params, success, error) {
var finalParams = {
reqUrl: url,
reqMethod: 'post',
params: params
};
try {
YYPlugin.call("ExpandPlugin", "queryData", finalParams, success, error);
} catch (err) {
this.mixAjax(finalParams, success, error);
}
},
getTextOffLine: function getTextOffLine(url, params, success, error) {
var finalParams = {
reqUrl: url,
reqMethod: 'get',
params: params,
paramAccept: 'text'
};
try {
YYPlugin.call("ExpandPlugin", "queryData", finalParams, success, error);
} catch (err) {
this.mixAjax(finalParams, success, error);
}
},
postTextOffLine: function postTextOffLine(url, params, success, error) {
var finalParams = {
reqUrl: url,
reqMethod: 'post',
params: params,
paramAccept: 'text'
};
try {
YYPlugin.call("ExpandPlugin", "queryData", finalParams, success, error);
} catch (err) {
this.mixAjax(finalParams, success, error);
}
},
postFormOffLine: function postFormOffLine(url, params, success, error) {
var contentType = 'application/x-www-form-urlencoded;charset=UTF-8';
var finalParams = {
reqUrl: url,
reqMethod: 'post',
reqHeader: { 'content-type': contentType },
params: params,
paramType: 'form'
};
try {
YYPlugin.call("ExpandPlugin", "queryData", finalParams, success, error);
} catch (err) {
this.mixAjax(finalParams, success, error);
}
},
onLineQueryData: function onLineQueryData(params, success, error) {
try {
YYPlugin.call("ExpandPlugin", "queryData", params, success, error);
} catch (err) {
this.mixAjax(params, success, error);
}
},
offLineQueryData: function offLineQueryData(params, success, error) {
try {
YYPlugin.call("ExpandPlugin", "queryTempBillListData", params, success, error);
} catch (err) {
this.mixAjax(params, success, error);
}
},
offLineQueryBillData: function offLineQueryBillData(params, success, error) {
try {
YYPlugin.call("ExpandPlugin", "queryBillDetail", params, success, error);
} catch (err) {
this.mixAjax(params, success, error);
}
},
offLineSaveTempData: function offLineSaveTempData(params, success, error) {
try {
YYPlugin.call("ExpandPlugin", "saveTempData", params, success, error);
} catch (err) {
this.mixAjax(params, success, error);
}
},
onLineSaveData: function onLineSaveData(params, success, error) {
try {
YYPlugin.call("ExpandPlugin", "saveData", params, success, error);
} catch (err) {
this.mixAjax(params, success, error);
}
},
offLineAttachDetail: function offLineAttachDetail(params, success, error) {
try {
YYPlugin.call("ExpandPlugin", "queryAttachDetail", params, success, error);
} catch (err) {
this.mixAjax(params, success, error);
}
},
delBillData: function delBillData(params, success, error) {
try {
YYPlugin.call("ExpandPlugin", "delBillData", params, success, error);
} catch (err) {
this.mixAjax(params, success, error);
}
},
mixAjax: function mixAjax(params, success, error) {
if (params["reqMethod"] === "get") {
this.request({
url: params["reqUrl"],
query: params["params"],
success: success,
error: error,
type: params["paramType"] ? params["paramType"] : 'json',
accept: params['paramAccept'] ? params['paramAccept'] : 'json'
});
} else if (params["reqMethod"] === "post") {
this.request({
url: params["reqUrl"],
send: params["params"],
success: success,
error: error,
method: 'POST',
type: params["paramType"] ? params["paramType"] : 'json',
accept: params['paramAccept'] ? params['paramAccept'] : 'json'
});
}
},
isFunction: function isFunction(params) {
return typeof params === "function";
},
getJSON: function getJSON(url, data, success, error, complete, cookies) {
if (this.isFunction(data)) {
this.request({ url: url, success: arguments[1], error: arguments[2], complete: arguments[3], cookies: arguments[4] });
} else {
this.request({ url: url, query: data, success: success, error: error, complete: complete, cookies: cookies });
}
},
getJSONWithCookies: function getJSONWithCookies(url, data, success, error, complete) {
if (this.isFunction(data)) {
this.getJSON(url, arguments[1], arguments[2], arguments[3], true);
} else {
this.getJSON(url, data, success, error, complete, true);
}
},
postJSON: function postJSON(url, data, success, error, complete, cookies) {
if (this.isFunction(data)) {
this.request({ url: url, success: arguments[1], error: arguments[2], complete: arguments[3], cookies: arguments[4], method: 'POST' });
} else {
this.request({ url: url, send: data, success: success, error: error, complete: complete, cookies: cookies, method: 'POST' });
}
},
postJSONWithCookies: function postJSONWithCookies(url, data, success, error, complete) {
if (this.isFunction(data)) {
this.postJSON(url, arguments[1], arguments[2], arguments[3], true);
} else {
this.postJSON(url, data, success, error, complete, true);
}
},
delJSON: function delJSON(url, data, success, error, complete, cookies) {
if (this.isFunction(data)) {
this.request({ url: url, success: arguments[1], error: arguments[2], complete: arguments[3], cookies: arguments[4], method: 'DELETE' });
} else {
this.request({ url: url, send: data, success: success, error: success, complete: complete, cookies: cookies, method: 'DELETE' });
}
},
delJSONWithCookies: function delJSONWithCookies(url, data, success, error, complete) {
if (this.isFunction(data)) {
this.delJSON(url, arguments[1], arguments[2], arguments[3], true);
} else {
this.delJSON(url, data, success, error, complete, true);
}
},
getText: function getText(url, data, success, error, complete, cookies) {
if (this.isFunction(data)) {
this.request({ url: url, success: arguments[1], error: arguments[2], complete: arguments[3], cookies: arguments[4], accept: 'text' });
} else {
this.request({ url: url, query: data, success: success, error: error, complete: complete, cookies: cookies, accept: 'text' });
}
},
getTextWithCookies: function getTextWithCookies(url, data, success, error, complete) {
if (this.isFunction(data)) {
this.getText(url, arguments[1], arguments[2], arguments[3], true);
} else {
this.getText(url, data, success, error, complete, true);
}
},
postForm: function postForm(url, data, success, error, complete, cookies) {
if (this.isFunction(data)) {
this.request({ url: url, success: arguments[1], error: arguments[2], complete: arguments[3], cookies: arguments[4], method: 'POST', type: 'form' });
} else {
this.request({ url: url, send: data, success: success, error: error, complete: complete, cookies: cookies, method: 'POST', type: 'form' });
}
},
postText: function postText(url, data, success, error, complete, cookies) {
if (this.isFunction(data)) {
this.request({ url: url, success: arguments[1], error: arguments[2], complete: arguments[3], cookies: arguments[4], method: 'POST', accept: 'text' });
} else {
this.request({ url: url, send: data, success: success, error: error, complete: complete, cookies: cookies, method: 'POST', accept: 'text' });
}
},
postTextWithCookies: function postTextWithCookies(url, data, success, error, complete) {
if (this.isFunction(data)) {
this.postText(url, arguments[1], arguments[2], arguments[3], true);
} else {
this.postText(url, data, success, error, complete, true);
}
},
_defaultHeader: {},
setDefaultHeader: function setDefaultHeader(key, value) {
if (key) {
if (value) {
this._defaultHeader[key] = value;
} else {
delete this._defaultHeader[key];
}
}
},
request: function request(options) {
var _defaults = {
method: 'GET',
type: 'json',
url: '',
header: null,
cookies: false,
noToken: false,
send: '',
query: '',
success: null,
error: null,
complete: null };
Object.assign(_defaults, options);
if (options.query && options.query.noToken !== undefined) {
_defaults.noToken = options.query.noToken;
}
var contentType = 'application/json;charset=UTF-8';
if (_defaults.type === 'form') {
contentType = 'application/x-www-form-urlencoded;charset=UTF-8';
}
var req = (0, _superagent2.default)(_defaults.method, _defaults.url).set('Content-Type', contentType);
for (var header in this._defaultHeader) {
if (this._defaultHeader[header] !== undefined) {
req.set(header, this._defaultHeader[header]);
}
}
if (_defaults.header && _UrlUtils2.default.isPlainObject(_defaults.header)) {
for (var headerKey in _defaults.header) {
if (_defaults.header[headerKey] !== undefined) {
req.set(headerKey, _defaults.header[headerKey]);
}
}
}
var token = _authToken2.default.getToken();
var authenticationStr = _authToken2.default.getAuthenticationStr();
if (_defaults.noToken !== true) {
if (token) {
req.set('icop-token', token);
}
if (authenticationStr) {
req.set('authority', authenticationStr);
}
}
if (_defaults.cookies === true) {
req.withCredentials();
}
req.query(_defaults.query).send(_defaults.send).end(function (err, res) {
if (err || res && res.badRequest) {
if (typeof _defaults.error === 'function') {
_defaults.error(res);
} else {
_toast2.default.info(err.message, 3);
}
}
if (res && res.ok) {
if (res.headers && res.headers['icop-content-type']) {
if (typeof _defaults.error === 'function') {
_defaults.error(res);
} else {
_toast2.default.info(res.text && res.text.length > 0 ? res.text : res.body, 3);
}
return;
} else {
if (typeof _defaults.success === 'function') {
if (_defaults.accept === 'text') {
_defaults.success(res.text);
} else {
_defaults.success(res.body);
}
}
}
}
if (_defaults.complete) {
_defaults.complete(res);
}
});
},
fillUrlParams: function fillUrlParams(url, params) {
return _UrlUtils2.default.fillUrlParams(url, params);
},
getParams: function getParams(param) {
return _UrlUtils2.default.getParams(param);
},
appendToUrl: function appendToUrl(url, params) {
return _UrlUtils2.default.appendToUrl(url, params);
}
};
exports.default = ajax;