UNPKG

dareway-rui

Version:

476 lines (412 loc) 23.4 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require('@babel/runtime/helpers/objectSpread')); var _regenerator = _interopRequireDefault(require('@babel/runtime/regenerator')); var _typeof2 = _interopRequireDefault(require('@babel/runtime/helpers/typeof')); var _classCallCheck2 = _interopRequireDefault(require('@babel/runtime/helpers/classCallCheck')); var _createClass2 = _interopRequireDefault(require('@babel/runtime/helpers/createClass')); var _DateUtil = _interopRequireDefault(require('./DateUtil')); var _FrameConstants = require('../constants/FrameConstants'); var _isPlainObject = _interopRequireDefault(require('is-plain-object')); var _CurrentUser = _interopRequireDefault(require('../user/CurrentUser')); var URL = /*#__PURE__*/ (function() { function URL(url) { (0, _classCallCheck2.default)(this, URL); if (!url) { throw new Error('URL入参[url]不能为空,请检查!'); } // todo 区分是否开发模式 生产模式 this.url = '__rui__frame_server__/' + url; this.multipartFormData = {}; this.urlencodedFormData = {}; } (0, _createClass2.default)(URL, [ { key: 'addPara', value: function addPara(key, value) { if (value == undefined) { value = ''; } // 入参类型校验 if (!(key && typeof key == 'string')) { throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1AurlInst.addPara(key, value)\n\u51FD\u6570\u8C03\u7528\uFF1AurlInst.addPara(' .concat(key, ', ') .concat( value, ')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u53C2\u6570 key\uFF0C\u671F\u671B string \u7C7B\u578B\uFF1B\u5B9E\u9645\u4F20\u5165\u503C ' ) .concat(key, '\uFF0C\u7C7B\u578B\u4E3A ') .concat((0, _typeof2.default)(key), '\n\u8BF7\u68C0\u67E5!') ); } if ( value !== '' && value !== null && typeof value != 'string' && typeof value != 'number' && typeof value != 'boolean' && !(value instanceof Date) && !(value instanceof Array) && !((0, _isPlainObject.default)(value) && 'file' in value) ) { throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1AurlInst.addPara(key, value)\n\u51FD\u6570\u8C03\u7528\uFF1AurlInst.addPara("' .concat(key, '", ') .concat( value, ')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u671F\u671B\u5165\u53C2 value \u4E3A "", null, boolean, string, number, Date \u7C7B\u578B\uFF1B\u5B9E\u9645\u5165\u53C2 ' ) .concat(value, '\uFF0C\u7C7B\u578B\u4E3A ') .concat((0, _typeof2.default)(value), '\n\u8BF7\u68C0\u67E5!') ); } if ((0, _isPlainObject.default)(value) && 'file' in value) { this.multipartFormData[key] = value; } else { this.urlencodedFormData[key] = value; } } }, { key: 'addForm', value: /*#__PURE__*/ _regenerator.default.mark(function addForm(formInst) { var formValues, key; return _regenerator.default.wrap( function addForm$(_context) { while (1) { switch ((_context.prev = _context.next)) { case 0: if (formInst.checkFormValues) { _context.next = 2; break; } throw new Error( 'URL.addForm(formInst) \u5165\u53C2\u5FC5\u987B\u4E3A Form \u5BF9\u8C61\u5B9E\u4F8B\uFF0C\u5F53\u524D\u4F20\u5165\u3010'.concat( formInst.constructor.toString().match(/function\s+([^\(]+)/, '')[1], '\u3011\uFF0C\u8BF7\u68C0\u67E5!' ) ); case 2: _context.next = 4; return formInst.getData(); case 4: formValues = _context.sent; for (key in formValues) { this.addPara(key, formValues[key]); } case 6: case 'end': return _context.stop(); } } }, addForm, this ); }) }, { key: 'addGrid', value: /*#__PURE__*/ _regenerator.default.mark(function addGrid(gridInst) { var gridName, data; return _regenerator.default.wrap( function addGrid$(_context2) { while (1) { switch ((_context2.prev = _context2.next)) { case 0: _context2.next = 2; return gridInst.getProperty('name'); case 2: gridName = _context2.sent; _context2.next = 5; return gridInst.getAllData(); case 5: data = _context2.sent; this.addPara(gridName, data); case 7: case 'end': return _context2.stop(); } } }, addGrid, this ); }) }, { key: 'addSelectedGrid', value: /*#__PURE__*/ _regenerator.default.mark(function addSelectedGrid(gridInst) { var gridName, data; return _regenerator.default.wrap( function addSelectedGrid$(_context3) { while (1) { switch ((_context3.prev = _context3.next)) { case 0: _context3.next = 2; return gridInst.getProperty('name'); case 2: gridName = _context3.sent; _context3.next = 5; return gridInst.getSelectedData(); case 5: data = _context3.sent; this.addPara(gridName, data); case 7: case 'end': return _context3.stop(); } } }, addSelectedGrid, this ); }) }, { key: 'addRowGrid', value: /*#__PURE__*/ _regenerator.default.mark(function addRowGrid(gridInst, rowNumber) { var gridName, data; return _regenerator.default.wrap( function addRowGrid$(_context4) { while (1) { switch ((_context4.prev = _context4.next)) { case 0: _context4.next = 2; return gridInst.getProperty('name'); case 2: gridName = _context4.sent; _context4.next = 5; return gridInst.getRowData(rowNumber); case 5: data = _context4.sent; this.addPara(gridName, [data]); case 7: case 'end': return _context4.stop(); } } }, addRowGrid, this ); }) //////////////////////////////////////////////////////////////////// }, { key: 'hasMultipartFormData', value: function hasMultipartFormData() { for (var pair in this.multipartFormData) { return true; } return false; } }, { key: 'getUrl', value: function getUrl() { return this.url; } }, { key: 'getData', value: function getData() { var _this = this; if (this.hasMultipartFormData()) { var result = new FormData(); // append multipartdata Object.keys(this.multipartFormData).forEach(function(key) { var originalFile = _this.multipartFormData[key].file; if (originalFile) { result.append(key, originalFile, originalFile.name); } else { result.append(key, new Blob(), '__rui_emptyFile__'); } }); // append urlencodedFormData var reqDoTypeList = []; var reqDo = {}; var keys = Object.keys(this.urlencodedFormData); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = this.urlencodedFormData[key]; if (typeof value == 'string') { reqDoTypeList.push(''.concat(key, ':String')); reqDo[key] = value; } else if (JSON.stringify(value) === 'null') { reqDoTypeList.push(''.concat(key, ':null')); reqDo[key] = null; } else if (typeof value == 'number') { reqDoTypeList.push(''.concat(key, ':Number')); reqDo[key] = value; } else if (typeof value == 'boolean') { reqDoTypeList.push(''.concat(key, ':Boolean')); reqDo[key] = value; } else if (value instanceof Date) { reqDoTypeList.push(''.concat(key, ':Date')); reqDo[key] = _DateUtil.default.formatDate( value, _FrameConstants.DAREWAY_STANDARD_DATETIME_TRANSFORM_FORMAT ); } else if (value instanceof Array) { reqDoTypeList.push(''.concat(key, ':DataStore')); reqDo[key] = value.map(function(row) { var newRow = {}; var newRowDoTypeList = []; for (var columnName in row) { var columnValue = row[columnName]; if (typeof columnValue == 'string') { newRowDoTypeList.push(''.concat(columnName, ':String')); newRow[columnName] = columnValue; } else if (JSON.stringify(columnValue) === 'null') { newRowDoTypeList.push(''.concat(columnName, ':null')); newRow[columnName] = null; } else if (typeof columnValue == 'number') { newRowDoTypeList.push(''.concat(columnName, ':Number')); newRow[columnName] = columnValue; } else if (typeof columnValue == 'boolean') { newRowDoTypeList.push(''.concat(columnName, ':Boolean')); newRow[columnName] = columnValue; } else if (columnValue instanceof Date) { newRowDoTypeList.push(''.concat(columnName, ':Date')); newRow[columnName] = _DateUtil.default.formatDate( columnValue, _FrameConstants.DAREWAY_STANDARD_DATETIME_TRANSFORM_FORMAT ); } else { throw new Error( '\u6570\u636E\u7C7B\u578B[' .concat(columnName, '=') .concat(columnValue, ']\u6682\u65F6\u4E0D\u80FD\u8BC6\u522B..') ); } } return (0, _objectSpread2.default)({}, newRow, { frameDOTypeList: newRowDoTypeList.join(',') }); }); } else { throw new Error( '\u6570\u636E\u7C7B\u578B[' .concat(key, '=') .concat(value, ']\u6682\u65F6\u4E0D\u80FD\u8BC6\u522B..') ); } } result.append( '__rui__req__json', JSON.stringify( (0, _objectSpread2.default)({}, reqDo, { frameDOTypeList: reqDoTypeList.join(',') }) ) ); //所有请求都携带usersessionuuid,为空时获取user为null 可以通过request.getParameter获取useruuid var userSessionUuuid = _CurrentUser.default.getUserSessionUUID(); if (!userSessionUuuid) { userSessionUuuid = ''; } result.append('__usersession_uuid', userSessionUuuid); return result; } else { var _reqDoTypeList = []; var _reqDo = {}; var _keys = Object.keys(this.urlencodedFormData); for (var _i = 0; _i < _keys.length; _i++) { var _key = _keys[_i]; var _value = this.urlencodedFormData[_key]; if (typeof _value == 'string') { _reqDoTypeList.push(''.concat(_key, ':String')); _reqDo[_key] = _value; } else if (JSON.stringify(_value) === 'null') { _reqDoTypeList.push(''.concat(_key, ':null')); _reqDo[_key] = null; } else if (typeof _value == 'number') { _reqDoTypeList.push(''.concat(_key, ':Number')); _reqDo[_key] = _value; } else if (typeof _value == 'boolean') { _reqDoTypeList.push(''.concat(_key, ':Boolean')); _reqDo[_key] = _value; } else if (_value instanceof Date) { _reqDoTypeList.push(''.concat(_key, ':Date')); _reqDo[_key] = _DateUtil.default.formatDate( _value, _FrameConstants.DAREWAY_STANDARD_DATETIME_TRANSFORM_FORMAT ); } else if (_value instanceof Array) { _reqDoTypeList.push(''.concat(_key, ':DataStore')); _reqDo[_key] = _value.map(function(row) { var newRow = {}; var newRowDoTypeList = []; for (var columnName in row) { var columnValue = row[columnName]; if (typeof columnValue == 'string') { newRowDoTypeList.push(''.concat(columnName, ':String')); newRow[columnName] = columnValue; } else if (JSON.stringify(columnValue) === 'null') { newRowDoTypeList.push(''.concat(columnName, ':null')); newRow[columnName] = null; } else if (typeof columnValue == 'number') { newRowDoTypeList.push(''.concat(columnName, ':Number')); newRow[columnName] = columnValue; } else if (typeof columnValue == 'boolean') { newRowDoTypeList.push(''.concat(columnName, ':Boolean')); newRow[columnName] = columnValue; } else if (columnValue instanceof Date) { newRowDoTypeList.push(''.concat(columnName, ':Date')); newRow[columnName] = _DateUtil.default.formatDate( columnValue, _FrameConstants.DAREWAY_STANDARD_DATETIME_TRANSFORM_FORMAT ); } else { throw new Error( '\u6570\u636E\u7C7B\u578B[' .concat(columnName, '=') .concat(columnValue, ']\u6682\u65F6\u4E0D\u80FD\u8BC6\u522B..') ); } } return (0, _objectSpread2.default)({}, newRow, { frameDOTypeList: newRowDoTypeList.join(',') }); }); } else { throw new Error( '\u6570\u636E\u7C7B\u578B[' .concat(_key, '=') .concat(_value, ']\u6682\u65F6\u4E0D\u80FD\u8BC6\u522B..') ); } } var resultStr = '__rui__req__json='.concat( encodeURIComponent( JSON.stringify( (0, _objectSpread2.default)({}, _reqDo, { frameDOTypeList: _reqDoTypeList.join(',') }) ) ) ); //所有请求都携带usersessionuuid,为空时获取user为null 可以通过request.getParameter获取useruuid var useruuid = _CurrentUser.default.getUserSessionUUID(); if (!useruuid) { useruuid = ''; } resultStr += '&__usersession_uuid=' + useruuid; return resultStr; } } } ]); return URL; })(); exports.default = URL; //@ sourceMappingURL=URL.js.map