dareway-rui
Version:
476 lines (412 loc) • 23.4 kB
JavaScript
;
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