UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

372 lines (330 loc) 13.6 kB
'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;