eoss-ui 0.7.23 → 0.7.25

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 (285) hide show
  1. package/lib/button-group.js +46 -3
  2. package/lib/button.js +46 -3
  3. package/lib/calogin.js +279 -236
  4. package/lib/checkbox-group.js +46 -3
  5. package/lib/data-table-form.js +46 -3
  6. package/lib/data-table.js +46 -3
  7. package/lib/date-picker.js +46 -3
  8. package/lib/dialog.js +46 -3
  9. package/lib/eoss-ui.common.js +862 -777
  10. package/lib/flow-group.js +68 -5
  11. package/lib/flow-list.js +127 -84
  12. package/lib/flow.js +326 -283
  13. package/lib/form.js +46 -3
  14. package/lib/handle-user.js +46 -3
  15. package/lib/handler.js +46 -3
  16. package/lib/icon.js +46 -3
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +46 -3
  19. package/lib/input.js +46 -3
  20. package/lib/login.js +62 -11
  21. package/lib/main.js +202 -145
  22. package/lib/nav.js +46 -3
  23. package/lib/page.js +46 -3
  24. package/lib/pagination.js +46 -3
  25. package/lib/player.js +46 -3
  26. package/lib/qr-code.js +59 -16
  27. package/lib/radio-group.js +46 -3
  28. package/lib/retrial-auth.js +46 -3
  29. package/lib/select-ganged.js +46 -3
  30. package/lib/select.js +46 -3
  31. package/lib/selector-panel.js +46 -3
  32. package/lib/selector.js +46 -3
  33. package/lib/sizer.js +46 -3
  34. package/lib/steps.js +46 -3
  35. package/lib/switch.js +46 -3
  36. package/lib/table-form.js +46 -3
  37. package/lib/tabs.js +46 -3
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/login.css +1 -1
  40. package/lib/tips.js +46 -3
  41. package/lib/toolbar.js +4 -4
  42. package/lib/tree-group.js +46 -3
  43. package/lib/tree.js +46 -3
  44. package/lib/upload.js +46 -3
  45. package/lib/utils/util.js +46 -3
  46. package/lib/wujie.js +46 -3
  47. package/lib/wxlogin.js +46 -3
  48. package/package.json +160 -160
  49. package/packages/.DS_Store +0 -0
  50. package/packages/button/index.js +5 -5
  51. package/packages/button/src/main.vue +418 -418
  52. package/packages/button-group/index.js +5 -5
  53. package/packages/button-group/src/main.vue +346 -346
  54. package/packages/calendar/index.js +5 -5
  55. package/packages/calogin/.DS_Store +0 -0
  56. package/packages/calogin/index.js +5 -5
  57. package/packages/calogin/src/main.vue +412 -412
  58. package/packages/calogin/src/plugin.js +915 -915
  59. package/packages/card/index.js +5 -5
  60. package/packages/card/src/main.vue +156 -156
  61. package/packages/cascader/index.js +5 -5
  62. package/packages/cascader/src/main.vue +168 -168
  63. package/packages/checkbox-group/index.js +5 -5
  64. package/packages/checkbox-group/src/main.vue +333 -333
  65. package/packages/clients/index.js +5 -5
  66. package/packages/clients/src/main.vue +151 -151
  67. package/packages/data-table/index.js +5 -5
  68. package/packages/data-table/src/children.vue +39 -39
  69. package/packages/data-table/src/column.vue +988 -988
  70. package/packages/data-table/src/main.vue +1831 -1831
  71. package/packages/data-table/src/sizer.vue +195 -195
  72. package/packages/data-table-form/index.js +5 -5
  73. package/packages/data-table-form/src/checkbox.vue +101 -101
  74. package/packages/data-table-form/src/colgroup.vue +17 -17
  75. package/packages/data-table-form/src/main.vue +181 -181
  76. package/packages/data-table-form/src/radio.vue +65 -65
  77. package/packages/data-table-form/src/table.vue +233 -233
  78. package/packages/data-table-form/src/tbody.vue +336 -336
  79. package/packages/data-table-form/src/thead.vue +68 -68
  80. package/packages/date-picker/.DS_Store +0 -0
  81. package/packages/date-picker/index.js +5 -5
  82. package/packages/date-picker/src/.DS_Store +0 -0
  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/.DS_Store +0 -0
  91. package/packages/flow/index.js +5 -5
  92. package/packages/flow/src/.DS_Store +0 -0
  93. package/packages/flow/src/component/Circulate.vue +413 -413
  94. package/packages/flow/src/component/CommonOpinions.vue +373 -373
  95. package/packages/flow/src/component/CustomPreset.vue +322 -322
  96. package/packages/flow/src/component/FileList.vue +97 -97
  97. package/packages/flow/src/component/FreeCirculation.vue +240 -240
  98. package/packages/flow/src/component/Preset.vue +255 -255
  99. package/packages/flow/src/component/SendMsg.vue +242 -242
  100. package/packages/flow/src/component/TimeLimit.vue +190 -190
  101. package/packages/flow/src/component/taskUnionExamine.vue +738 -738
  102. package/packages/flow/src/form.vue +121 -121
  103. package/packages/flow/src/freeStartFlow.vue +2847 -2847
  104. package/packages/flow/src/main.vue +3843 -3843
  105. package/packages/flow/src/processForm.vue +1370 -1370
  106. package/packages/flow/src/processReject.vue +308 -308
  107. package/packages/flow/src/reset.vue +941 -941
  108. package/packages/flow/src/startTaskRead.vue +691 -691
  109. package/packages/flow/src/supervise.vue +159 -159
  110. package/packages/flow/src/table.vue +58 -58
  111. package/packages/flow-group/index.js +5 -5
  112. package/packages/flow-group/src/main.vue +717 -696
  113. package/packages/flow-list/.DS_Store +0 -0
  114. package/packages/flow-list/index.js +5 -5
  115. package/packages/flow-list/src/main.vue +1770 -1770
  116. package/packages/form/.DS_Store +0 -0
  117. package/packages/form/index.js +5 -5
  118. package/packages/form/src/main.vue +3901 -3901
  119. package/packages/form/src/table.vue +1512 -1512
  120. package/packages/handle-user/index.js +5 -5
  121. package/packages/handle-user/src/main.vue +137 -137
  122. package/packages/handler/index.js +5 -5
  123. package/packages/handler/src/main.vue +496 -496
  124. package/packages/icon/index.js +5 -5
  125. package/packages/icon/src/main.vue +104 -104
  126. package/packages/icons/index.js +5 -5
  127. package/packages/icons/src/main.vue +81 -81
  128. package/packages/input/index.js +5 -5
  129. package/packages/input/src/main.vue +356 -356
  130. package/packages/input-number/index.js +5 -5
  131. package/packages/input-number/src/main.vue +106 -106
  132. package/packages/label/index.js +5 -5
  133. package/packages/label/src/main.vue +457 -457
  134. package/packages/layout/index.js +5 -5
  135. package/packages/layout/src/item.vue +152 -152
  136. package/packages/layout/src/main.vue +31 -31
  137. package/packages/login/.DS_Store +0 -0
  138. package/packages/login/index.js +5 -5
  139. package/packages/login/src/main.vue +2020 -2011
  140. package/packages/login/src/resetPassword.vue +557 -557
  141. package/packages/main/.DS_Store +0 -0
  142. package/packages/main/index.js +5 -5
  143. package/packages/main/src/.DS_Store +0 -0
  144. package/packages/main/src/default/message.vue +249 -249
  145. package/packages/main/src/default/notice.vue +157 -157
  146. package/packages/main/src/default/userinfo.vue +502 -502
  147. package/packages/main/src/public/online.vue +89 -89
  148. package/packages/main/src/public/search.vue +464 -464
  149. package/packages/main/src/public/settings.vue +221 -221
  150. package/packages/main/src/simplicity/apps.vue +388 -388
  151. package/packages/main/src/simplicity/avatar.vue +82 -82
  152. package/packages/main/src/simplicity/handler.vue +263 -263
  153. package/packages/main/src/simplicity/index.vue +2130 -2125
  154. package/packages/main/src/simplicity/lists.vue +84 -84
  155. package/packages/main/src/simplicity/menu-list.vue +135 -135
  156. package/packages/main/src/simplicity/message.vue +259 -259
  157. package/packages/main/src/simplicity/notice.vue +190 -190
  158. package/packages/main/src/simplicity/router-page.vue +45 -45
  159. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  160. package/packages/main/src/simplicity/user.vue +259 -259
  161. package/packages/main/src/simplicity/userinfo.vue +398 -398
  162. package/packages/menu/.DS_Store +0 -0
  163. package/packages/menu/index.js +5 -5
  164. package/packages/menu/src/main.vue +584 -584
  165. package/packages/nav/index.js +5 -5
  166. package/packages/nav/src/main.vue +351 -351
  167. package/packages/notify/index.js +5 -5
  168. package/packages/notify/src/main.vue +538 -538
  169. package/packages/page/index.js +5 -5
  170. package/packages/page/src/main.vue +167 -167
  171. package/packages/pagination/index.js +5 -5
  172. package/packages/pagination/src/main.vue +96 -96
  173. package/packages/player/index.js +5 -5
  174. package/packages/player/src/main.vue +194 -194
  175. package/packages/qr-code/index.js +5 -5
  176. package/packages/qr-code/src/main.vue +170 -170
  177. package/packages/radio-group/index.js +6 -6
  178. package/packages/radio-group/src/main.vue +319 -319
  179. package/packages/retrial-auth/index.js +5 -5
  180. package/packages/retrial-auth/src/main.vue +280 -280
  181. package/packages/select/.DS_Store +0 -0
  182. package/packages/select/index.js +5 -5
  183. package/packages/select/src/main.vue +782 -782
  184. package/packages/select-ganged/index.js +5 -5
  185. package/packages/select-ganged/src/main.vue +724 -724
  186. package/packages/selector/.DS_Store +0 -0
  187. package/packages/selector/index.js +5 -5
  188. package/packages/selector/src/main.vue +761 -761
  189. package/packages/selector-panel/.DS_Store +0 -0
  190. package/packages/selector-panel/index.js +5 -5
  191. package/packages/selector-panel/src/main.vue +1027 -1027
  192. package/packages/selector-panel/src/selection.vue +170 -170
  193. package/packages/selector-panel/src/tree.vue +129 -129
  194. package/packages/sizer/index.js +5 -5
  195. package/packages/sizer/src/main.vue +254 -254
  196. package/packages/steps/index.js +5 -5
  197. package/packages/steps/src/main.vue +181 -181
  198. package/packages/switch/index.js +5 -5
  199. package/packages/switch/src/main.vue +170 -170
  200. package/packages/table-form/index.js +5 -5
  201. package/packages/tabs/index.js +5 -5
  202. package/packages/tabs/src/main.vue +788 -788
  203. package/packages/tabs-panel/index.js +5 -5
  204. package/packages/tabs-panel/src/main.vue +29 -29
  205. package/packages/theme-chalk/lib/index.css +1 -1
  206. package/packages/theme-chalk/lib/login.css +1 -1
  207. package/packages/theme-chalk/src/.DS_Store +0 -0
  208. package/packages/theme-chalk/src/base.scss +261 -261
  209. package/packages/theme-chalk/src/button-group.scss +176 -176
  210. package/packages/theme-chalk/src/button.scss +24 -24
  211. package/packages/theme-chalk/src/calendar.scss +113 -113
  212. package/packages/theme-chalk/src/card.scss +99 -99
  213. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  214. package/packages/theme-chalk/src/clients.scss +87 -87
  215. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  216. package/packages/theme-chalk/src/data-table.scss +293 -293
  217. package/packages/theme-chalk/src/date-picker.scss +7 -7
  218. package/packages/theme-chalk/src/dialog.scss +77 -77
  219. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  220. package/packages/theme-chalk/src/enterprise.scss +5 -5
  221. package/packages/theme-chalk/src/error-page.scss +18 -18
  222. package/packages/theme-chalk/src/flow-group.scss +110 -110
  223. package/packages/theme-chalk/src/flow-list.scss +39 -39
  224. package/packages/theme-chalk/src/flow.scss +351 -351
  225. package/packages/theme-chalk/src/form.scss +501 -501
  226. package/packages/theme-chalk/src/handle-user.scss +40 -40
  227. package/packages/theme-chalk/src/handler.scss +148 -148
  228. package/packages/theme-chalk/src/icon.scss +1817 -1817
  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/login.scss +987 -984
  234. package/packages/theme-chalk/src/main.scss +663 -663
  235. package/packages/theme-chalk/src/menu.scss +222 -222
  236. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  237. package/packages/theme-chalk/src/nav.scss +111 -111
  238. package/packages/theme-chalk/src/page.scss +3 -3
  239. package/packages/theme-chalk/src/pagination.scss +29 -29
  240. package/packages/theme-chalk/src/player.scss +9 -9
  241. package/packages/theme-chalk/src/qr-code.scss +17 -17
  242. package/packages/theme-chalk/src/radio-group.scss +9 -9
  243. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  244. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  245. package/packages/theme-chalk/src/select.scss +8 -8
  246. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  247. package/packages/theme-chalk/src/selector.scss +92 -92
  248. package/packages/theme-chalk/src/simplicity.scss +1366 -1366
  249. package/packages/theme-chalk/src/sizer.scss +36 -36
  250. package/packages/theme-chalk/src/steps.scss +88 -88
  251. package/packages/theme-chalk/src/switch.scss +3 -3
  252. package/packages/theme-chalk/src/table-form.scss +1 -1
  253. package/packages/theme-chalk/src/tabs.scss +87 -87
  254. package/packages/theme-chalk/src/tips.scss +7 -7
  255. package/packages/theme-chalk/src/toolbar.scss +179 -179
  256. package/packages/theme-chalk/src/tree-group.scss +72 -72
  257. package/packages/theme-chalk/src/tree.scss +165 -165
  258. package/packages/theme-chalk/src/upload.scss +172 -172
  259. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  260. package/packages/tips/index.js +5 -5
  261. package/packages/tips/src/main.vue +141 -141
  262. package/packages/toolbar/index.js +5 -5
  263. package/packages/toolbar/src/main.vue +430 -430
  264. package/packages/tree/index.js +5 -5
  265. package/packages/tree-group/index.js +5 -5
  266. package/packages/upload/.DS_Store +0 -0
  267. package/packages/upload/index.js +5 -5
  268. package/packages/upload/src/main.vue +1343 -1343
  269. package/packages/upload/src/picture.js +15 -15
  270. package/packages/wujie/index.js +5 -5
  271. package/packages/wujie/src/main.vue +145 -145
  272. package/packages/wxlogin/index.js +5 -5
  273. package/packages/wxlogin/src/main.vue +128 -128
  274. package/src/.DS_Store +0 -0
  275. package/src/config/api.js +315 -315
  276. package/src/config/image.js +2 -2
  277. package/src/index.js +163 -163
  278. package/src/utils/.DS_Store +0 -0
  279. package/src/utils/bus.js +3 -3
  280. package/src/utils/date-util.js +312 -312
  281. package/src/utils/http.js +50 -50
  282. package/src/utils/rules.js +18 -18
  283. package/src/utils/store.js +21 -21
  284. package/src/utils/util.js +47 -5
  285. package/src/utils/webSocket.js +107 -107
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
@@ -137,7 +137,7 @@ const ajax = function ({
137
137
  const ssId = response.headers.ssId || response.headers.Ssid || response.headers.ssid;
138
138
 
139
139
  if (ssId) {
140
- ssId !== getStorage('ssId') && setStorage({
140
+ ssId !== getStorage('ssId') && setStorage({
141
141
  key: 'ssId',
142
142
  value: ssId
143
143
  });
@@ -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
@@ -3500,6 +3503,9 @@ const getStorage = function (key) {
3500
3503
  if (key === 'host' && !res) {
3501
3504
  return win.location.origin;
3502
3505
  }
3506
+ if (!res && key === 'token') {
3507
+ res = getCookie('token');
3508
+ }
3503
3509
  return res;
3504
3510
  }
3505
3511
  let defaults = {};
@@ -3560,11 +3566,47 @@ const removeStorage = function (key) {
3560
3566
  * @desc 设置cookie
3561
3567
  * @author huangbo
3562
3568
  * @param {string} [name] cookie名称
3563
- * @return {string} [value] cookie值
3569
+ * @param {string} [value] cookie值
3570
+ * @param {boolean} [isSession] 是否是会话cookie
3564
3571
  **/
3565
- const setCookie = function (name, value) {
3566
- // 不设置 expires 或 max-age,默认为会话 Cookie
3567
- document.cookie = `${encodeURIComponent(name)}=${encodeURIComponent(value)}; path=/`;
3572
+ const setCookie = function (name, value, isSession = true, time) {
3573
+ const isIE = /MSIE|Trident/.test(navigator.userAgent);
3574
+ try {
3575
+ const cookieParts = [
3576
+ `${encodeURIComponent(name)}=${encodeURIComponent(value)}`,
3577
+ 'path=/' // 仅保留path设置,确保全站访问
3578
+ ];
3579
+ // 会话/持久Cookie设置
3580
+ if (!isSession) {
3581
+ if (isIE) {
3582
+ // IE使用expires
3583
+ const date = new Date();
3584
+ date.setTime(date.getTime() + (time || (7 * 24 * 60 * 60) * 1000));
3585
+ cookieParts.push(`expires=${date.toUTCString()}`);
3586
+ } else {
3587
+ // 其他浏览器使用max-age
3588
+ cookieParts.push('max-age=' + (time || (7 * 24 * 60 * 60)));
3589
+ }
3590
+ }
3591
+ // 内核兼容处理
3592
+ if (isIE) {
3593
+ // IE特殊处理:添加P3P协议头
3594
+ cookieParts.push('P3P=CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
3595
+ } else {
3596
+ // 现代浏览器设置
3597
+ cookieParts.push('samesite=lax');
3598
+ if (window.location.protocol === 'https:') {
3599
+ cookieParts.push('secure');
3600
+ }
3601
+ }
3602
+
3603
+ // 设置Cookie
3604
+ document.cookie = cookieParts.join('; ');
3605
+ return true;
3606
+ } catch (e) {
3607
+ console.error('Cookie设置失败:', e);
3608
+ return false;
3609
+ }
3568
3610
  };
3569
3611
 
3570
3612
  /**
@@ -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;