eoss-ui 0.8.5 → 0.8.7

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.
Files changed (272) hide show
  1. package/lib/button-group.js +19 -13
  2. package/lib/button.js +19 -13
  3. package/lib/calogin.js +252 -246
  4. package/lib/checkbox-group.js +19 -13
  5. package/lib/data-table-form.js +19 -13
  6. package/lib/data-table.js +19 -13
  7. package/lib/date-picker.js +19 -13
  8. package/lib/dialog.js +19 -13
  9. package/lib/eoss-ui.common.js +686 -673
  10. package/lib/flow-group.js +19 -13
  11. package/lib/flow-list.js +19 -13
  12. package/lib/flow.js +142 -136
  13. package/lib/form.js +26 -15
  14. package/lib/handle-user.js +19 -13
  15. package/lib/handler.js +19 -13
  16. package/lib/icon.js +19 -13
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +19 -13
  19. package/lib/input.js +19 -13
  20. package/lib/login.js +19 -13
  21. package/lib/main.js +302 -296
  22. package/lib/nav.js +19 -13
  23. package/lib/page.js +19 -13
  24. package/lib/pagination.js +19 -13
  25. package/lib/player.js +19 -13
  26. package/lib/qr-code.js +32 -26
  27. package/lib/radio-group.js +19 -13
  28. package/lib/retrial-auth.js +19 -13
  29. package/lib/select-ganged.js +19 -13
  30. package/lib/select.js +21 -13
  31. package/lib/selector-panel.js +19 -13
  32. package/lib/selector.js +19 -13
  33. package/lib/sizer.js +19 -13
  34. package/lib/steps.js +19 -13
  35. package/lib/switch.js +19 -13
  36. package/lib/table-form.js +19 -13
  37. package/lib/tabs.js +19 -13
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/login.css +1 -1
  40. package/lib/tips.js +19 -13
  41. package/lib/tree-group.js +19 -13
  42. package/lib/tree.js +19 -13
  43. package/lib/upload.js +19 -13
  44. package/lib/utils/util.js +19 -13
  45. package/lib/wujie.js +19 -13
  46. package/lib/wxlogin.js +19 -13
  47. package/package.json +1 -1
  48. package/packages/button/index.js +5 -5
  49. package/packages/button/src/main.vue +418 -418
  50. package/packages/button-group/index.js +5 -5
  51. package/packages/calendar/index.js +5 -5
  52. package/packages/calogin/index.js +5 -5
  53. package/packages/calogin/src/plugin.js +915 -915
  54. package/packages/card/index.js +5 -5
  55. package/packages/card/src/main.vue +156 -156
  56. package/packages/cascader/index.js +5 -5
  57. package/packages/cascader/src/main.vue +168 -168
  58. package/packages/checkbox-group/index.js +5 -5
  59. package/packages/checkbox-group/src/main.vue +333 -333
  60. package/packages/clients/index.js +5 -5
  61. package/packages/data-table/index.js +5 -5
  62. package/packages/data-table/src/children.vue +46 -46
  63. package/packages/data-table/src/main.vue +1876 -1876
  64. package/packages/data-table/src/sizer.vue +195 -195
  65. package/packages/data-table-form/index.js +5 -5
  66. package/packages/data-table-form/src/checkbox.vue +101 -101
  67. package/packages/data-table-form/src/colgroup.vue +17 -17
  68. package/packages/data-table-form/src/main.vue +181 -181
  69. package/packages/data-table-form/src/radio.vue +65 -65
  70. package/packages/data-table-form/src/table.vue +233 -233
  71. package/packages/data-table-form/src/tbody.vue +336 -336
  72. package/packages/data-table-form/src/thead.vue +68 -68
  73. package/packages/date-picker/index.js +5 -5
  74. package/packages/date-picker/src/main.vue +236 -236
  75. package/packages/dialog/index.js +5 -5
  76. package/packages/enable-drag/index.js +5 -5
  77. package/packages/enterprise/index.js +5 -5
  78. package/packages/enterprise/src/main.vue +66 -66
  79. package/packages/error-page/index.js +5 -5
  80. package/packages/error-page/src/main.vue +44 -44
  81. package/packages/flow/index.js +5 -5
  82. package/packages/flow/src/component/FreeCirculation.vue +245 -245
  83. package/packages/flow/src/component/TimeLimit.vue +190 -190
  84. package/packages/flow/src/main.vue +4165 -4165
  85. package/packages/flow/src/processForm.vue +1711 -1711
  86. package/packages/flow-group/index.js +5 -5
  87. package/packages/flow-group/src/main.vue +750 -750
  88. package/packages/flow-list/index.js +5 -5
  89. package/packages/form/index.js +5 -5
  90. package/packages/form/src/main.vue +5 -0
  91. package/packages/handle-user/index.js +5 -5
  92. package/packages/handle-user/src/main.vue +137 -137
  93. package/packages/handler/index.js +5 -5
  94. package/packages/handler/src/main.vue +499 -499
  95. package/packages/icon/index.js +5 -5
  96. package/packages/icons/index.js +5 -5
  97. package/packages/icons/src/main.vue +81 -81
  98. package/packages/input/index.js +5 -5
  99. package/packages/input/src/main.vue +356 -356
  100. package/packages/input-number/index.js +5 -5
  101. package/packages/input-number/src/main.vue +106 -106
  102. package/packages/label/index.js +5 -5
  103. package/packages/label/src/main.vue +457 -457
  104. package/packages/layout/index.js +5 -5
  105. package/packages/layout/src/item.vue +152 -152
  106. package/packages/layout/src/main.vue +31 -31
  107. package/packages/login/index.js +5 -5
  108. package/packages/login/src/main.vue +2088 -2088
  109. package/packages/main/index.js +5 -5
  110. package/packages/main/src/default/message.vue +249 -249
  111. package/packages/main/src/default/notice.vue +157 -157
  112. package/packages/main/src/default/userinfo.vue +513 -513
  113. package/packages/main/src/simplicity/index.vue +2335 -2335
  114. package/packages/main/src/simplicity/lists.vue +84 -84
  115. package/packages/main/src/simplicity/router-page.vue +45 -45
  116. package/packages/main/src/simplicity/userinfo.vue +408 -408
  117. package/packages/main/src/simplicityTop/index.vue +2626 -2626
  118. package/packages/main/src/simplicityTop/userinfo.vue +408 -408
  119. package/packages/menu/index.js +5 -5
  120. package/packages/nav/index.js +5 -5
  121. package/packages/notify/index.js +5 -5
  122. package/packages/notify/src/main.vue +538 -538
  123. package/packages/page/index.js +5 -5
  124. package/packages/page/src/main.vue +167 -167
  125. package/packages/pagination/index.js +5 -5
  126. package/packages/pagination/src/main.vue +96 -96
  127. package/packages/player/index.js +5 -5
  128. package/packages/player/src/main.vue +194 -194
  129. package/packages/qr-code/index.js +5 -5
  130. package/packages/qr-code/src/main.vue +170 -170
  131. package/packages/radio-group/index.js +6 -6
  132. package/packages/radio-group/src/main.vue +319 -319
  133. package/packages/retrial-auth/index.js +5 -5
  134. package/packages/retrial-auth/src/main.vue +299 -299
  135. package/packages/select/index.js +5 -5
  136. package/packages/select/src/main.vue +2 -0
  137. package/packages/select-ganged/index.js +5 -5
  138. package/packages/select-ganged/src/main.vue +724 -724
  139. package/packages/selector/index.js +5 -5
  140. package/packages/selector-panel/index.js +5 -5
  141. package/packages/selector-panel/src/tree.vue +129 -129
  142. package/packages/sizer/index.js +5 -5
  143. package/packages/sizer/src/main.vue +254 -254
  144. package/packages/steps/index.js +5 -5
  145. package/packages/steps/src/main.vue +181 -181
  146. package/packages/switch/index.js +5 -5
  147. package/packages/table-form/index.js +5 -5
  148. package/packages/tabs/index.js +5 -5
  149. package/packages/tabs/src/main.vue +788 -788
  150. package/packages/tabs-panel/index.js +5 -5
  151. package/packages/tabs-panel/src/main.vue +29 -29
  152. package/packages/theme-chalk/lib/base.css +1 -0
  153. package/packages/theme-chalk/lib/button-group.css +1 -0
  154. package/packages/theme-chalk/lib/button.css +1 -0
  155. package/packages/theme-chalk/lib/calendar.css +1 -0
  156. package/packages/theme-chalk/lib/calogin.css +0 -0
  157. package/packages/theme-chalk/lib/card.css +1 -0
  158. package/packages/theme-chalk/lib/cascader.css +0 -0
  159. package/packages/theme-chalk/lib/checkbox-group.css +1 -0
  160. package/packages/theme-chalk/lib/clients.css +1 -0
  161. package/packages/theme-chalk/lib/data-table-form.css +1 -0
  162. package/packages/theme-chalk/lib/data-table.css +1 -0
  163. package/packages/theme-chalk/lib/date-picker.css +1 -0
  164. package/packages/theme-chalk/lib/dialog.css +1 -0
  165. package/packages/theme-chalk/lib/enable-drag.css +1 -0
  166. package/packages/theme-chalk/lib/enterprise.css +1 -0
  167. package/packages/theme-chalk/lib/error-page.css +1 -0
  168. package/packages/theme-chalk/lib/flow-chart.css +0 -0
  169. package/packages/theme-chalk/lib/flow-group.css +1 -0
  170. package/packages/theme-chalk/lib/flow-list.css +1 -0
  171. package/packages/theme-chalk/lib/flow.css +1 -0
  172. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  173. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  174. package/packages/theme-chalk/lib/form.css +1 -0
  175. package/packages/theme-chalk/lib/handle-user.css +1 -0
  176. package/packages/theme-chalk/lib/handler.css +1 -0
  177. package/packages/theme-chalk/lib/icon.css +1 -0
  178. package/packages/theme-chalk/lib/icons.css +1 -0
  179. package/packages/theme-chalk/lib/index.css +1 -0
  180. package/packages/theme-chalk/lib/input-number.css +0 -0
  181. package/packages/theme-chalk/lib/input.css +1 -0
  182. package/packages/theme-chalk/lib/label.css +1 -0
  183. package/packages/theme-chalk/lib/layout.css +1 -0
  184. package/packages/theme-chalk/lib/login.css +1 -0
  185. package/packages/theme-chalk/lib/main.css +1 -0
  186. package/packages/theme-chalk/lib/menu.css +1 -0
  187. package/packages/theme-chalk/lib/nav.css +1 -0
  188. package/packages/theme-chalk/lib/notify.css +0 -0
  189. package/packages/theme-chalk/lib/page.css +1 -0
  190. package/packages/theme-chalk/lib/pagination.css +1 -0
  191. package/packages/theme-chalk/lib/player.css +1 -0
  192. package/packages/theme-chalk/lib/qr-code.css +1 -0
  193. package/packages/theme-chalk/lib/radio-group.css +1 -0
  194. package/packages/theme-chalk/lib/retrial-auth.css +1 -0
  195. package/packages/theme-chalk/lib/select-ganged.css +1 -0
  196. package/packages/theme-chalk/lib/select.css +1 -0
  197. package/packages/theme-chalk/lib/selector-panel.css +1 -0
  198. package/packages/theme-chalk/lib/selector.css +1 -0
  199. package/packages/theme-chalk/lib/simplicity-top.css +1 -0
  200. package/packages/theme-chalk/lib/simplicity.css +1 -0
  201. package/packages/theme-chalk/lib/sizer.css +1 -0
  202. package/packages/theme-chalk/lib/steps.css +1 -0
  203. package/packages/theme-chalk/lib/switch.css +1 -0
  204. package/packages/theme-chalk/lib/table-form.css +0 -0
  205. package/packages/theme-chalk/lib/tabs-panel.css +0 -0
  206. package/packages/theme-chalk/lib/tabs.css +1 -0
  207. package/packages/theme-chalk/lib/tips.css +1 -0
  208. package/packages/theme-chalk/lib/toolbar.css +1 -0
  209. package/packages/theme-chalk/lib/tree-group.css +1 -0
  210. package/packages/theme-chalk/lib/tree.css +1 -0
  211. package/packages/theme-chalk/lib/upload.css +1 -0
  212. package/packages/theme-chalk/lib/wujie.css +0 -0
  213. package/packages/theme-chalk/lib/wxlogin.css +1 -0
  214. package/packages/theme-chalk/src/base.scss +261 -261
  215. package/packages/theme-chalk/src/button-group.scss +176 -176
  216. package/packages/theme-chalk/src/button.scss +24 -24
  217. package/packages/theme-chalk/src/calendar.scss +113 -113
  218. package/packages/theme-chalk/src/card.scss +99 -99
  219. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  220. package/packages/theme-chalk/src/clients.scss +87 -87
  221. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  222. package/packages/theme-chalk/src/date-picker.scss +7 -7
  223. package/packages/theme-chalk/src/dialog.scss +77 -77
  224. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  225. package/packages/theme-chalk/src/enterprise.scss +5 -5
  226. package/packages/theme-chalk/src/error-page.scss +18 -18
  227. package/packages/theme-chalk/src/flow-group.scss +110 -110
  228. package/packages/theme-chalk/src/handle-user.scss +40 -40
  229. package/packages/theme-chalk/src/icons.scss +99 -99
  230. package/packages/theme-chalk/src/input.scss +9 -9
  231. package/packages/theme-chalk/src/label.scss +24 -24
  232. package/packages/theme-chalk/src/layout.scss +46 -46
  233. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  234. package/packages/theme-chalk/src/nav.scss +111 -111
  235. package/packages/theme-chalk/src/page.scss +3 -3
  236. package/packages/theme-chalk/src/pagination.scss +29 -29
  237. package/packages/theme-chalk/src/player.scss +9 -9
  238. package/packages/theme-chalk/src/qr-code.scss +17 -17
  239. package/packages/theme-chalk/src/radio-group.scss +9 -9
  240. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  241. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  242. package/packages/theme-chalk/src/select.scss +8 -8
  243. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  244. package/packages/theme-chalk/src/sizer.scss +36 -36
  245. package/packages/theme-chalk/src/steps.scss +88 -88
  246. package/packages/theme-chalk/src/switch.scss +3 -3
  247. package/packages/theme-chalk/src/table-form.scss +1 -1
  248. package/packages/theme-chalk/src/tabs.scss +87 -87
  249. package/packages/theme-chalk/src/tips.scss +7 -7
  250. package/packages/theme-chalk/src/toolbar.scss +179 -179
  251. package/packages/theme-chalk/src/tree-group.scss +72 -72
  252. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  253. package/packages/tips/index.js +5 -5
  254. package/packages/toolbar/index.js +5 -5
  255. package/packages/toolbar/src/main.vue +430 -430
  256. package/packages/tree/index.js +5 -5
  257. package/packages/tree-group/index.js +5 -5
  258. package/packages/upload/index.js +5 -5
  259. package/packages/upload/src/main.vue +1344 -1344
  260. package/packages/upload/src/picture.js +15 -15
  261. package/packages/wujie/index.js +5 -5
  262. package/packages/wxlogin/index.js +5 -5
  263. package/packages/wxlogin/src/main.vue +128 -128
  264. package/src/config/image.js +2 -2
  265. package/src/index.js +1 -1
  266. package/src/utils/bus.js +3 -3
  267. package/src/utils/date-util.js +312 -312
  268. package/src/utils/http.js +50 -50
  269. package/src/utils/store.js +21 -21
  270. package/src/utils/util.js +6 -1
  271. package/src/utils/webSocket.js +107 -107
  272. package/packages/theme-chalk/gulpfile.js +0 -25
package/src/utils/http.js CHANGED
@@ -1,50 +1,50 @@
1
- // 封装请求参数
2
- import util from './util.js';
3
-
4
- // function request({
5
- // method = 'get',
6
- // url,
7
- // data = {},
8
- // params = {},
9
- // headers = {},
10
- // format = true,
11
- // mix = true
12
- // }) {
13
- // if (
14
- // method.toLowerCase() === 'post' &&
15
- // !Object.prototype.hasOwnProperty.call(data, 'userId') &&
16
- // util.getStorage('userId')
17
- // ) {
18
- // data.userId = util.getStorage('userId');
19
- // }
20
- // if (
21
- // (method === 'get' || method === 'GET') &&
22
- // !Object.prototype.hasOwnProperty.call(params, 'userId') &&
23
- // util.getStorage('userId')
24
- // ) {
25
- // params.userId = util.getStorage('userId');
26
- // }
27
- // if (format && (method === 'post' || method === 'POST')) {
28
- // data = qs.stringify(data);
29
- // headers['content-type'] = 'application/x-www-form-urlencoded';
30
- // }
31
- // if (!mix && (method === 'get' || method === 'GET')) {
32
- // data = {};
33
- // }
34
- // if (!mix && (method === 'post' || method === 'POST')) {
35
- // params = {};
36
- // }
37
- // return http({
38
- // method,
39
- // url,
40
- // data,
41
- // params,
42
- // headers
43
- // });
44
- // }
45
-
46
- function request(params) {
47
- return util.ajax({mix: true, ...params});
48
- }
49
-
50
- export default request;
1
+ // 封装请求参数
2
+ import util from './util.js';
3
+
4
+ // function request({
5
+ // method = 'get',
6
+ // url,
7
+ // data = {},
8
+ // params = {},
9
+ // headers = {},
10
+ // format = true,
11
+ // mix = true
12
+ // }) {
13
+ // if (
14
+ // method.toLowerCase() === 'post' &&
15
+ // !Object.prototype.hasOwnProperty.call(data, 'userId') &&
16
+ // util.getStorage('userId')
17
+ // ) {
18
+ // data.userId = util.getStorage('userId');
19
+ // }
20
+ // if (
21
+ // (method === 'get' || method === 'GET') &&
22
+ // !Object.prototype.hasOwnProperty.call(params, 'userId') &&
23
+ // util.getStorage('userId')
24
+ // ) {
25
+ // params.userId = util.getStorage('userId');
26
+ // }
27
+ // if (format && (method === 'post' || method === 'POST')) {
28
+ // data = qs.stringify(data);
29
+ // headers['content-type'] = 'application/x-www-form-urlencoded';
30
+ // }
31
+ // if (!mix && (method === 'get' || method === 'GET')) {
32
+ // data = {};
33
+ // }
34
+ // if (!mix && (method === 'post' || method === 'POST')) {
35
+ // params = {};
36
+ // }
37
+ // return http({
38
+ // method,
39
+ // url,
40
+ // data,
41
+ // params,
42
+ // headers
43
+ // });
44
+ // }
45
+
46
+ function request(params) {
47
+ return util.ajax({mix: true, ...params});
48
+ }
49
+
50
+ export default request;
@@ -1,21 +1,21 @@
1
- let store = {
2
- state: {},
3
- set(name, value) {
4
- this.state[name] = value;
5
- },
6
- get(name) {
7
- return this.state[name];
8
- },
9
- clear(name) {
10
- this.state[name] = null;
11
- },
12
- remove(name) {
13
- if (name) {
14
- delete this.state[name];
15
- } else {
16
- this.state = {};
17
- }
18
- }
19
- };
20
- window.__store = store;
21
- export default store;
1
+ let store = {
2
+ state: {},
3
+ set(name, value) {
4
+ this.state[name] = value;
5
+ },
6
+ get(name) {
7
+ return this.state[name];
8
+ },
9
+ clear(name) {
10
+ this.state[name] = null;
11
+ },
12
+ remove(name) {
13
+ if (name) {
14
+ delete this.state[name];
15
+ } else {
16
+ this.state = {};
17
+ }
18
+ }
19
+ };
20
+ window.__store = store;
21
+ export default store;
package/src/utils/util.js CHANGED
@@ -16,7 +16,6 @@ import WebSocket from './webSocket';
16
16
  import { UAParser } from 'ua-parser-js';
17
17
 
18
18
  const win = window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
19
- const winTop = getWinTop();
20
19
  const isIE = /MSIE|Trident/.test(navigator.userAgent);
21
20
  const parser = new UAParser();
22
21
  const $hueStep = 2;
@@ -585,6 +584,7 @@ const browser = function () {
585
584
  * @date 2022年5月7日
586
585
  **/
587
586
  const busEmit = function (that, { method, args, opener }) {
587
+ const winTop = getWinTop();
588
588
  if (opener) {
589
589
  const { source, origin } = opener;
590
590
  source.postMessage({ method, query: args, args }, origin);
@@ -868,6 +868,7 @@ const debounce = function (callback, wait) {
868
868
  * @param {String,Array} [key] - 参数名
869
869
  **/
870
870
  const delUrlParam = function ({ url, key }) {
871
+ const winTop = getWinTop();
871
872
  let pUrl = '';
872
873
  try {
873
874
  pUrl = winTop.location.href;
@@ -2344,6 +2345,7 @@ const isLogined = async function ({
2344
2345
  loginPage,
2345
2346
  redirect
2346
2347
  }) {
2348
+ const winTop = getWinTop();
2347
2349
  if (cookie === undefined) {
2348
2350
  cookie = getParams({ name: 'cookie' });
2349
2351
  }
@@ -2688,6 +2690,7 @@ const loadJs = function ({ url, type = 'text/javascript', id, single = true }) {
2688
2690
  * @param {String} [text] - 显示的文本内容
2689
2691
  **/
2690
2692
  const loading = function ($loading, res) {
2693
+ const winTop = getWinTop();
2691
2694
  if (!$loading) {
2692
2695
  $loading = Loading.service;
2693
2696
  }
@@ -2840,6 +2843,7 @@ const replenish = function ({ data, precision }) {
2840
2843
  * @param {object} [data] - 数字或字符串型数字
2841
2844
  **/
2842
2845
  const responses = function (data) {
2846
+ const winTop = getWinTop();
2843
2847
  if (
2844
2848
  data.rCode === 64 ||
2845
2849
  data.rCode === 65 ||
@@ -3797,6 +3801,7 @@ const removeCookie = function (key) {
3797
3801
  };
3798
3802
 
3799
3803
  const winTopOpen = function (config) {
3804
+ const winTop = getWinTop();
3800
3805
  if (isIE) {
3801
3806
  if (winTop !== win.self) {
3802
3807
  try {
@@ -1,107 +1,107 @@
1
- import SockJS from 'sockjs-client';
2
- import Stomp from 'stompjs';
3
- class WebSocket {
4
- // 构造函数
5
- constructor() {
6
- this.host = sessionStorage.getItem('wshost') || '';
7
- this.tryTimes = 1; // 重连次数
8
- this.callback = null; // 回调函数
9
- this.client = null; // stomp对象
10
- this.reconTimeout = null; // 重连延时器
11
- this.debug = true; // 调试
12
- this.interval = 20; // 重连间隔时间
13
- this.vm = null;
14
- this.nextDate = 0;
15
- this.connects = 1;
16
- this.recon = false;
17
- this.sendTimeout = null;
18
- this.socket = null;
19
- this.subscription = null;
20
- }
21
-
22
- /** socket连接 */
23
- connect() {
24
- if (!this.client) {
25
- // 连接SockJS
26
- this.socket = new SockJS(this.host + this.url, {timeout: 60000});
27
- this.client = Stomp.over(this.socket);
28
- }
29
-
30
- // 日志不打印
31
- if (!this.debug) {
32
- this.client.debug = () => {};
33
- }
34
-
35
- // 向服务器发起websocket连接
36
- this.client.connect({}, () => {
37
- this.recon = true;
38
- // tryTimes定义重置
39
- this.connects = 1;
40
- // 订阅消息
41
- this.subscribe();
42
- }, (error) => {
43
- this.unsubscribe();
44
- this.client = null;
45
- let diffSecond = parseInt((new Date() - this.nextDate) / 1000, 10);
46
- if (this.connects > 5 && diffSecond < this.interval) {
47
- this.error && this.error(error);
48
- } else {
49
- this.reconTimeout = setTimeout(() => {
50
- this.connect();
51
- this.connects++;
52
- }, 5000);
53
- }
54
- });
55
- }// 清除订阅
56
- unsubscribe() {
57
- if (this.subscription) {
58
- this.subscription.unsubscribe();
59
- this.subscription = null;
60
- }
61
- }
62
- /** 订阅服务端 */
63
- subscribe() {
64
- // 订阅服务端提供的某个topic
65
- this.subscription = this.client.subscribe(this.take, (response) => {
66
- if (response && (this.callback || this.success)) {
67
- let callback = this.callback || this.success;
68
- callback(JSON.parse(response.body));
69
- }
70
- });
71
- }
72
-
73
- /** 赋值、初始化socket */
74
- init(option, vm) {
75
- for (let i in option) {
76
- this[i] = option[i];
77
- }
78
- this.vm = vm;
79
- // 初始化连接
80
- this.connect();
81
- }
82
-
83
- /** 发送消息 */
84
- send(data) {
85
- if (this.recon) {
86
- clearTimeout(this.sendTimeout);
87
- this.client.send(this.take, {}, typeof data === 'string' ? data : JSON.stringify(data));
88
- } else {
89
- this.sendTimeout = setTimeout(() => {
90
- this.send(data);
91
- }, 1000);
92
- }
93
- }
94
-
95
- /** 销毁 */
96
- destroy() {
97
- // 断开连接,清除定时器
98
- this.unsubscribe();
99
- if (this.client) {
100
- this.client.disconnect();
101
- };
102
- this.reconTimeout && clearTimeout(this.reconTimeout);
103
- this.sendTimeout && clearTimeout(this.sendTimeout);
104
- }
105
- }
106
-
107
- export default WebSocket;
1
+ import SockJS from 'sockjs-client';
2
+ import Stomp from 'stompjs';
3
+ class WebSocket {
4
+ // 构造函数
5
+ constructor() {
6
+ this.host = sessionStorage.getItem('wshost') || '';
7
+ this.tryTimes = 1; // 重连次数
8
+ this.callback = null; // 回调函数
9
+ this.client = null; // stomp对象
10
+ this.reconTimeout = null; // 重连延时器
11
+ this.debug = true; // 调试
12
+ this.interval = 20; // 重连间隔时间
13
+ this.vm = null;
14
+ this.nextDate = 0;
15
+ this.connects = 1;
16
+ this.recon = false;
17
+ this.sendTimeout = null;
18
+ this.socket = null;
19
+ this.subscription = null;
20
+ }
21
+
22
+ /** socket连接 */
23
+ connect() {
24
+ if (!this.client) {
25
+ // 连接SockJS
26
+ this.socket = new SockJS(this.host + this.url, {timeout: 60000});
27
+ this.client = Stomp.over(this.socket);
28
+ }
29
+
30
+ // 日志不打印
31
+ if (!this.debug) {
32
+ this.client.debug = () => {};
33
+ }
34
+
35
+ // 向服务器发起websocket连接
36
+ this.client.connect({}, () => {
37
+ this.recon = true;
38
+ // tryTimes定义重置
39
+ this.connects = 1;
40
+ // 订阅消息
41
+ this.subscribe();
42
+ }, (error) => {
43
+ this.unsubscribe();
44
+ this.client = null;
45
+ let diffSecond = parseInt((new Date() - this.nextDate) / 1000, 10);
46
+ if (this.connects > 5 && diffSecond < this.interval) {
47
+ this.error && this.error(error);
48
+ } else {
49
+ this.reconTimeout = setTimeout(() => {
50
+ this.connect();
51
+ this.connects++;
52
+ }, 5000);
53
+ }
54
+ });
55
+ }// 清除订阅
56
+ unsubscribe() {
57
+ if (this.subscription) {
58
+ this.subscription.unsubscribe();
59
+ this.subscription = null;
60
+ }
61
+ }
62
+ /** 订阅服务端 */
63
+ subscribe() {
64
+ // 订阅服务端提供的某个topic
65
+ this.subscription = this.client.subscribe(this.take, (response) => {
66
+ if (response && (this.callback || this.success)) {
67
+ let callback = this.callback || this.success;
68
+ callback(JSON.parse(response.body));
69
+ }
70
+ });
71
+ }
72
+
73
+ /** 赋值、初始化socket */
74
+ init(option, vm) {
75
+ for (let i in option) {
76
+ this[i] = option[i];
77
+ }
78
+ this.vm = vm;
79
+ // 初始化连接
80
+ this.connect();
81
+ }
82
+
83
+ /** 发送消息 */
84
+ send(data) {
85
+ if (this.recon) {
86
+ clearTimeout(this.sendTimeout);
87
+ this.client.send(this.take, {}, typeof data === 'string' ? data : JSON.stringify(data));
88
+ } else {
89
+ this.sendTimeout = setTimeout(() => {
90
+ this.send(data);
91
+ }, 1000);
92
+ }
93
+ }
94
+
95
+ /** 销毁 */
96
+ destroy() {
97
+ // 断开连接,清除定时器
98
+ this.unsubscribe();
99
+ if (this.client) {
100
+ this.client.disconnect();
101
+ };
102
+ this.reconTimeout && clearTimeout(this.reconTimeout);
103
+ this.sendTimeout && clearTimeout(this.sendTimeout);
104
+ }
105
+ }
106
+
107
+ export default WebSocket;
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- const { series, src, dest } = require('gulp');
4
- const sass = require('gulp-sass');
5
- const autoprefixer = require('gulp-autoprefixer');
6
- const cssmin = require('gulp-cssmin');
7
-
8
- function compile() {
9
- return src('./src/*.scss')
10
- .pipe(sass.sync())
11
- .pipe(autoprefixer({
12
- overrideBrowserslist: ['ie > 9', 'last 2 versions'],
13
- cascade: false
14
- }))
15
- .pipe(cssmin())
16
- .pipe(dest('./lib'));
17
- }
18
-
19
- function copyfont() {
20
- return src('./src/fonts/**')
21
- .pipe(cssmin())
22
- .pipe(dest('./lib/fonts'));
23
- }
24
-
25
- exports.build = series(compile, copyfont);