eoss-ui 0.7.24 → 0.7.26

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 (292) hide show
  1. package/lib/button-group.js +3 -0
  2. package/lib/button.js +3 -0
  3. package/lib/calogin.js +236 -233
  4. package/lib/checkbox-group.js +3 -0
  5. package/lib/data-table-form.js +3 -0
  6. package/lib/data-table.js +3 -0
  7. package/lib/date-picker.js +3 -0
  8. package/lib/dialog.js +3 -0
  9. package/lib/eoss-ui.common.js +991 -1016
  10. package/lib/flow-group.js +3 -0
  11. package/lib/flow-list.js +109 -88
  12. package/lib/flow.js +459 -524
  13. package/lib/form.js +3 -0
  14. package/lib/handle-user.js +3 -0
  15. package/lib/handler.js +3 -0
  16. package/lib/icon.js +3 -0
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +3 -0
  19. package/lib/input.js +3 -0
  20. package/lib/login.js +3 -0
  21. package/lib/main.js +165 -143
  22. package/lib/menu.js +6 -3
  23. package/lib/nav.js +3 -0
  24. package/lib/page.js +3 -0
  25. package/lib/pagination.js +3 -0
  26. package/lib/player.js +3 -0
  27. package/lib/qr-code.js +16 -13
  28. package/lib/radio-group.js +3 -0
  29. package/lib/retrial-auth.js +3 -0
  30. package/lib/select-ganged.js +3 -0
  31. package/lib/select.js +3 -0
  32. package/lib/selector-panel.js +3 -0
  33. package/lib/selector.js +3 -0
  34. package/lib/sizer.js +3 -0
  35. package/lib/steps.js +3 -0
  36. package/lib/switch.js +3 -0
  37. package/lib/table-form.js +3 -0
  38. package/lib/tabs.js +3 -0
  39. package/lib/theme-chalk/flow.css +1 -1
  40. package/lib/theme-chalk/index.css +1 -1
  41. package/lib/theme-chalk/main.css +1 -1
  42. package/lib/theme-chalk/menu.css +1 -1
  43. package/lib/theme-chalk/simplicity.css +1 -1
  44. package/lib/tips.js +3 -0
  45. package/lib/toolbar.js +4 -4
  46. package/lib/tree-group.js +3 -0
  47. package/lib/tree.js +3 -0
  48. package/lib/upload.js +3 -0
  49. package/lib/utils/util.js +3 -0
  50. package/lib/wujie.js +3 -0
  51. package/lib/wxlogin.js +3 -0
  52. package/package.json +160 -160
  53. package/packages/button/index.js +5 -5
  54. package/packages/button/src/main.vue +418 -418
  55. package/packages/button-group/index.js +5 -5
  56. package/packages/button-group/src/main.vue +346 -346
  57. package/packages/calendar/index.js +5 -5
  58. package/packages/calogin/index.js +5 -5
  59. package/packages/calogin/src/main.vue +412 -412
  60. package/packages/calogin/src/plugin.js +915 -915
  61. package/packages/card/index.js +5 -5
  62. package/packages/card/src/main.vue +156 -156
  63. package/packages/cascader/index.js +5 -5
  64. package/packages/cascader/src/main.vue +168 -168
  65. package/packages/checkbox-group/index.js +5 -5
  66. package/packages/checkbox-group/src/main.vue +333 -333
  67. package/packages/clients/index.js +5 -5
  68. package/packages/clients/src/main.vue +151 -151
  69. package/packages/data-table/index.js +5 -5
  70. package/packages/data-table/src/children.vue +39 -39
  71. package/packages/data-table/src/column.vue +988 -988
  72. package/packages/data-table/src/main.vue +1831 -1831
  73. package/packages/data-table/src/sizer.vue +195 -195
  74. package/packages/data-table-form/index.js +5 -5
  75. package/packages/data-table-form/src/checkbox.vue +101 -101
  76. package/packages/data-table-form/src/colgroup.vue +17 -17
  77. package/packages/data-table-form/src/main.vue +181 -181
  78. package/packages/data-table-form/src/radio.vue +65 -65
  79. package/packages/data-table-form/src/table.vue +233 -233
  80. package/packages/data-table-form/src/tbody.vue +336 -336
  81. package/packages/data-table-form/src/thead.vue +68 -68
  82. package/packages/date-picker/index.js +5 -5
  83. package/packages/date-picker/src/main.vue +236 -236
  84. package/packages/dialog/index.js +5 -5
  85. package/packages/enable-drag/index.js +5 -5
  86. package/packages/enterprise/index.js +5 -5
  87. package/packages/enterprise/src/main.vue +66 -66
  88. package/packages/error-page/index.js +5 -5
  89. package/packages/error-page/src/main.vue +44 -44
  90. package/packages/flow/index.js +5 -5
  91. package/packages/flow/src/component/Circulate.vue +413 -413
  92. package/packages/flow/src/component/CommonOpinions.vue +373 -373
  93. package/packages/flow/src/component/CustomPreset.vue +322 -322
  94. package/packages/flow/src/component/FileList.vue +97 -97
  95. package/packages/flow/src/component/FreeCirculation.vue +240 -240
  96. package/packages/flow/src/component/Preset.vue +255 -255
  97. package/packages/flow/src/component/SendMsg.vue +242 -242
  98. package/packages/flow/src/component/TimeLimit.vue +190 -190
  99. package/packages/flow/src/component/taskUnionExamine.vue +755 -738
  100. package/packages/flow/src/form.vue +121 -121
  101. package/packages/flow/src/freeStartFlow.vue +2847 -2847
  102. package/packages/flow/src/main.vue +3854 -3843
  103. package/packages/flow/src/processForm.vue +1363 -1370
  104. package/packages/flow/src/processReject.vue +308 -308
  105. package/packages/flow/src/reset.vue +941 -941
  106. package/packages/flow/src/startTaskRead.vue +691 -691
  107. package/packages/flow/src/supervise.vue +159 -159
  108. package/packages/flow/src/table.vue +58 -58
  109. package/packages/flow-group/index.js +5 -5
  110. package/packages/flow-group/src/main.vue +717 -717
  111. package/packages/flow-list/index.js +5 -5
  112. package/packages/flow-list/src/main.vue +1787 -1770
  113. package/packages/form/index.js +5 -5
  114. package/packages/form/src/main.vue +3901 -3901
  115. package/packages/form/src/table.vue +1512 -1512
  116. package/packages/handle-user/index.js +5 -5
  117. package/packages/handle-user/src/main.vue +137 -137
  118. package/packages/handler/index.js +5 -5
  119. package/packages/handler/src/main.vue +496 -496
  120. package/packages/icon/index.js +5 -5
  121. package/packages/icon/src/main.vue +104 -104
  122. package/packages/icons/index.js +5 -5
  123. package/packages/icons/src/main.vue +81 -81
  124. package/packages/input/index.js +5 -5
  125. package/packages/input/src/main.vue +356 -356
  126. package/packages/input-number/index.js +5 -5
  127. package/packages/input-number/src/main.vue +106 -106
  128. package/packages/label/index.js +5 -5
  129. package/packages/label/src/main.vue +457 -457
  130. package/packages/layout/index.js +5 -5
  131. package/packages/layout/src/item.vue +152 -152
  132. package/packages/layout/src/main.vue +31 -31
  133. package/packages/login/index.js +5 -5
  134. package/packages/login/src/main.vue +2020 -2020
  135. package/packages/login/src/resetPassword.vue +557 -557
  136. package/packages/main/index.js +5 -5
  137. package/packages/main/src/default/message.vue +249 -249
  138. package/packages/main/src/default/notice.vue +157 -157
  139. package/packages/main/src/default/userinfo.vue +502 -502
  140. package/packages/main/src/public/online.vue +89 -89
  141. package/packages/main/src/public/search.vue +464 -464
  142. package/packages/main/src/public/settings.vue +221 -221
  143. package/packages/main/src/simplicity/apps.vue +388 -388
  144. package/packages/main/src/simplicity/avatar.vue +82 -82
  145. package/packages/main/src/simplicity/handler.vue +263 -263
  146. package/packages/main/src/simplicity/index.vue +2135 -2125
  147. package/packages/main/src/simplicity/lists.vue +84 -84
  148. package/packages/main/src/simplicity/menu-list.vue +135 -135
  149. package/packages/main/src/simplicity/message.vue +259 -259
  150. package/packages/main/src/simplicity/notice.vue +190 -190
  151. package/packages/main/src/simplicity/router-page.vue +45 -45
  152. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  153. package/packages/main/src/simplicity/user.vue +259 -259
  154. package/packages/main/src/simplicity/userinfo.vue +398 -398
  155. package/packages/menu/index.js +5 -5
  156. package/packages/menu/src/main.vue +596 -584
  157. package/packages/nav/index.js +5 -5
  158. package/packages/nav/src/main.vue +351 -351
  159. package/packages/notify/index.js +5 -5
  160. package/packages/notify/src/main.vue +538 -538
  161. package/packages/page/index.js +5 -5
  162. package/packages/page/src/main.vue +167 -167
  163. package/packages/pagination/index.js +5 -5
  164. package/packages/pagination/src/main.vue +96 -96
  165. package/packages/player/index.js +5 -5
  166. package/packages/player/src/main.vue +194 -194
  167. package/packages/qr-code/index.js +5 -5
  168. package/packages/qr-code/src/main.vue +170 -170
  169. package/packages/radio-group/index.js +6 -6
  170. package/packages/radio-group/src/main.vue +319 -319
  171. package/packages/retrial-auth/index.js +5 -5
  172. package/packages/retrial-auth/src/main.vue +280 -280
  173. package/packages/select/index.js +5 -5
  174. package/packages/select/src/main.vue +782 -782
  175. package/packages/select-ganged/index.js +5 -5
  176. package/packages/select-ganged/src/main.vue +724 -724
  177. package/packages/selector/index.js +5 -5
  178. package/packages/selector/src/main.vue +761 -761
  179. package/packages/selector-panel/index.js +5 -5
  180. package/packages/selector-panel/src/main.vue +1027 -1027
  181. package/packages/selector-panel/src/selection.vue +170 -170
  182. package/packages/selector-panel/src/tree.vue +129 -129
  183. package/packages/sizer/index.js +5 -5
  184. package/packages/sizer/src/main.vue +254 -254
  185. package/packages/steps/index.js +5 -5
  186. package/packages/steps/src/main.vue +181 -181
  187. package/packages/switch/index.js +5 -5
  188. package/packages/switch/src/main.vue +170 -170
  189. package/packages/table-form/index.js +5 -5
  190. package/packages/tabs/index.js +5 -5
  191. package/packages/tabs/src/main.vue +788 -788
  192. package/packages/tabs-panel/index.js +5 -5
  193. package/packages/tabs-panel/src/main.vue +29 -29
  194. package/packages/theme-chalk/lib/flow.css +1 -1
  195. package/packages/theme-chalk/lib/index.css +1 -1
  196. package/packages/theme-chalk/lib/main.css +1 -1
  197. package/packages/theme-chalk/lib/menu.css +1 -1
  198. package/packages/theme-chalk/lib/simplicity.css +1 -1
  199. package/packages/theme-chalk/src/base.scss +261 -261
  200. package/packages/theme-chalk/src/button-group.scss +176 -176
  201. package/packages/theme-chalk/src/button.scss +24 -24
  202. package/packages/theme-chalk/src/calendar.scss +113 -113
  203. package/packages/theme-chalk/src/card.scss +99 -99
  204. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  205. package/packages/theme-chalk/src/clients.scss +87 -87
  206. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  207. package/packages/theme-chalk/src/data-table.scss +293 -293
  208. package/packages/theme-chalk/src/date-picker.scss +7 -7
  209. package/packages/theme-chalk/src/dialog.scss +77 -77
  210. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  211. package/packages/theme-chalk/src/enterprise.scss +5 -5
  212. package/packages/theme-chalk/src/error-page.scss +18 -18
  213. package/packages/theme-chalk/src/flow-group.scss +110 -110
  214. package/packages/theme-chalk/src/flow-list.scss +39 -39
  215. package/packages/theme-chalk/src/flow.scss +351 -351
  216. package/packages/theme-chalk/src/form.scss +501 -501
  217. package/packages/theme-chalk/src/handle-user.scss +40 -40
  218. package/packages/theme-chalk/src/handler.scss +148 -148
  219. package/packages/theme-chalk/src/icon.scss +1817 -1817
  220. package/packages/theme-chalk/src/icons.scss +99 -99
  221. package/packages/theme-chalk/src/input.scss +9 -9
  222. package/packages/theme-chalk/src/label.scss +24 -24
  223. package/packages/theme-chalk/src/layout.scss +46 -46
  224. package/packages/theme-chalk/src/login.scss +987 -987
  225. package/packages/theme-chalk/src/main.scss +663 -663
  226. package/packages/theme-chalk/src/menu.scss +224 -222
  227. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  228. package/packages/theme-chalk/src/nav.scss +111 -111
  229. package/packages/theme-chalk/src/page.scss +3 -3
  230. package/packages/theme-chalk/src/pagination.scss +29 -29
  231. package/packages/theme-chalk/src/player.scss +9 -9
  232. package/packages/theme-chalk/src/qr-code.scss +17 -17
  233. package/packages/theme-chalk/src/radio-group.scss +9 -9
  234. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  235. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  236. package/packages/theme-chalk/src/select.scss +8 -8
  237. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  238. package/packages/theme-chalk/src/selector.scss +92 -92
  239. package/packages/theme-chalk/src/simplicity.scss +1370 -1366
  240. package/packages/theme-chalk/src/sizer.scss +36 -36
  241. package/packages/theme-chalk/src/steps.scss +88 -88
  242. package/packages/theme-chalk/src/switch.scss +3 -3
  243. package/packages/theme-chalk/src/table-form.scss +1 -1
  244. package/packages/theme-chalk/src/tabs.scss +87 -87
  245. package/packages/theme-chalk/src/tips.scss +7 -7
  246. package/packages/theme-chalk/src/toolbar.scss +179 -179
  247. package/packages/theme-chalk/src/tree-group.scss +72 -72
  248. package/packages/theme-chalk/src/tree.scss +165 -165
  249. package/packages/theme-chalk/src/upload.scss +172 -172
  250. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  251. package/packages/tips/index.js +5 -5
  252. package/packages/tips/src/main.vue +141 -141
  253. package/packages/toolbar/index.js +5 -5
  254. package/packages/toolbar/src/main.vue +430 -430
  255. package/packages/tree/index.js +5 -5
  256. package/packages/tree-group/index.js +5 -5
  257. package/packages/upload/index.js +5 -5
  258. package/packages/upload/src/main.vue +1343 -1343
  259. package/packages/upload/src/picture.js +15 -15
  260. package/packages/wujie/index.js +5 -5
  261. package/packages/wujie/src/main.vue +145 -145
  262. package/packages/wxlogin/index.js +5 -5
  263. package/packages/wxlogin/src/main.vue +128 -128
  264. package/src/config/api.js +315 -315
  265. package/src/config/image.js +2 -2
  266. package/src/index.js +163 -163
  267. package/src/utils/bus.js +3 -3
  268. package/src/utils/date-util.js +312 -312
  269. package/src/utils/http.js +50 -50
  270. package/src/utils/rules.js +18 -18
  271. package/src/utils/store.js +21 -21
  272. package/src/utils/util.js +3 -0
  273. package/src/utils/webSocket.js +107 -107
  274. package/packages/.DS_Store +0 -0
  275. package/packages/calogin/.DS_Store +0 -0
  276. package/packages/date-picker/.DS_Store +0 -0
  277. package/packages/date-picker/src/.DS_Store +0 -0
  278. package/packages/flow/.DS_Store +0 -0
  279. package/packages/flow/src/.DS_Store +0 -0
  280. package/packages/flow-list/.DS_Store +0 -0
  281. package/packages/form/.DS_Store +0 -0
  282. package/packages/login/.DS_Store +0 -0
  283. package/packages/main/.DS_Store +0 -0
  284. package/packages/main/src/.DS_Store +0 -0
  285. package/packages/menu/.DS_Store +0 -0
  286. package/packages/select/.DS_Store +0 -0
  287. package/packages/selector/.DS_Store +0 -0
  288. package/packages/selector-panel/.DS_Store +0 -0
  289. package/packages/theme-chalk/src/.DS_Store +0 -0
  290. package/packages/upload/.DS_Store +0 -0
  291. package/src/.DS_Store +0 -0
  292. package/src/utils/.DS_Store +0 -0
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,18 +1,18 @@
1
- // 手机号
2
- const phone = {pattern: new RegExp('^[1][3, 4, 5, 6, 7, 8, 9][0-9]{9}$'), message: '手机号不合法'};
3
- // 身份证
4
- const idCard = {pattern: new RegExp('(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)'), message: '身份证号不合法'};
5
- // 座机号
6
- const telephone = {pattern: new RegExp('^(?:\\(?0([1-9]\\d{1,2})\\)?[- ]?)?([2-9]\\d{6,7})$'), message: '座机号不合法'};
7
- // IP
8
- const ip = {pattern: new RegExp('^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$'), message: 'IP地址不合法'};
9
- // 银行卡号
10
- const bankCard = {pattern: new RegExp('^([1-9]{1})(\\d{14}|\\d{18})$'), message: '银行卡号不合法'};
11
-
12
- export default {
13
- phone,
14
- idCard,
15
- telephone,
16
- ip,
17
- bankCard
18
- };
1
+ // 手机号
2
+ const phone = {pattern: new RegExp('^[1][3, 4, 5, 6, 7, 8, 9][0-9]{9}$'), message: '手机号不合法'};
3
+ // 身份证
4
+ const idCard = {pattern: new RegExp('(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)'), message: '身份证号不合法'};
5
+ // 座机号
6
+ const telephone = {pattern: new RegExp('^(?:\\(?0([1-9]\\d{1,2})\\)?[- ]?)?([2-9]\\d{6,7})$'), message: '座机号不合法'};
7
+ // IP
8
+ const ip = {pattern: new RegExp('^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$'), message: 'IP地址不合法'};
9
+ // 银行卡号
10
+ const bankCard = {pattern: new RegExp('^([1-9]{1})(\\d{14}|\\d{18})$'), message: '银行卡号不合法'};
11
+
12
+ export default {
13
+ phone,
14
+ idCard,
15
+ telephone,
16
+ ip,
17
+ bankCard
18
+ };
@@ -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
@@ -2230,7 +2230,10 @@ const isLogined = async function ({
2230
2230
  loginPage = pathname + loginPage.replace('./', '');
2231
2231
  }
2232
2232
  }
2233
+ } else {
2234
+ loginPage = getStorage('login') || getStorage('loginPage');
2233
2235
  }
2236
+
2234
2237
  const token = getStorage('token') || getStorage('Authorization');
2235
2238
  // const logined = getStorage('logined');
2236
2239
  // eslint-disable-next-line eqeqeq
@@ -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;
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/src/.DS_Store DELETED
Binary file
Binary file