eoss-ui 0.5.10 → 0.5.12
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 +246 -157
- package/lib/button.js +185 -108
- package/lib/card.js +2 -2
- package/lib/cascader.js +2 -2
- package/lib/checkbox-group.js +184 -108
- package/lib/clients.js +2 -2
- package/lib/data-table-form.js +183 -107
- package/lib/data-table.js +216 -131
- package/lib/date-picker.js +190 -113
- package/lib/dialog.js +192 -116
- package/lib/enterprise.js +2 -2
- package/lib/eoss-ui.common.js +506 -642
- package/lib/error-page.js +2 -2
- package/lib/flow-group.js +183 -106
- package/lib/flow-list.js +218 -116
- package/lib/flow.js +218 -125
- package/lib/form.js +308 -323
- package/lib/handle-user.js +186 -109
- package/lib/handler.js +184 -107
- package/lib/icons.js +4 -4
- package/lib/index.js +1 -1
- package/lib/input-number.js +185 -108
- package/lib/input.js +187 -110
- package/lib/label.js +2 -2
- package/lib/layout.js +4 -4
- package/lib/login.js +186 -110
- package/lib/main.js +311 -385
- package/lib/menu.js +2 -2
- package/lib/nav.js +185 -108
- package/lib/notify.js +2 -2
- package/lib/page.js +185 -108
- package/lib/pagination.js +2 -2
- package/lib/player.js +191 -114
- package/lib/qr-code.js +187 -110
- package/lib/radio-group.js +188 -111
- package/lib/retrial-auth.js +185 -108
- package/lib/select-ganged.js +183 -106
- package/lib/select.js +184 -107
- package/lib/selector-panel.js +184 -108
- package/lib/selector.js +185 -108
- package/lib/sizer.js +187 -110
- package/lib/steps.js +185 -108
- package/lib/switch.js +185 -108
- package/lib/table-form.js +197 -136
- package/lib/tabs-panel.js +2 -2
- package/lib/tabs.js +188 -111
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/pagination.css +1 -1
- package/lib/theme-chalk/toolbar.css +1 -1
- package/lib/tips.js +185 -108
- package/lib/toolbar.js +21 -11
- package/lib/tree-group.js +183 -106
- package/lib/tree.js +183 -106
- package/lib/upload.js +186 -110
- package/lib/utils/util.js +35 -94
- package/lib/utils/webSocket.js +134 -0
- package/lib/wujie.js +185 -108
- package/lib/wxlogin.js +185 -108
- package/package.json +1 -1
- package/packages/data-table/src/main.vue +16 -8
- package/packages/data-table/src/sizer.vue +1 -1
- package/packages/flow/src/main.vue +2 -0
- package/packages/flow/src/processForm.vue +23 -9
- package/packages/flow-list/src/main.vue +25 -2
- package/packages/form/src/main.vue +11 -46
- package/packages/form/src/table.vue +6 -11
- package/packages/main/src/main.vue +25 -164
- package/packages/radio-group/src/main.vue +1 -5
- package/packages/theme-chalk/lib/index.css +1 -1
- package/packages/theme-chalk/lib/pagination.css +1 -1
- package/packages/theme-chalk/lib/toolbar.css +1 -1
- package/packages/theme-chalk/src/pagination.scss +8 -0
- package/packages/theme-chalk/src/toolbar.scss +1 -0
- package/packages/toolbar/src/main.vue +17 -8
- package/src/index.js +1 -1
- package/src/utils/util.js +58 -115
- package/src/utils/webSocket.js +103 -0
package/lib/radio-group.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 55);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
@@ -98,14 +98,9 @@ module.exports =
|
|
|
98
98
|
/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__);
|
|
99
99
|
/* harmony import */ var json_bigint__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6);
|
|
100
100
|
/* harmony import */ var json_bigint__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(json_bigint__WEBPACK_IMPORTED_MODULE_3__);
|
|
101
|
-
/* harmony import */ var
|
|
102
|
-
/* harmony import */ var
|
|
103
|
-
/* harmony import */ var
|
|
104
|
-
/* harmony import */ var stompjs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(stompjs__WEBPACK_IMPORTED_MODULE_5__);
|
|
105
|
-
/* harmony import */ var eoss_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2);
|
|
106
|
-
/* harmony import */ var eoss_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(eoss_element__WEBPACK_IMPORTED_MODULE_6__);
|
|
107
|
-
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
108
|
-
|
|
101
|
+
/* harmony import */ var _webSocket__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7);
|
|
102
|
+
/* harmony import */ var eoss_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2);
|
|
103
|
+
/* harmony import */ var eoss_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(eoss_element__WEBPACK_IMPORTED_MODULE_5__);
|
|
109
104
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
110
105
|
|
|
111
106
|
/**
|
|
@@ -116,8 +111,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
|
|
|
116
111
|
**/
|
|
117
112
|
|
|
118
113
|
/* eslint-disable indent */
|
|
119
|
-
var sm2 = __webpack_require__(
|
|
120
|
-
|
|
114
|
+
var sm2 = __webpack_require__(10).sm2;
|
|
121
115
|
|
|
122
116
|
|
|
123
117
|
|
|
@@ -265,7 +259,7 @@ var ajax = function ajax(_ref) {
|
|
|
265
259
|
clearTimeout(loginMsg);
|
|
266
260
|
loginMsg = setTimeout(function () {
|
|
267
261
|
sessionStorage.setItem('remind', 1);
|
|
268
|
-
|
|
262
|
+
eoss_element__WEBPACK_IMPORTED_MODULE_5__["MessageBox"].confirm(response.data.rCode === 69 ? '该账号在其他地方已登陆!' : '登录已过期,请重新登录!', '提示', response.data.rCode === 69 ? {
|
|
269
263
|
confirmButtonText: '确定',
|
|
270
264
|
closeOnClickModal: false,
|
|
271
265
|
type: 'warning'
|
|
@@ -312,7 +306,7 @@ var ajax = function ajax(_ref) {
|
|
|
312
306
|
} else if (response.data.rCode === 61) {
|
|
313
307
|
clearTimeout(initAuth);
|
|
314
308
|
initAuth = setTimeout(function () {
|
|
315
|
-
Object(
|
|
309
|
+
Object(eoss_element__WEBPACK_IMPORTED_MODULE_5__["MessageBox"])({
|
|
316
310
|
title: '请进行二次鉴权',
|
|
317
311
|
closeOnClickModal: false,
|
|
318
312
|
closeOnPressEscape: false,
|
|
@@ -746,6 +740,7 @@ var delUrlParam = function delUrlParam(_ref2) {
|
|
|
746
740
|
key.forEach(function (item) {
|
|
747
741
|
if (param.hasOwnProperty(item)) {
|
|
748
742
|
var reg = item + '=' + param[item];
|
|
743
|
+
console.log(reg);
|
|
749
744
|
if (src.indexOf(reg + '&') > -1) {
|
|
750
745
|
src = src.replace(reg + '&', '');
|
|
751
746
|
} else if (src.indexOf('&' + reg) > -1) {
|
|
@@ -1946,7 +1941,6 @@ var isLogined = function isLogined(_ref8) {
|
|
|
1946
1941
|
next = _ref8.next,
|
|
1947
1942
|
_ref8$exclude = _ref8.exclude,
|
|
1948
1943
|
exclude = _ref8$exclude === undefined ? [] : _ref8$exclude,
|
|
1949
|
-
open = _ref8.open,
|
|
1950
1944
|
cookie = _ref8.cookie,
|
|
1951
1945
|
loginPage = _ref8.loginPage,
|
|
1952
1946
|
redirect = _ref8.redirect;
|
|
@@ -1954,24 +1948,24 @@ var isLogined = function isLogined(_ref8) {
|
|
|
1954
1948
|
if (cookie === undefined) {
|
|
1955
1949
|
cookie = getParams({ name: 'cookie' });
|
|
1956
1950
|
}
|
|
1951
|
+
var pathname = win.top.location.pathname;
|
|
1957
1952
|
if (loginPage) {
|
|
1958
1953
|
sessionStorage.setItem('loginPage', loginPage);
|
|
1959
1954
|
if (!startWith(loginPage, ['http', '/'], true)) {
|
|
1960
|
-
var pathname = win.top.location.pathname;
|
|
1961
1955
|
if (pathname !== '/') {
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
loginPage =
|
|
1956
|
+
var path = pathname.split('/');
|
|
1957
|
+
path.splice(pathname.length - 1);
|
|
1958
|
+
path = path.join('/');
|
|
1959
|
+
loginPage = path + '/' + loginPage.replace('./', '');
|
|
1966
1960
|
} else {
|
|
1967
1961
|
loginPage = pathname + loginPage.replace('./', '');
|
|
1968
1962
|
}
|
|
1969
1963
|
}
|
|
1970
1964
|
}
|
|
1971
1965
|
var token = getStorage('token') || getStorage('Authorization');
|
|
1972
|
-
|
|
1966
|
+
// const logined = getStorage('logined');
|
|
1973
1967
|
// eslint-disable-next-line eqeqeq
|
|
1974
|
-
if (token ||
|
|
1968
|
+
if (token || cookie == true || cookie == 1) {
|
|
1975
1969
|
next && next();
|
|
1976
1970
|
} else {
|
|
1977
1971
|
if (!token && Object.prototype.hasOwnProperty.call(to.query, 'serverId') && Object.prototype.hasOwnProperty.call(to.query, 'authType')) {
|
|
@@ -1995,40 +1989,25 @@ var isLogined = function isLogined(_ref8) {
|
|
|
1995
1989
|
deviceUnique: results.deviceUnique
|
|
1996
1990
|
}
|
|
1997
1991
|
});
|
|
1998
|
-
|
|
1992
|
+
var url = delUrlParam({
|
|
1993
|
+
url: win.top.location.href,
|
|
1994
|
+
key: ['serverId', 'authType', 'code', 'sessionId']
|
|
1995
|
+
});
|
|
1996
|
+
win.top.location.href = url;
|
|
1997
|
+
setTimeout(function () {
|
|
1998
|
+
win.top.location.reload();
|
|
1999
|
+
}, 200);
|
|
1999
2000
|
break;
|
|
2000
2001
|
case 1:
|
|
2001
2002
|
break;
|
|
2002
2003
|
case 2:
|
|
2003
2004
|
break;
|
|
2004
2005
|
case 3:
|
|
2005
|
-
var
|
|
2006
|
-
|
|
2007
|
-
if (to.query.openType) {
|
|
2008
|
-
switch (to.query.openType) {
|
|
2009
|
-
case 'self':
|
|
2010
|
-
win.location.href = href;
|
|
2011
|
-
break;
|
|
2012
|
-
case 'blank':
|
|
2013
|
-
win.open(href);
|
|
2014
|
-
break;
|
|
2015
|
-
case 'top':
|
|
2016
|
-
win.top.location.href = href;
|
|
2017
|
-
break;
|
|
2018
|
-
case 'parent':
|
|
2019
|
-
win.parent.location.href = href;
|
|
2020
|
-
break;
|
|
2021
|
-
}
|
|
2022
|
-
} else {
|
|
2023
|
-
if (open) {
|
|
2024
|
-
win.open(href);
|
|
2025
|
-
} else {
|
|
2026
|
-
win.top.location.href = href;
|
|
2027
|
-
}
|
|
2028
|
-
}
|
|
2006
|
+
var href = results.authorizeUrl.replace('{redirectUri}', encodeURIComponent(win.top.location.href));
|
|
2007
|
+
win.top.location.href = href;
|
|
2029
2008
|
break;
|
|
2030
2009
|
case 4:
|
|
2031
|
-
|
|
2010
|
+
eoss_element__WEBPACK_IMPORTED_MODULE_5__["MessageBox"].alert(results.msg ? results.msg : '账号未绑定,账号密码登录后自动绑定!', '提示', {
|
|
2032
2011
|
confirmButtonText: '确定',
|
|
2033
2012
|
type: 'error',
|
|
2034
2013
|
callback: function callback() {
|
|
@@ -2048,7 +2027,7 @@ var isLogined = function isLogined(_ref8) {
|
|
|
2048
2027
|
default:
|
|
2049
2028
|
}
|
|
2050
2029
|
} else {
|
|
2051
|
-
|
|
2030
|
+
eoss_element__WEBPACK_IMPORTED_MODULE_5__["MessageBox"].alert(res.msg, '提示', {
|
|
2052
2031
|
confirmButtonText: '确定',
|
|
2053
2032
|
type: 'error',
|
|
2054
2033
|
callback: function callback() {
|
|
@@ -2179,7 +2158,7 @@ var loadJs = function loadJs(_ref10) {
|
|
|
2179
2158
|
**/
|
|
2180
2159
|
var loading = function loading($loading, res) {
|
|
2181
2160
|
if (!$loading) {
|
|
2182
|
-
$loading =
|
|
2161
|
+
$loading = eoss_element__WEBPACK_IMPORTED_MODULE_5__["Loading"].service;
|
|
2183
2162
|
}
|
|
2184
2163
|
if (isObject(res)) {
|
|
2185
2164
|
var config = extend({}, {
|
|
@@ -2544,63 +2523,25 @@ var setStorage = function setStorage(_ref14) {
|
|
|
2544
2523
|
* @author huangbo
|
|
2545
2524
|
* @date 2022年5月7日
|
|
2546
2525
|
* @param {String} [url] - 连接地址
|
|
2526
|
+
* @param {String} [send] - 是否发送消息
|
|
2547
2527
|
* @param {String} [take] - 订阅地址
|
|
2548
2528
|
* @param {String} [debug] - 调试
|
|
2549
2529
|
* @param {String} [interval] - 重连间隔时间
|
|
2530
|
+
* @param {Function} [success] - 调试
|
|
2531
|
+
* @param {Function} [error] - 重连间隔时间
|
|
2550
2532
|
**/
|
|
2551
|
-
function socket(
|
|
2552
|
-
var
|
|
2553
|
-
var
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
if (options && isObject(options)) {
|
|
2564
|
-
option = _extends({}, option, options);
|
|
2565
|
-
}
|
|
2566
|
-
var key = window.btoa(option.url);
|
|
2567
|
-
if (!websocket[key]) {
|
|
2568
|
-
websocket[key] = { socket: new sockjs_client__WEBPACK_IMPORTED_MODULE_4___default.a(option.url) };
|
|
2569
|
-
win.websocket = websocket;
|
|
2570
|
-
}
|
|
2571
|
-
|
|
2572
|
-
var client = websocket[key] ? websocket[key].client : null;
|
|
2573
|
-
if (!client) {
|
|
2574
|
-
client = websocket[key].client = stompjs__WEBPACK_IMPORTED_MODULE_5___default.a.over(websocket[key].socket);
|
|
2575
|
-
!option.debug && (client.debug = null);
|
|
2576
|
-
}
|
|
2577
|
-
client.connect({}, function () {
|
|
2578
|
-
client.subscribe(option.take, function (response) {
|
|
2579
|
-
var res = JSON.parse(response.body);
|
|
2580
|
-
resolve(res, function () {
|
|
2581
|
-
client.disconnect();
|
|
2582
|
-
win.top.websocket && win.top.websocket[key] && delete win.top.websocket[key];
|
|
2583
|
-
}, client, websocket[key]);
|
|
2584
|
-
});
|
|
2585
|
-
}, function (error) {
|
|
2586
|
-
var diffSecond = parseInt((new Date() - nextDate) / 1000, 10);
|
|
2587
|
-
if (connect > 5 && diffSecond < option.interval) {
|
|
2588
|
-
client.disconnect();
|
|
2589
|
-
if (win.top.websocket) {
|
|
2590
|
-
if (Object.keys(win.top.websocket).length > 1) {
|
|
2591
|
-
delete win.top.websocket[key];
|
|
2592
|
-
} else {
|
|
2593
|
-
delete win.top.websocket;
|
|
2594
|
-
}
|
|
2595
|
-
}
|
|
2596
|
-
} else {
|
|
2597
|
-
win.top.websocket && win.top.websocket[key] && setTimeout(function () {
|
|
2598
|
-
socket(options);
|
|
2599
|
-
}, 5000);
|
|
2600
|
-
}
|
|
2601
|
-
reject(error);
|
|
2602
|
-
});
|
|
2603
|
-
});
|
|
2533
|
+
function socket(option, vm) {
|
|
2534
|
+
var options = {};
|
|
2535
|
+
for (var i in option) {
|
|
2536
|
+
if (i === 'send') {
|
|
2537
|
+
options['isSend'] = option[i];
|
|
2538
|
+
} else {
|
|
2539
|
+
options[i] = option[i];
|
|
2540
|
+
}
|
|
2541
|
+
}
|
|
2542
|
+
var socket = new _webSocket__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"]();
|
|
2543
|
+
socket.init(options, vm);
|
|
2544
|
+
return socket;
|
|
2604
2545
|
}
|
|
2605
2546
|
/**
|
|
2606
2547
|
* sum
|
|
@@ -3382,6 +3323,13 @@ var formContents = '/config/admin/online/onlineForm/render';
|
|
|
3382
3323
|
/***/ }),
|
|
3383
3324
|
|
|
3384
3325
|
/***/ 10:
|
|
3326
|
+
/***/ (function(module, exports) {
|
|
3327
|
+
|
|
3328
|
+
module.exports = require("sm-crypto");
|
|
3329
|
+
|
|
3330
|
+
/***/ }),
|
|
3331
|
+
|
|
3332
|
+
/***/ 11:
|
|
3385
3333
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3386
3334
|
|
|
3387
3335
|
"use strict";
|
|
@@ -3535,14 +3483,14 @@ module.exports = require("axios");
|
|
|
3535
3483
|
|
|
3536
3484
|
/***/ }),
|
|
3537
3485
|
|
|
3538
|
-
/***/
|
|
3486
|
+
/***/ 55:
|
|
3539
3487
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3540
3488
|
|
|
3541
3489
|
"use strict";
|
|
3542
3490
|
// ESM COMPAT FLAG
|
|
3543
3491
|
__webpack_require__.r(__webpack_exports__);
|
|
3544
3492
|
|
|
3545
|
-
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio-group/src/main.vue?vue&type=template&id=
|
|
3493
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio-group/src/main.vue?vue&type=template&id=a0afa96c&
|
|
3546
3494
|
var render = function () {
|
|
3547
3495
|
var _vm = this
|
|
3548
3496
|
var _h = _vm.$createElement
|
|
@@ -3676,13 +3624,13 @@ var staticRenderFns = []
|
|
|
3676
3624
|
render._withStripped = true
|
|
3677
3625
|
|
|
3678
3626
|
|
|
3679
|
-
// CONCATENATED MODULE: ./packages/radio-group/src/main.vue?vue&type=template&id=
|
|
3627
|
+
// CONCATENATED MODULE: ./packages/radio-group/src/main.vue?vue&type=template&id=a0afa96c&
|
|
3680
3628
|
|
|
3681
3629
|
// EXTERNAL MODULE: ./src/config/api.js
|
|
3682
3630
|
var api = __webpack_require__(1);
|
|
3683
3631
|
|
|
3684
3632
|
// EXTERNAL MODULE: ./src/utils/store.js
|
|
3685
|
-
var store = __webpack_require__(
|
|
3633
|
+
var store = __webpack_require__(11);
|
|
3686
3634
|
|
|
3687
3635
|
// EXTERNAL MODULE: ./src/utils/util.js
|
|
3688
3636
|
var util = __webpack_require__(0);
|
|
@@ -3873,7 +3821,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
|
|
|
3873
3821
|
labelVal: function labelVal() {
|
|
3874
3822
|
var _this = this;
|
|
3875
3823
|
|
|
3876
|
-
if (this.readonly &&
|
|
3824
|
+
if (this.readonly && this.model !== undefined && this.results.length) {
|
|
3877
3825
|
if (_typeof(this.model) !== 'object') {
|
|
3878
3826
|
if (util["a" /* default */].isObject(this.results[0])) {
|
|
3879
3827
|
var val = void 0;
|
|
@@ -4030,23 +3978,152 @@ module.exports = require("json-bigint");
|
|
|
4030
3978
|
/***/ }),
|
|
4031
3979
|
|
|
4032
3980
|
/***/ 7:
|
|
4033
|
-
/***/ (function(module,
|
|
3981
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
4034
3982
|
|
|
4035
|
-
|
|
3983
|
+
"use strict";
|
|
3984
|
+
/* harmony import */ var sockjs_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
|
|
3985
|
+
/* harmony import */ var sockjs_client__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(sockjs_client__WEBPACK_IMPORTED_MODULE_0__);
|
|
3986
|
+
/* harmony import */ var stompjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9);
|
|
3987
|
+
/* harmony import */ var stompjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(stompjs__WEBPACK_IMPORTED_MODULE_1__);
|
|
3988
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3989
|
+
|
|
3990
|
+
|
|
3991
|
+
|
|
3992
|
+
|
|
3993
|
+
var WebSocket = function () {
|
|
3994
|
+
// 构造函数
|
|
3995
|
+
function WebSocket() {
|
|
3996
|
+
_classCallCheck(this, WebSocket);
|
|
3997
|
+
|
|
3998
|
+
this.host = sessionStorage.getItem('wshost') || '';
|
|
3999
|
+
this.tryTimes = 1; // 重连次数
|
|
4000
|
+
this.callback = null; // 回调函数
|
|
4001
|
+
this.client = null; // stomp对象
|
|
4002
|
+
this.reconTimeout = null; // 重连延时器
|
|
4003
|
+
this.debug = true; // 调试
|
|
4004
|
+
this.interval = 20; // 重连间隔时间
|
|
4005
|
+
this.vm = null;
|
|
4006
|
+
this.nextDate = 0;
|
|
4007
|
+
this.connects = 1;
|
|
4008
|
+
this.recon = false;
|
|
4009
|
+
this.sendTimeout = null;
|
|
4010
|
+
this.isSend = false;
|
|
4011
|
+
}
|
|
4012
|
+
|
|
4013
|
+
/** socket连接 */
|
|
4014
|
+
|
|
4015
|
+
|
|
4016
|
+
WebSocket.prototype.connect = function connect() {
|
|
4017
|
+
var _this = this;
|
|
4018
|
+
|
|
4019
|
+
if (!this.client) {
|
|
4020
|
+
// 连接SockJS
|
|
4021
|
+
var socket = new sockjs_client__WEBPACK_IMPORTED_MODULE_0___default.a(this.host + this.url);
|
|
4022
|
+
// 获取STOMP子协议的客户端对象
|
|
4023
|
+
this.client = stompjs__WEBPACK_IMPORTED_MODULE_1___default.a.over(socket);
|
|
4024
|
+
}
|
|
4025
|
+
|
|
4026
|
+
// 日志不打印
|
|
4027
|
+
if (!this.debug) {
|
|
4028
|
+
console.log(111);
|
|
4029
|
+
this.client.debug = function () {};
|
|
4030
|
+
}
|
|
4031
|
+
|
|
4032
|
+
// 向服务器发起websocket连接
|
|
4033
|
+
this.client.connect({}, function () {
|
|
4034
|
+
_this.recon = true;
|
|
4035
|
+
// tryTimes定义重置
|
|
4036
|
+
_this.connects = 1;
|
|
4037
|
+
// 订阅消息
|
|
4038
|
+
// if (!this.isSend) {
|
|
4039
|
+
_this.subscribe();
|
|
4040
|
+
// }
|
|
4041
|
+
}, function (error) {
|
|
4042
|
+
var diffSecond = parseInt((new Date() - _this.nextDate) / 1000, 10);
|
|
4043
|
+
if (_this.connects > 5 && diffSecond < _this.interval) {
|
|
4044
|
+
_this.client.disconnect();
|
|
4045
|
+
_this.error && _this.error(error);
|
|
4046
|
+
} else {
|
|
4047
|
+
_this.reconTimeout = setTimeout(function () {
|
|
4048
|
+
_this.connect();
|
|
4049
|
+
_this.connects++;
|
|
4050
|
+
}, 5000);
|
|
4051
|
+
}
|
|
4052
|
+
});
|
|
4053
|
+
};
|
|
4054
|
+
/** 订阅服务端 */
|
|
4055
|
+
|
|
4056
|
+
|
|
4057
|
+
WebSocket.prototype.subscribe = function subscribe() {
|
|
4058
|
+
var _this2 = this;
|
|
4059
|
+
|
|
4060
|
+
// 订阅服务端提供的某个topic
|
|
4061
|
+
this.client.subscribe(this.take, function (response) {
|
|
4062
|
+
if (response && (_this2.callback || _this2.success)) {
|
|
4063
|
+
var callback = _this2.callback || _this2.success;
|
|
4064
|
+
callback(JSON.parse(response.body));
|
|
4065
|
+
}
|
|
4066
|
+
});
|
|
4067
|
+
};
|
|
4068
|
+
|
|
4069
|
+
/** 赋值、初始化socket */
|
|
4070
|
+
|
|
4071
|
+
|
|
4072
|
+
WebSocket.prototype.init = function init(option, vm) {
|
|
4073
|
+
for (var i in option) {
|
|
4074
|
+
this[i] = option[i];
|
|
4075
|
+
}
|
|
4076
|
+
this.vm = vm;
|
|
4077
|
+
// 初始化连接
|
|
4078
|
+
this.connect();
|
|
4079
|
+
};
|
|
4080
|
+
|
|
4081
|
+
/** 发送消息 */
|
|
4082
|
+
|
|
4083
|
+
|
|
4084
|
+
WebSocket.prototype.send = function send(data) {
|
|
4085
|
+
var _this3 = this;
|
|
4086
|
+
|
|
4087
|
+
if (this.recon) {
|
|
4088
|
+
clearTimeout(this.sendTimeout);
|
|
4089
|
+
this.client.send(this.take, {}, typeof data === 'string' ? data : JSON.stringify(data));
|
|
4090
|
+
} else {
|
|
4091
|
+
this.sendTimeout = setTimeout(function () {
|
|
4092
|
+
_this3.send(data);
|
|
4093
|
+
}, 1000);
|
|
4094
|
+
}
|
|
4095
|
+
};
|
|
4096
|
+
|
|
4097
|
+
/** 销毁 */
|
|
4098
|
+
|
|
4099
|
+
|
|
4100
|
+
WebSocket.prototype.destroy = function destroy() {
|
|
4101
|
+
// 断开连接,清除定时器
|
|
4102
|
+
if (this.client) {
|
|
4103
|
+
this.client.disconnect();
|
|
4104
|
+
};
|
|
4105
|
+
this.reconTimeout && clearTimeout(this.reconTimeout);
|
|
4106
|
+
this.sendTimeout && clearTimeout(this.sendTimeout);
|
|
4107
|
+
};
|
|
4108
|
+
|
|
4109
|
+
return WebSocket;
|
|
4110
|
+
}();
|
|
4111
|
+
|
|
4112
|
+
/* harmony default export */ __webpack_exports__["a"] = (WebSocket);
|
|
4036
4113
|
|
|
4037
4114
|
/***/ }),
|
|
4038
4115
|
|
|
4039
4116
|
/***/ 8:
|
|
4040
4117
|
/***/ (function(module, exports) {
|
|
4041
4118
|
|
|
4042
|
-
module.exports = require("
|
|
4119
|
+
module.exports = require("sockjs-client");
|
|
4043
4120
|
|
|
4044
4121
|
/***/ }),
|
|
4045
4122
|
|
|
4046
4123
|
/***/ 9:
|
|
4047
4124
|
/***/ (function(module, exports) {
|
|
4048
4125
|
|
|
4049
|
-
module.exports = require("
|
|
4126
|
+
module.exports = require("stompjs");
|
|
4050
4127
|
|
|
4051
4128
|
/***/ })
|
|
4052
4129
|
|