|
@@ -711,5 +711,45 @@ function MagicJS(scriptName = "MagicJS", logLevel = "INFO") {
|
|
|
sleep(time) {
|
|
sleep(time) {
|
|
|
return new Promise(resolve => setTimeout(resolve, time));
|
|
return new Promise(resolve => setTimeout(resolve, time));
|
|
|
}
|
|
}
|
|
|
|
|
+ objToQueryStr(obj, encode) {
|
|
|
|
|
+ let str = '';
|
|
|
|
|
+ for (const key in obj) {
|
|
|
|
|
+ let value = obj[key];
|
|
|
|
|
+ if (value != null && value !== '') {
|
|
|
|
|
+ if (typeof value === 'object') {
|
|
|
|
|
+ value = JSON.stringify(value);
|
|
|
|
|
+ } else if (encode) {
|
|
|
|
|
+ value = encodeURIComponent(value);
|
|
|
|
|
+ }
|
|
|
|
|
+ str += `${key}=${value}&`;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ str = str.substring(0, str.length - 1);
|
|
|
|
|
+ return str;
|
|
|
|
|
+ }
|
|
|
|
|
+ parseQueryStr(str) {
|
|
|
|
|
+ let obj = {};
|
|
|
|
|
+ if (str.indexOf("?") > -1) {
|
|
|
|
|
+ str = str.split("?")[1];
|
|
|
|
|
+ }
|
|
|
|
|
+ let arr = str.split("&");
|
|
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
|
|
+ let kv = arr[i].split("=");
|
|
|
|
|
+ obj[kv[0]] = kv[1];
|
|
|
|
|
+ }
|
|
|
|
|
+ return obj;
|
|
|
|
|
+ }
|
|
|
|
|
+ deepClone(obj, newObj) {
|
|
|
|
|
+ newObj = newObj || {};
|
|
|
|
|
+ for (let key in obj) {
|
|
|
|
|
+ if (typeof obj[key] == 'object') {
|
|
|
|
|
+ newObj[key] = (obj[key].constructor === Array) ? [] : {};
|
|
|
|
|
+ this.deepClone(obj[key], newObj[key]);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ newObj[key] = obj[key];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return newObj;
|
|
|
|
|
+ }
|
|
|
}(scriptName);
|
|
}(scriptName);
|
|
|
}
|
|
}
|