eoss-ui 0.5.73 → 0.5.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/button-group.js +115 -29
- package/lib/button.js +115 -29
- package/lib/checkbox-group.js +115 -29
- package/lib/clients.js +16 -7
- package/lib/data-table-form.js +115 -29
- package/lib/data-table.js +130 -35
- package/lib/date-picker.js +115 -29
- package/lib/dialog.js +115 -29
- package/lib/eoss-ui.common.js +345 -133
- package/lib/flow-group.js +115 -29
- package/lib/flow-list.js +115 -29
- package/lib/flow.js +115 -29
- package/lib/form.js +115 -29
- package/lib/handle-user.js +115 -29
- package/lib/handler.js +115 -29
- package/lib/index.js +1 -1
- package/lib/input-number.js +114 -28
- package/lib/input.js +131 -35
- package/lib/login.js +147 -40
- package/lib/main.js +197 -51
- package/lib/nav.js +163 -52
- package/lib/page.js +115 -29
- package/lib/player.js +115 -29
- package/lib/qr-code.js +115 -29
- package/lib/radio-group.js +115 -29
- package/lib/retrial-auth.js +115 -29
- package/lib/select-ganged.js +115 -29
- package/lib/select.js +130 -34
- package/lib/selector-panel.js +115 -29
- package/lib/selector.js +115 -29
- package/lib/sizer.js +115 -29
- package/lib/steps.js +115 -29
- package/lib/switch.js +114 -28
- package/lib/table-form.js +115 -29
- package/lib/tabs.js +115 -29
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/login.css +1 -1
- package/lib/theme-chalk/main.css +1 -1
- package/lib/theme-chalk/menu.css +1 -1
- package/lib/theme-chalk/nav.css +1 -1
- package/lib/theme-chalk/sizer.css +1 -1
- package/lib/theme-chalk/upload.css +1 -1
- package/lib/tips.js +115 -29
- package/lib/tree-group.js +115 -29
- package/lib/tree.js +115 -29
- package/lib/upload.js +115 -29
- package/lib/utils/util.js +98 -22
- package/lib/utils/webSocket.js +16 -6
- package/lib/wujie.js +115 -29
- package/lib/wxlogin.js +114 -28
- package/package.json +2 -2
- package/packages/clients/src/main.vue +3 -1
- package/packages/data-table/src/main.vue +10 -1
- package/packages/input/src/main.vue +7 -6
- package/packages/login/src/main.vue +13 -0
- package/packages/login/src/resetPassword.vue +1 -1
- package/packages/main/src/main.vue +44 -10
- package/packages/nav/src/main.vue +25 -8
- package/packages/select/src/main.vue +6 -5
- package/packages/theme-chalk/lib/base.css +1 -1
- package/packages/theme-chalk/lib/index.css +1 -1
- package/packages/theme-chalk/lib/login.css +1 -1
- package/packages/theme-chalk/lib/main.css +1 -1
- package/packages/theme-chalk/lib/menu.css +1 -1
- package/packages/theme-chalk/lib/nav.css +1 -1
- package/packages/theme-chalk/lib/sizer.css +1 -1
- package/packages/theme-chalk/lib/upload.css +1 -1
- package/packages/theme-chalk/src/base.scss +3 -0
- package/packages/theme-chalk/src/login.scss +175 -171
- package/packages/theme-chalk/src/main.scss +5 -2
- package/packages/theme-chalk/src/nav.scss +4 -1
- package/src/index.js +1 -1
- package/src/utils/util.js +112 -23
- package/src/utils/webSocket.js +14 -7
package/lib/retrial-auth.js
CHANGED
|
@@ -621,6 +621,35 @@ var calculateNetworkDays = function calculateNetworkDays(start_date, end_date) {
|
|
|
621
621
|
return workdays;
|
|
622
622
|
};
|
|
623
623
|
|
|
624
|
+
/**
|
|
625
|
+
* chunkToChinese
|
|
626
|
+
* @desc 将四位数的整数转换为中文大写
|
|
627
|
+
* @param {number} chunk - 数字
|
|
628
|
+
**/
|
|
629
|
+
function chunkToChinese(chunk) {
|
|
630
|
+
var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
|
|
631
|
+
var capitalDigits = ['', '拾', '佰', '仟'];
|
|
632
|
+
|
|
633
|
+
var result = '';
|
|
634
|
+
var digitIndex = 0;
|
|
635
|
+
|
|
636
|
+
while (chunk > 0) {
|
|
637
|
+
var digit = chunk % 10;
|
|
638
|
+
if (digit > 0) {
|
|
639
|
+
result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
|
|
640
|
+
} else {
|
|
641
|
+
// 当前数字是零,需要判断是否需要添加零
|
|
642
|
+
if (result.charAt(0) !== '零') {
|
|
643
|
+
result = '零' + result;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
chunk = Math.floor(chunk / 10);
|
|
647
|
+
digitIndex++;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
return result;
|
|
651
|
+
}
|
|
652
|
+
|
|
624
653
|
/**
|
|
625
654
|
* concatenate
|
|
626
655
|
* @desc 指定连接符合并文本
|
|
@@ -1816,6 +1845,31 @@ var getWeekday = function getWeekday(date) {
|
|
|
1816
1845
|
return adjustedDay === 0 ? 7 : adjustedDay;
|
|
1817
1846
|
};
|
|
1818
1847
|
|
|
1848
|
+
/**
|
|
1849
|
+
* getZoom
|
|
1850
|
+
* @desc 获取缩放比
|
|
1851
|
+
* @param {number} n - 可选参数,表示星期的起始日,0 表示星期天,1 表示星期一,以此类推,默认为 0
|
|
1852
|
+
**/
|
|
1853
|
+
var getZoom = function getZoom() {
|
|
1854
|
+
var ratio = 0;
|
|
1855
|
+
var screen = window.screen;
|
|
1856
|
+
var ua = navigator.userAgent.toLowerCase();
|
|
1857
|
+
if (window.devicePixelRatio !== undefined) {
|
|
1858
|
+
ratio = window.devicePixelRatio;
|
|
1859
|
+
} else if (~ua.indexOf('msie')) {
|
|
1860
|
+
if (screen.deviceXDPI && screen.logicalXDPI) {
|
|
1861
|
+
ratio = screen.deviceXDPI / screen.logicalXDPI;
|
|
1862
|
+
}
|
|
1863
|
+
} else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
|
|
1864
|
+
ratio = window.outerWidth / window.innerWidth;
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
if (ratio) {
|
|
1868
|
+
ratio = Math.round(ratio * 100);
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1871
|
+
return ratio / 100;
|
|
1872
|
+
};
|
|
1819
1873
|
/**
|
|
1820
1874
|
* handlerUrl
|
|
1821
1875
|
* @desc:更新url参数中的时间戳
|
|
@@ -2558,32 +2612,53 @@ var rmbToCapital = function rmbToCapital(number) {
|
|
|
2558
2612
|
|
|
2559
2613
|
return result;
|
|
2560
2614
|
};
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
var
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2615
|
+
/**
|
|
2616
|
+
* setScale
|
|
2617
|
+
* @desc 设置缩放
|
|
2618
|
+
* @param {number} width - 分辨率宽度
|
|
2619
|
+
* @param {number} height - 分辨率高度
|
|
2620
|
+
**/
|
|
2621
|
+
var setScale = function setScale() {
|
|
2622
|
+
var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1920;
|
|
2623
|
+
var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1080;
|
|
2624
|
+
|
|
2625
|
+
var n = 1;
|
|
2626
|
+
var isMac = /macintosh|mac os x/i.test(navigator.userAgent);
|
|
2627
|
+
var zoom = getZoom();
|
|
2628
|
+
if (isMac) {
|
|
2629
|
+
n = 2;
|
|
2630
|
+
} else {
|
|
2631
|
+
n = 1;
|
|
2632
|
+
}
|
|
2633
|
+
if (zoom === 1) {
|
|
2634
|
+
document.body.style.removeProperty('transform');
|
|
2635
|
+
document.body.style.removeProperty('width');
|
|
2636
|
+
document.body.style.removeProperty('height');
|
|
2637
|
+
document.body.style.removeProperty('transform-origin');
|
|
2638
|
+
return;
|
|
2639
|
+
}
|
|
2640
|
+
if (Math.abs(parseInt(width - window.innerWidth * zoom / n, 10)) > 15 && window.innerWidth * zoom / n !== width) {
|
|
2641
|
+
var scale = 'scale(' + window.innerWidth * zoom / width / zoom + ',' + window.innerHeight * zoom / height / zoom + ')';
|
|
2642
|
+
document.body.style.transform = scale;
|
|
2643
|
+
document.body.style.width = width + 'px';
|
|
2644
|
+
document.body.style.height = height + 'px';
|
|
2645
|
+
document.body.style.transformOrigin = '0 0';
|
|
2646
|
+
} else {
|
|
2647
|
+
if (isMac) {
|
|
2648
|
+
var _scale = 'scale(' + 1 * n / zoom + ')';
|
|
2649
|
+
document.body.style.transform = _scale;
|
|
2650
|
+
document.body.style.width = parseInt(window.innerWidth * zoom / n, 10) + 'px';
|
|
2651
|
+
document.body.style.height = parseInt(window.innerHeight * zoom / n, 10) + 'px';
|
|
2652
|
+
document.body.style.transformOrigin = '0 0';
|
|
2574
2653
|
} else {
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2654
|
+
var _scale2 = 'scale(' + 1 * n / zoom + ')';
|
|
2655
|
+
document.body.style.transform = _scale2;
|
|
2656
|
+
document.body.style.width = parseInt(window.innerWidth * zoom / n, 10) + 'px';
|
|
2657
|
+
document.body.style.height = parseInt(window.innerHeight * zoom / n, 10) + 'px';
|
|
2658
|
+
document.body.style.transformOrigin = '0 0';
|
|
2579
2659
|
}
|
|
2580
|
-
chunk = Math.floor(chunk / 10);
|
|
2581
|
-
digitIndex++;
|
|
2582
2660
|
}
|
|
2583
|
-
|
|
2584
|
-
return result;
|
|
2585
|
-
}
|
|
2586
|
-
|
|
2661
|
+
};
|
|
2587
2662
|
/**
|
|
2588
2663
|
* sendMessage
|
|
2589
2664
|
* @desc:向iframe发送信息
|
|
@@ -3119,6 +3194,7 @@ var watermark = function watermark(option) {
|
|
|
3119
3194
|
rmbToCapital: rmbToCapital,
|
|
3120
3195
|
sendMessage: sendMessage,
|
|
3121
3196
|
setFavicon: setFavicon,
|
|
3197
|
+
setScale: setScale,
|
|
3122
3198
|
setStorage: setStorage,
|
|
3123
3199
|
socket: socket,
|
|
3124
3200
|
startWith: startWith,
|
|
@@ -4141,6 +4217,8 @@ var WebSocket = function () {
|
|
|
4141
4217
|
this.connects = 1;
|
|
4142
4218
|
this.recon = false;
|
|
4143
4219
|
this.sendTimeout = null;
|
|
4220
|
+
this.socket = null;
|
|
4221
|
+
this.subscription = null;
|
|
4144
4222
|
}
|
|
4145
4223
|
|
|
4146
4224
|
/** socket连接 */
|
|
@@ -4151,14 +4229,12 @@ var WebSocket = function () {
|
|
|
4151
4229
|
|
|
4152
4230
|
if (!this.client) {
|
|
4153
4231
|
// 连接SockJS
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
this.client = stompjs__WEBPACK_IMPORTED_MODULE_1___default.a.over(socket);
|
|
4232
|
+
this.socket = new sockjs_client__WEBPACK_IMPORTED_MODULE_0___default.a(this.host + this.url, { timeout: 60000 });
|
|
4233
|
+
this.client = stompjs__WEBPACK_IMPORTED_MODULE_1___default.a.over(this.socket);
|
|
4157
4234
|
}
|
|
4158
4235
|
|
|
4159
4236
|
// 日志不打印
|
|
4160
4237
|
if (!this.debug) {
|
|
4161
|
-
console.log(111);
|
|
4162
4238
|
this.client.debug = function () {};
|
|
4163
4239
|
}
|
|
4164
4240
|
|
|
@@ -4170,9 +4246,10 @@ var WebSocket = function () {
|
|
|
4170
4246
|
// 订阅消息
|
|
4171
4247
|
_this.subscribe();
|
|
4172
4248
|
}, function (error) {
|
|
4249
|
+
_this.unsubscribe();
|
|
4250
|
+
_this.client = null;
|
|
4173
4251
|
var diffSecond = parseInt((new Date() - _this.nextDate) / 1000, 10);
|
|
4174
4252
|
if (_this.connects > 5 && diffSecond < _this.interval) {
|
|
4175
|
-
_this.client.disconnect();
|
|
4176
4253
|
_this.error && _this.error(error);
|
|
4177
4254
|
} else {
|
|
4178
4255
|
_this.reconTimeout = setTimeout(function () {
|
|
@@ -4181,6 +4258,14 @@ var WebSocket = function () {
|
|
|
4181
4258
|
}, 5000);
|
|
4182
4259
|
}
|
|
4183
4260
|
});
|
|
4261
|
+
}; // 清除订阅
|
|
4262
|
+
|
|
4263
|
+
|
|
4264
|
+
WebSocket.prototype.unsubscribe = function unsubscribe() {
|
|
4265
|
+
if (this.subscription) {
|
|
4266
|
+
this.subscription.unsubscribe();
|
|
4267
|
+
this.subscription = null;
|
|
4268
|
+
}
|
|
4184
4269
|
};
|
|
4185
4270
|
/** 订阅服务端 */
|
|
4186
4271
|
|
|
@@ -4189,7 +4274,7 @@ var WebSocket = function () {
|
|
|
4189
4274
|
var _this2 = this;
|
|
4190
4275
|
|
|
4191
4276
|
// 订阅服务端提供的某个topic
|
|
4192
|
-
this.client.subscribe(this.take, function (response) {
|
|
4277
|
+
this.subscription = this.client.subscribe(this.take, function (response) {
|
|
4193
4278
|
if (response && (_this2.callback || _this2.success)) {
|
|
4194
4279
|
var callback = _this2.callback || _this2.success;
|
|
4195
4280
|
callback(JSON.parse(response.body));
|
|
@@ -4230,6 +4315,7 @@ var WebSocket = function () {
|
|
|
4230
4315
|
|
|
4231
4316
|
WebSocket.prototype.destroy = function destroy() {
|
|
4232
4317
|
// 断开连接,清除定时器
|
|
4318
|
+
this.unsubscribe();
|
|
4233
4319
|
if (this.client) {
|
|
4234
4320
|
this.client.disconnect();
|
|
4235
4321
|
};
|
package/lib/select-ganged.js
CHANGED
|
@@ -621,6 +621,35 @@ var calculateNetworkDays = function calculateNetworkDays(start_date, end_date) {
|
|
|
621
621
|
return workdays;
|
|
622
622
|
};
|
|
623
623
|
|
|
624
|
+
/**
|
|
625
|
+
* chunkToChinese
|
|
626
|
+
* @desc 将四位数的整数转换为中文大写
|
|
627
|
+
* @param {number} chunk - 数字
|
|
628
|
+
**/
|
|
629
|
+
function chunkToChinese(chunk) {
|
|
630
|
+
var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
|
|
631
|
+
var capitalDigits = ['', '拾', '佰', '仟'];
|
|
632
|
+
|
|
633
|
+
var result = '';
|
|
634
|
+
var digitIndex = 0;
|
|
635
|
+
|
|
636
|
+
while (chunk > 0) {
|
|
637
|
+
var digit = chunk % 10;
|
|
638
|
+
if (digit > 0) {
|
|
639
|
+
result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
|
|
640
|
+
} else {
|
|
641
|
+
// 当前数字是零,需要判断是否需要添加零
|
|
642
|
+
if (result.charAt(0) !== '零') {
|
|
643
|
+
result = '零' + result;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
chunk = Math.floor(chunk / 10);
|
|
647
|
+
digitIndex++;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
return result;
|
|
651
|
+
}
|
|
652
|
+
|
|
624
653
|
/**
|
|
625
654
|
* concatenate
|
|
626
655
|
* @desc 指定连接符合并文本
|
|
@@ -1816,6 +1845,31 @@ var getWeekday = function getWeekday(date) {
|
|
|
1816
1845
|
return adjustedDay === 0 ? 7 : adjustedDay;
|
|
1817
1846
|
};
|
|
1818
1847
|
|
|
1848
|
+
/**
|
|
1849
|
+
* getZoom
|
|
1850
|
+
* @desc 获取缩放比
|
|
1851
|
+
* @param {number} n - 可选参数,表示星期的起始日,0 表示星期天,1 表示星期一,以此类推,默认为 0
|
|
1852
|
+
**/
|
|
1853
|
+
var getZoom = function getZoom() {
|
|
1854
|
+
var ratio = 0;
|
|
1855
|
+
var screen = window.screen;
|
|
1856
|
+
var ua = navigator.userAgent.toLowerCase();
|
|
1857
|
+
if (window.devicePixelRatio !== undefined) {
|
|
1858
|
+
ratio = window.devicePixelRatio;
|
|
1859
|
+
} else if (~ua.indexOf('msie')) {
|
|
1860
|
+
if (screen.deviceXDPI && screen.logicalXDPI) {
|
|
1861
|
+
ratio = screen.deviceXDPI / screen.logicalXDPI;
|
|
1862
|
+
}
|
|
1863
|
+
} else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
|
|
1864
|
+
ratio = window.outerWidth / window.innerWidth;
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
if (ratio) {
|
|
1868
|
+
ratio = Math.round(ratio * 100);
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1871
|
+
return ratio / 100;
|
|
1872
|
+
};
|
|
1819
1873
|
/**
|
|
1820
1874
|
* handlerUrl
|
|
1821
1875
|
* @desc:更新url参数中的时间戳
|
|
@@ -2558,32 +2612,53 @@ var rmbToCapital = function rmbToCapital(number) {
|
|
|
2558
2612
|
|
|
2559
2613
|
return result;
|
|
2560
2614
|
};
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
var
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2615
|
+
/**
|
|
2616
|
+
* setScale
|
|
2617
|
+
* @desc 设置缩放
|
|
2618
|
+
* @param {number} width - 分辨率宽度
|
|
2619
|
+
* @param {number} height - 分辨率高度
|
|
2620
|
+
**/
|
|
2621
|
+
var setScale = function setScale() {
|
|
2622
|
+
var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1920;
|
|
2623
|
+
var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1080;
|
|
2624
|
+
|
|
2625
|
+
var n = 1;
|
|
2626
|
+
var isMac = /macintosh|mac os x/i.test(navigator.userAgent);
|
|
2627
|
+
var zoom = getZoom();
|
|
2628
|
+
if (isMac) {
|
|
2629
|
+
n = 2;
|
|
2630
|
+
} else {
|
|
2631
|
+
n = 1;
|
|
2632
|
+
}
|
|
2633
|
+
if (zoom === 1) {
|
|
2634
|
+
document.body.style.removeProperty('transform');
|
|
2635
|
+
document.body.style.removeProperty('width');
|
|
2636
|
+
document.body.style.removeProperty('height');
|
|
2637
|
+
document.body.style.removeProperty('transform-origin');
|
|
2638
|
+
return;
|
|
2639
|
+
}
|
|
2640
|
+
if (Math.abs(parseInt(width - window.innerWidth * zoom / n, 10)) > 15 && window.innerWidth * zoom / n !== width) {
|
|
2641
|
+
var scale = 'scale(' + window.innerWidth * zoom / width / zoom + ',' + window.innerHeight * zoom / height / zoom + ')';
|
|
2642
|
+
document.body.style.transform = scale;
|
|
2643
|
+
document.body.style.width = width + 'px';
|
|
2644
|
+
document.body.style.height = height + 'px';
|
|
2645
|
+
document.body.style.transformOrigin = '0 0';
|
|
2646
|
+
} else {
|
|
2647
|
+
if (isMac) {
|
|
2648
|
+
var _scale = 'scale(' + 1 * n / zoom + ')';
|
|
2649
|
+
document.body.style.transform = _scale;
|
|
2650
|
+
document.body.style.width = parseInt(window.innerWidth * zoom / n, 10) + 'px';
|
|
2651
|
+
document.body.style.height = parseInt(window.innerHeight * zoom / n, 10) + 'px';
|
|
2652
|
+
document.body.style.transformOrigin = '0 0';
|
|
2574
2653
|
} else {
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2654
|
+
var _scale2 = 'scale(' + 1 * n / zoom + ')';
|
|
2655
|
+
document.body.style.transform = _scale2;
|
|
2656
|
+
document.body.style.width = parseInt(window.innerWidth * zoom / n, 10) + 'px';
|
|
2657
|
+
document.body.style.height = parseInt(window.innerHeight * zoom / n, 10) + 'px';
|
|
2658
|
+
document.body.style.transformOrigin = '0 0';
|
|
2579
2659
|
}
|
|
2580
|
-
chunk = Math.floor(chunk / 10);
|
|
2581
|
-
digitIndex++;
|
|
2582
2660
|
}
|
|
2583
|
-
|
|
2584
|
-
return result;
|
|
2585
|
-
}
|
|
2586
|
-
|
|
2661
|
+
};
|
|
2587
2662
|
/**
|
|
2588
2663
|
* sendMessage
|
|
2589
2664
|
* @desc:向iframe发送信息
|
|
@@ -3119,6 +3194,7 @@ var watermark = function watermark(option) {
|
|
|
3119
3194
|
rmbToCapital: rmbToCapital,
|
|
3120
3195
|
sendMessage: sendMessage,
|
|
3121
3196
|
setFavicon: setFavicon,
|
|
3197
|
+
setScale: setScale,
|
|
3122
3198
|
setStorage: setStorage,
|
|
3123
3199
|
socket: socket,
|
|
3124
3200
|
startWith: startWith,
|
|
@@ -3665,6 +3741,8 @@ var WebSocket = function () {
|
|
|
3665
3741
|
this.connects = 1;
|
|
3666
3742
|
this.recon = false;
|
|
3667
3743
|
this.sendTimeout = null;
|
|
3744
|
+
this.socket = null;
|
|
3745
|
+
this.subscription = null;
|
|
3668
3746
|
}
|
|
3669
3747
|
|
|
3670
3748
|
/** socket连接 */
|
|
@@ -3675,14 +3753,12 @@ var WebSocket = function () {
|
|
|
3675
3753
|
|
|
3676
3754
|
if (!this.client) {
|
|
3677
3755
|
// 连接SockJS
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
this.client = stompjs__WEBPACK_IMPORTED_MODULE_1___default.a.over(socket);
|
|
3756
|
+
this.socket = new sockjs_client__WEBPACK_IMPORTED_MODULE_0___default.a(this.host + this.url, { timeout: 60000 });
|
|
3757
|
+
this.client = stompjs__WEBPACK_IMPORTED_MODULE_1___default.a.over(this.socket);
|
|
3681
3758
|
}
|
|
3682
3759
|
|
|
3683
3760
|
// 日志不打印
|
|
3684
3761
|
if (!this.debug) {
|
|
3685
|
-
console.log(111);
|
|
3686
3762
|
this.client.debug = function () {};
|
|
3687
3763
|
}
|
|
3688
3764
|
|
|
@@ -3694,9 +3770,10 @@ var WebSocket = function () {
|
|
|
3694
3770
|
// 订阅消息
|
|
3695
3771
|
_this.subscribe();
|
|
3696
3772
|
}, function (error) {
|
|
3773
|
+
_this.unsubscribe();
|
|
3774
|
+
_this.client = null;
|
|
3697
3775
|
var diffSecond = parseInt((new Date() - _this.nextDate) / 1000, 10);
|
|
3698
3776
|
if (_this.connects > 5 && diffSecond < _this.interval) {
|
|
3699
|
-
_this.client.disconnect();
|
|
3700
3777
|
_this.error && _this.error(error);
|
|
3701
3778
|
} else {
|
|
3702
3779
|
_this.reconTimeout = setTimeout(function () {
|
|
@@ -3705,6 +3782,14 @@ var WebSocket = function () {
|
|
|
3705
3782
|
}, 5000);
|
|
3706
3783
|
}
|
|
3707
3784
|
});
|
|
3785
|
+
}; // 清除订阅
|
|
3786
|
+
|
|
3787
|
+
|
|
3788
|
+
WebSocket.prototype.unsubscribe = function unsubscribe() {
|
|
3789
|
+
if (this.subscription) {
|
|
3790
|
+
this.subscription.unsubscribe();
|
|
3791
|
+
this.subscription = null;
|
|
3792
|
+
}
|
|
3708
3793
|
};
|
|
3709
3794
|
/** 订阅服务端 */
|
|
3710
3795
|
|
|
@@ -3713,7 +3798,7 @@ var WebSocket = function () {
|
|
|
3713
3798
|
var _this2 = this;
|
|
3714
3799
|
|
|
3715
3800
|
// 订阅服务端提供的某个topic
|
|
3716
|
-
this.client.subscribe(this.take, function (response) {
|
|
3801
|
+
this.subscription = this.client.subscribe(this.take, function (response) {
|
|
3717
3802
|
if (response && (_this2.callback || _this2.success)) {
|
|
3718
3803
|
var callback = _this2.callback || _this2.success;
|
|
3719
3804
|
callback(JSON.parse(response.body));
|
|
@@ -3754,6 +3839,7 @@ var WebSocket = function () {
|
|
|
3754
3839
|
|
|
3755
3840
|
WebSocket.prototype.destroy = function destroy() {
|
|
3756
3841
|
// 断开连接,清除定时器
|
|
3842
|
+
this.unsubscribe();
|
|
3757
3843
|
if (this.client) {
|
|
3758
3844
|
this.client.disconnect();
|
|
3759
3845
|
};
|