@pisell/core 0.0.2

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 (296) hide show
  1. package/README.md +1 -0
  2. package/es/app/app.d.ts +101 -0
  3. package/es/app/app.js +177 -0
  4. package/es/app/const.d.ts +4 -0
  5. package/es/app/const.js +6 -0
  6. package/es/app/index.d.ts +14 -0
  7. package/es/app/index.js +52 -0
  8. package/es/applicationManager/application.d.ts +197 -0
  9. package/es/applicationManager/application.js +469 -0
  10. package/es/applicationManager/index.d.ts +19 -0
  11. package/es/applicationManager/index.js +206 -0
  12. package/es/aws/index.d.ts +16 -0
  13. package/es/aws/index.js +76 -0
  14. package/es/cmd/const.d.ts +11 -0
  15. package/es/cmd/const.js +13 -0
  16. package/es/cmd/index.d.ts +13 -0
  17. package/es/cmd/index.js +91 -0
  18. package/es/cmd/type.d.ts +5 -0
  19. package/es/cmd/type.js +1 -0
  20. package/es/communicationManager/index.d.ts +59 -0
  21. package/es/communicationManager/index.js +174 -0
  22. package/es/config.d.ts +3 -0
  23. package/es/config.js +14 -0
  24. package/es/cookie/index.d.ts +13 -0
  25. package/es/cookie/index.js +47 -0
  26. package/es/css/global.less +73 -0
  27. package/es/css/index.less +31 -0
  28. package/es/css/variables.css +84 -0
  29. package/es/data/index.d.ts +8 -0
  30. package/es/data/index.js +16 -0
  31. package/es/history/config.d.ts +24 -0
  32. package/es/history/config.js +43 -0
  33. package/es/history/index.d.ts +26 -0
  34. package/es/history/index.js +80 -0
  35. package/es/history/type.d.ts +2 -0
  36. package/es/history/type.js +1 -0
  37. package/es/hooks/index.d.ts +12 -0
  38. package/es/hooks/index.js +13 -0
  39. package/es/hooks/useDelayedValue/index.d.ts +2 -0
  40. package/es/hooks/useDelayedValue/index.js +26 -0
  41. package/es/hooks/useDispatch/index.d.ts +2 -0
  42. package/es/hooks/useDispatch/index.js +2 -0
  43. package/es/hooks/useLowCode/index.d.ts +13 -0
  44. package/es/hooks/useLowCode/index.js +74 -0
  45. package/es/hooks/useStore/index.d.ts +6 -0
  46. package/es/hooks/useStore/index.js +11 -0
  47. package/es/index.d.ts +8 -0
  48. package/es/index.js +10 -0
  49. package/es/indexDB/index.d.ts +296 -0
  50. package/es/indexDB/index.js +1619 -0
  51. package/es/locales/en.d.ts +3 -0
  52. package/es/locales/en.js +5 -0
  53. package/es/locales/index.d.ts +39 -0
  54. package/es/locales/index.js +199 -0
  55. package/es/locales/original.d.ts +3 -0
  56. package/es/locales/original.js +7 -0
  57. package/es/locales/type.d.ts +19 -0
  58. package/es/locales/type.js +1 -0
  59. package/es/locales/zh-CN.d.ts +3 -0
  60. package/es/locales/zh-CN.js +5 -0
  61. package/es/locales/zh-HK.d.ts +3 -0
  62. package/es/locales/zh-HK.js +5 -0
  63. package/es/logger/feishu.d.ts +11 -0
  64. package/es/logger/feishu.js +50 -0
  65. package/es/logger/index.d.ts +135 -0
  66. package/es/logger/index.js +870 -0
  67. package/es/menuManager/hooks.d.ts +17 -0
  68. package/es/menuManager/hooks.js +136 -0
  69. package/es/menuManager/index.d.ts +28 -0
  70. package/es/menuManager/index.js +165 -0
  71. package/es/models/global.d.ts +32 -0
  72. package/es/models/global.js +66 -0
  73. package/es/models/index.d.ts +45 -0
  74. package/es/models/index.js +65 -0
  75. package/es/models/type.d.ts +2 -0
  76. package/es/models/type.js +1 -0
  77. package/es/plugin/index.d.ts +0 -0
  78. package/es/plugin/index.js +0 -0
  79. package/es/pubsub/example.d.ts +5 -0
  80. package/es/pubsub/example.js +92 -0
  81. package/es/pubsub/index.d.ts +73 -0
  82. package/es/pubsub/index.js +166 -0
  83. package/es/render/index.d.ts +0 -0
  84. package/es/render/index.js +0 -0
  85. package/es/request/cache.d.ts +46 -0
  86. package/es/request/cache.js +372 -0
  87. package/es/request/cancelToken.d.ts +38 -0
  88. package/es/request/cancelToken.js +59 -0
  89. package/es/request/config.d.ts +3 -0
  90. package/es/request/config.js +63 -0
  91. package/es/request/constants.d.ts +2 -0
  92. package/es/request/constants.js +6 -0
  93. package/es/request/index.d.ts +24 -0
  94. package/es/request/index.js +267 -0
  95. package/es/request/pisell2Request.d.ts +6 -0
  96. package/es/request/pisell2Request.js +62 -0
  97. package/es/request/type.d.ts +57 -0
  98. package/es/request/type.js +10 -0
  99. package/es/request/utils.d.ts +46 -0
  100. package/es/request/utils.js +147 -0
  101. package/es/routes/config.d.ts +7 -0
  102. package/es/routes/config.js +17 -0
  103. package/es/routes/index.d.ts +28 -0
  104. package/es/routes/index.js +151 -0
  105. package/es/socket/components/SocketMonitorPage.d.ts +6 -0
  106. package/es/socket/components/SocketMonitorPage.js +485 -0
  107. package/es/socket/components/index.d.ts +2 -0
  108. package/es/socket/components/index.js +2 -0
  109. package/es/socket/constants.d.ts +33 -0
  110. package/es/socket/constants.js +39 -0
  111. package/es/socket/events.d.ts +31 -0
  112. package/es/socket/events.js +19 -0
  113. package/es/socket/heartbeat.d.ts +66 -0
  114. package/es/socket/heartbeat.js +184 -0
  115. package/es/socket/index.d.ts +61 -0
  116. package/es/socket/index.js +246 -0
  117. package/es/socket/monitor.d.ts +169 -0
  118. package/es/socket/monitor.js +448 -0
  119. package/es/socket/reconnect.d.ts +61 -0
  120. package/es/socket/reconnect.js +199 -0
  121. package/es/socket/socket.d.ts +130 -0
  122. package/es/socket/socket.js +613 -0
  123. package/es/socket/types.d.ts +85 -0
  124. package/es/socket/types.js +35 -0
  125. package/es/storage/index.d.ts +17 -0
  126. package/es/storage/index.js +46 -0
  127. package/es/tasks/index.d.ts +127 -0
  128. package/es/tasks/index.js +1119 -0
  129. package/es/tasks/scheduledTasksExample.d.ts +61 -0
  130. package/es/tasks/scheduledTasksExample.js +351 -0
  131. package/es/tasks/type.d.ts +100 -0
  132. package/es/tasks/type.js +1 -0
  133. package/es/tasks/useTasks.d.ts +5 -0
  134. package/es/tasks/useTasks.js +25 -0
  135. package/es/type.d.ts +2 -0
  136. package/es/type.js +1 -0
  137. package/es/utils/adaptiveThrottle/index.d.ts +36 -0
  138. package/es/utils/adaptiveThrottle/index.js +136 -0
  139. package/es/variables/VariablesProvider.d.ts +7 -0
  140. package/es/variables/VariablesProvider.js +12 -0
  141. package/es/variables/config.d.ts +3 -0
  142. package/es/variables/config.js +16 -0
  143. package/es/variables/index.d.ts +6 -0
  144. package/es/variables/index.js +5 -0
  145. package/es/variables/type.d.ts +2 -0
  146. package/es/variables/type.js +1 -0
  147. package/es/website/index.d.ts +6 -0
  148. package/es/website/index.js +65 -0
  149. package/lib/app/app.d.ts +101 -0
  150. package/lib/app/app.js +171 -0
  151. package/lib/app/const.d.ts +4 -0
  152. package/lib/app/const.js +33 -0
  153. package/lib/app/index.d.ts +14 -0
  154. package/lib/app/index.js +76 -0
  155. package/lib/applicationManager/application.d.ts +197 -0
  156. package/lib/applicationManager/application.js +280 -0
  157. package/lib/applicationManager/index.d.ts +19 -0
  158. package/lib/applicationManager/index.js +88 -0
  159. package/lib/aws/index.d.ts +16 -0
  160. package/lib/aws/index.js +67 -0
  161. package/lib/cmd/const.d.ts +11 -0
  162. package/lib/cmd/const.js +39 -0
  163. package/lib/cmd/index.d.ts +13 -0
  164. package/lib/cmd/index.js +96 -0
  165. package/lib/cmd/type.d.ts +5 -0
  166. package/lib/cmd/type.js +17 -0
  167. package/lib/communicationManager/index.d.ts +59 -0
  168. package/lib/communicationManager/index.js +102 -0
  169. package/lib/config.d.ts +3 -0
  170. package/lib/config.js +36 -0
  171. package/lib/cookie/index.d.ts +13 -0
  172. package/lib/cookie/index.js +62 -0
  173. package/lib/css/global.less +73 -0
  174. package/lib/css/index.less +31 -0
  175. package/lib/css/variables.css +84 -0
  176. package/lib/data/index.d.ts +8 -0
  177. package/lib/data/index.js +38 -0
  178. package/lib/history/config.d.ts +24 -0
  179. package/lib/history/config.js +41 -0
  180. package/lib/history/index.d.ts +26 -0
  181. package/lib/history/index.js +99 -0
  182. package/lib/history/type.d.ts +2 -0
  183. package/lib/history/type.js +17 -0
  184. package/lib/hooks/index.d.ts +12 -0
  185. package/lib/hooks/index.js +44 -0
  186. package/lib/hooks/useDelayedValue/index.d.ts +2 -0
  187. package/lib/hooks/useDelayedValue/index.js +36 -0
  188. package/lib/hooks/useDispatch/index.d.ts +2 -0
  189. package/lib/hooks/useDispatch/index.js +26 -0
  190. package/lib/hooks/useLowCode/index.d.ts +13 -0
  191. package/lib/hooks/useLowCode/index.js +75 -0
  192. package/lib/hooks/useStore/index.d.ts +6 -0
  193. package/lib/hooks/useStore/index.js +33 -0
  194. package/lib/index.d.ts +8 -0
  195. package/lib/index.js +58 -0
  196. package/lib/indexDB/index.d.ts +296 -0
  197. package/lib/indexDB/index.js +767 -0
  198. package/lib/locales/en.d.ts +3 -0
  199. package/lib/locales/en.js +29 -0
  200. package/lib/locales/index.d.ts +39 -0
  201. package/lib/locales/index.js +159 -0
  202. package/lib/locales/original.d.ts +3 -0
  203. package/lib/locales/original.js +31 -0
  204. package/lib/locales/type.d.ts +19 -0
  205. package/lib/locales/type.js +17 -0
  206. package/lib/locales/zh-CN.d.ts +3 -0
  207. package/lib/locales/zh-CN.js +29 -0
  208. package/lib/locales/zh-HK.d.ts +3 -0
  209. package/lib/locales/zh-HK.js +29 -0
  210. package/lib/logger/feishu.d.ts +11 -0
  211. package/lib/logger/feishu.js +52 -0
  212. package/lib/logger/index.d.ts +135 -0
  213. package/lib/logger/index.js +476 -0
  214. package/lib/menuManager/hooks.d.ts +17 -0
  215. package/lib/menuManager/hooks.js +135 -0
  216. package/lib/menuManager/index.d.ts +28 -0
  217. package/lib/menuManager/index.js +125 -0
  218. package/lib/models/global.d.ts +32 -0
  219. package/lib/models/global.js +62 -0
  220. package/lib/models/index.d.ts +45 -0
  221. package/lib/models/index.js +69 -0
  222. package/lib/models/type.d.ts +2 -0
  223. package/lib/models/type.js +17 -0
  224. package/lib/plugin/index.d.ts +0 -0
  225. package/lib/plugin/index.js +0 -0
  226. package/lib/pubsub/example.d.ts +5 -0
  227. package/lib/pubsub/example.js +61 -0
  228. package/lib/pubsub/index.d.ts +73 -0
  229. package/lib/pubsub/index.js +141 -0
  230. package/lib/render/index.d.ts +0 -0
  231. package/lib/render/index.js +0 -0
  232. package/lib/request/cache.d.ts +46 -0
  233. package/lib/request/cache.js +195 -0
  234. package/lib/request/cancelToken.d.ts +38 -0
  235. package/lib/request/cancelToken.js +59 -0
  236. package/lib/request/config.d.ts +3 -0
  237. package/lib/request/config.js +69 -0
  238. package/lib/request/constants.d.ts +2 -0
  239. package/lib/request/constants.js +34 -0
  240. package/lib/request/index.d.ts +24 -0
  241. package/lib/request/index.js +210 -0
  242. package/lib/request/pisell2Request.d.ts +6 -0
  243. package/lib/request/pisell2Request.js +75 -0
  244. package/lib/request/type.d.ts +57 -0
  245. package/lib/request/type.js +36 -0
  246. package/lib/request/utils.d.ts +46 -0
  247. package/lib/request/utils.js +113 -0
  248. package/lib/routes/config.d.ts +7 -0
  249. package/lib/routes/config.js +50 -0
  250. package/lib/routes/index.d.ts +28 -0
  251. package/lib/routes/index.js +121 -0
  252. package/lib/socket/components/SocketMonitorPage.d.ts +6 -0
  253. package/lib/socket/components/SocketMonitorPage.js +340 -0
  254. package/lib/socket/components/index.d.ts +2 -0
  255. package/lib/socket/components/index.js +39 -0
  256. package/lib/socket/constants.d.ts +33 -0
  257. package/lib/socket/constants.js +62 -0
  258. package/lib/socket/events.d.ts +31 -0
  259. package/lib/socket/events.js +44 -0
  260. package/lib/socket/heartbeat.d.ts +66 -0
  261. package/lib/socket/heartbeat.js +157 -0
  262. package/lib/socket/index.d.ts +61 -0
  263. package/lib/socket/index.js +198 -0
  264. package/lib/socket/monitor.d.ts +169 -0
  265. package/lib/socket/monitor.js +350 -0
  266. package/lib/socket/reconnect.d.ts +61 -0
  267. package/lib/socket/reconnect.js +157 -0
  268. package/lib/socket/socket.d.ts +130 -0
  269. package/lib/socket/socket.js +426 -0
  270. package/lib/socket/types.d.ts +85 -0
  271. package/lib/socket/types.js +36 -0
  272. package/lib/storage/index.d.ts +17 -0
  273. package/lib/storage/index.js +64 -0
  274. package/lib/tasks/index.d.ts +127 -0
  275. package/lib/tasks/index.js +710 -0
  276. package/lib/tasks/scheduledTasksExample.d.ts +61 -0
  277. package/lib/tasks/scheduledTasksExample.js +267 -0
  278. package/lib/tasks/type.d.ts +100 -0
  279. package/lib/tasks/type.js +17 -0
  280. package/lib/tasks/useTasks.d.ts +5 -0
  281. package/lib/tasks/useTasks.js +37 -0
  282. package/lib/type.d.ts +2 -0
  283. package/lib/type.js +17 -0
  284. package/lib/utils/adaptiveThrottle/index.d.ts +36 -0
  285. package/lib/utils/adaptiveThrottle/index.js +121 -0
  286. package/lib/variables/VariablesProvider.d.ts +7 -0
  287. package/lib/variables/VariablesProvider.js +51 -0
  288. package/lib/variables/config.d.ts +3 -0
  289. package/lib/variables/config.js +38 -0
  290. package/lib/variables/index.d.ts +6 -0
  291. package/lib/variables/index.js +29 -0
  292. package/lib/variables/type.d.ts +2 -0
  293. package/lib/variables/type.js +17 -0
  294. package/lib/website/index.d.ts +6 -0
  295. package/lib/website/index.js +75 -0
  296. package/package.json +49 -0
@@ -0,0 +1,28 @@
1
+ import App from '../app';
2
+ import React from 'react';
3
+ import type { ApplicationInterface } from '../applicationManager/application';
4
+ export interface RouterOptions {
5
+ routes?: Record<string, RouteType>;
6
+ basename?: string;
7
+ }
8
+ export interface RouteType extends ApplicationInterface {
9
+ }
10
+ export declare class RouterManager {
11
+ routes: Record<string, RouteType>;
12
+ options: RouterOptions;
13
+ app: App;
14
+ constructor(options: RouterOptions | undefined, app: App);
15
+ init(): void;
16
+ getRoutes(): Record<string, RouteType>;
17
+ getBasename(): string | undefined;
18
+ setBasename(basename: string): void;
19
+ add(name: string, route: any): void;
20
+ get(name: string): RouteType;
21
+ has(name: string): boolean;
22
+ remove(name: string): void;
23
+ renderComponent(item: RouteType, children?: React.ReactNode): string | number | boolean | React.ReactFragment | JSX.Element | null | undefined;
24
+ getPageByRoute(route: string): ApplicationInterface | undefined;
25
+ getRouterComponent({ fallback }: {
26
+ fallback?: React.ReactNode;
27
+ }): JSX.Element[];
28
+ }
@@ -0,0 +1,151 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ import React, { Suspense } from 'react';
15
+ import { Route } from 'react-router-dom';
16
+ export var RouterManager = /*#__PURE__*/function () {
17
+ function RouterManager() {
18
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
+ var app = arguments.length > 1 ? arguments[1] : undefined;
20
+ _classCallCheck(this, RouterManager);
21
+ _defineProperty(this, "routes", {});
22
+ _defineProperty(this, "options", void 0);
23
+ _defineProperty(this, "app", void 0);
24
+ this.options = options;
25
+ this.app = app;
26
+ this.routes = options.routes || {};
27
+ }
28
+ _createClass(RouterManager, [{
29
+ key: "init",
30
+ value: function init() {}
31
+ }, {
32
+ key: "getRoutes",
33
+ value: function getRoutes() {
34
+ return this.routes;
35
+ }
36
+ }, {
37
+ key: "getBasename",
38
+ value: function getBasename() {
39
+ return this.options.basename;
40
+ }
41
+ }, {
42
+ key: "setBasename",
43
+ value: function setBasename(basename) {
44
+ this.options.basename = basename;
45
+ }
46
+ }, {
47
+ key: "add",
48
+ value: function add(name, route) {
49
+ this.routes[name] = route;
50
+ }
51
+ }, {
52
+ key: "get",
53
+ value: function get(name) {
54
+ return this.routes[name];
55
+ }
56
+ }, {
57
+ key: "has",
58
+ value: function has(name) {
59
+ return !!this.get(name);
60
+ }
61
+ }, {
62
+ key: "remove",
63
+ value: function remove(name) {
64
+ delete this.routes[name];
65
+ }
66
+ }, {
67
+ key: "renderComponent",
68
+ value: function renderComponent(item, children) {
69
+ var Component = item.Component;
70
+ if (!Component) {
71
+ return children;
72
+ }
73
+ return /*#__PURE__*/React.createElement(Component, item, children);
74
+ }
75
+ }, {
76
+ key: "getPageByRoute",
77
+ value: function getPageByRoute(route) {
78
+ if (this.routes[route]) {
79
+ return this.routes[route];
80
+ }
81
+
82
+ // 处理动态路由匹配
83
+ var routeParts = route.split('/');
84
+ for (var _i = 0, _Object$entries = Object.entries(this.routes); _i < _Object$entries.length; _i++) {
85
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
86
+ path = _Object$entries$_i[0],
87
+ item = _Object$entries$_i[1];
88
+ var pathParts = path.split('/');
89
+ if (routeParts.length !== pathParts.length) {
90
+ continue;
91
+ }
92
+ var isMatch = true;
93
+ for (var i = 0; i < pathParts.length; i++) {
94
+ // 如果是动态参数 (以:开头),则跳过比较
95
+ if (pathParts[i].startsWith(':')) {
96
+ continue;
97
+ }
98
+ // 静态部分必须完全匹配
99
+ if (pathParts[i] !== routeParts[i]) {
100
+ isMatch = false;
101
+ break;
102
+ }
103
+ }
104
+ if (isMatch) {
105
+ return item;
106
+ }
107
+ }
108
+ return undefined;
109
+ }
110
+ }, {
111
+ key: "getRouterComponent",
112
+ value: function getRouterComponent(_ref) {
113
+ var fallback = _ref.fallback;
114
+ var routes = [];
115
+ var firstRoute = '';
116
+ for (var _i2 = 0, _Object$entries2 = Object.entries(this.routes); _i2 < _Object$entries2.length; _i2++) {
117
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
118
+ path = _Object$entries2$_i[0],
119
+ item = _Object$entries2$_i[1];
120
+ if (!firstRoute && path) {
121
+ firstRoute = path;
122
+ }
123
+ var component = this.renderComponent(item);
124
+ routes.push(
125
+ /*#__PURE__*/
126
+ //@ts-ignore
127
+ React.createElement(Route, {
128
+ path: path,
129
+ key: path,
130
+ exact: true
131
+ }, /*#__PURE__*/React.createElement(Suspense, {
132
+ fallback: fallback || /*#__PURE__*/React.createElement("div", null)
133
+ }, component)));
134
+ }
135
+
136
+ // let firstRoute = isProductRegistrationSystem
137
+ // ? "/panel-registration"
138
+ // : "/booking";
139
+
140
+ // todo: 目前固定workspaces 这里应该取menu的第一个可用菜单
141
+ // firstRoute = "/printer-list";
142
+ // routes.push(
143
+ // <Route exact path="/" key="default">
144
+ // <Redirect to={firstRoute} />
145
+ // </Route>
146
+ // );
147
+ return routes;
148
+ }
149
+ }]);
150
+ return RouterManager;
151
+ }();
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ /**
3
+ * Socket监控页面组件
4
+ */
5
+ declare const SocketMonitorPage: React.FC;
6
+ export default SocketMonitorPage;
@@ -0,0 +1,485 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import React, { useState, useEffect, useCallback } from "react";
8
+ import socket from "../index";
9
+ import { SocketStatus } from "../index";
10
+
11
+ /**
12
+ * 时间格式化函数
13
+ * @param timestamp 时间戳
14
+ */
15
+ var formatTime = function formatTime(timestamp) {
16
+ if (timestamp === null) return "无";
17
+ var date = new Date(timestamp);
18
+ return date.toLocaleString();
19
+ };
20
+
21
+ /**
22
+ * 格式化持续时间
23
+ * @param ms 毫秒数
24
+ */
25
+ var formatDuration = function formatDuration(ms) {
26
+ if (ms === null) return "无";
27
+ var seconds = Math.floor(ms / 1000);
28
+ var minutes = Math.floor(seconds / 60);
29
+ var hours = Math.floor(minutes / 60);
30
+ var remainingMinutes = minutes % 60;
31
+ var remainingSeconds = seconds % 60;
32
+ return "".concat(hours, "\u5C0F\u65F6 ").concat(remainingMinutes, "\u5206\u949F ").concat(remainingSeconds, "\u79D2");
33
+ };
34
+
35
+ /**
36
+ * 格式化字节
37
+ * @param bytes 字节数
38
+ */
39
+ var formatBytes = function formatBytes(bytes) {
40
+ if (bytes === 0) return "0 B";
41
+ var units = ["B", "KB", "MB", "GB", "TB"];
42
+ var i = Math.floor(Math.log(bytes) / Math.log(1024));
43
+ return "".concat((bytes / Math.pow(1024, i)).toFixed(2), " ").concat(units[i]);
44
+ };
45
+
46
+ /**
47
+ * 获取连接状态描述
48
+ * @param status 连接状态码
49
+ */
50
+ var getStatusText = function getStatusText(status) {
51
+ switch (status) {
52
+ case SocketStatus.CONNECTING:
53
+ return "连接中";
54
+ case SocketStatus.OPEN:
55
+ return "已连接";
56
+ case SocketStatus.CLOSING:
57
+ return "关闭中";
58
+ case SocketStatus.CLOSED:
59
+ return "已关闭";
60
+ case SocketStatus.RECONNECTING:
61
+ return "重连中";
62
+ default:
63
+ return "未知状态";
64
+ }
65
+ };
66
+
67
+ /**
68
+ * Socket监控页面组件
69
+ */
70
+ var SocketMonitorPage = function SocketMonitorPage() {
71
+ // 所有Socket实例的键
72
+ var _useState = useState([]),
73
+ _useState2 = _slicedToArray(_useState, 2),
74
+ socketKeys = _useState2[0],
75
+ setSocketKeys = _useState2[1];
76
+ // 当前选中的Socket键
77
+ var _useState3 = useState(null),
78
+ _useState4 = _slicedToArray(_useState3, 2),
79
+ selectedKey = _useState4[0],
80
+ setSelectedKey = _useState4[1];
81
+ // 当前Socket实例
82
+ var _useState5 = useState(null),
83
+ _useState6 = _slicedToArray(_useState5, 2),
84
+ currentSocket = _useState6[0],
85
+ setCurrentSocket = _useState6[1];
86
+
87
+ // 统计信息
88
+ var _useState7 = useState(null),
89
+ _useState8 = _slicedToArray(_useState7, 2),
90
+ stats = _useState8[0],
91
+ setStats = _useState8[1];
92
+ // 消息历史
93
+ var _useState9 = useState([]),
94
+ _useState10 = _slicedToArray(_useState9, 2),
95
+ messageHistory = _useState10[0],
96
+ setMessageHistory = _useState10[1];
97
+ // 状态历史
98
+ var _useState11 = useState([]),
99
+ _useState12 = _slicedToArray(_useState11, 2),
100
+ statusHistory = _useState12[0],
101
+ setStatusHistory = _useState12[1];
102
+
103
+ // 自动刷新标志
104
+ var _useState13 = useState(true),
105
+ _useState14 = _slicedToArray(_useState13, 2),
106
+ autoRefresh = _useState14[0],
107
+ setAutoRefresh = _useState14[1];
108
+ // 消息过滤方向
109
+ var _useState15 = useState("all"),
110
+ _useState16 = _slicedToArray(_useState15, 2),
111
+ messageFilter = _useState16[0],
112
+ setMessageFilter = _useState16[1];
113
+
114
+ // 加载Socket列表
115
+ var loadSocketList = useCallback(function () {
116
+ var keys = socket.getKeys();
117
+ setSocketKeys(keys);
118
+ if (keys.length > 0 && !selectedKey) {
119
+ setSelectedKey(keys[0]);
120
+ }
121
+ }, [selectedKey]);
122
+
123
+ // 加载Socket数据
124
+ var loadSocketData = useCallback(function () {
125
+ if (!selectedKey) return;
126
+ var socketInstance = socket.get(selectedKey);
127
+ if (!socketInstance) return;
128
+ setCurrentSocket(socketInstance);
129
+
130
+ // 确保Socket已启用监控
131
+ var monitor = socketInstance.getMonitor() || socketInstance.enableMonitoring();
132
+ if (!monitor) return;
133
+
134
+ // 获取统计信息
135
+ setStats(monitor.getStats());
136
+
137
+ // 获取消息历史
138
+ var direction = messageFilter === "all" ? undefined : messageFilter === "in" ? "in" : "out";
139
+ setMessageHistory(monitor.getMessageHistory(50, direction));
140
+
141
+ // 获取状态历史
142
+ setStatusHistory(monitor.getStatusHistory(20));
143
+ }, [selectedKey, messageFilter]);
144
+
145
+ // 初始加载
146
+ useEffect(function () {
147
+ loadSocketList();
148
+ }, [loadSocketList]);
149
+
150
+ // 选中Socket变化时加载数据
151
+ useEffect(function () {
152
+ if (selectedKey) {
153
+ loadSocketData();
154
+ }
155
+ }, [selectedKey, loadSocketData]);
156
+
157
+ // 自动刷新
158
+ useEffect(function () {
159
+ var intervalId;
160
+ if (autoRefresh && selectedKey) {
161
+ intervalId = window.setInterval(function () {
162
+ loadSocketData();
163
+ }, 1000);
164
+ }
165
+ return function () {
166
+ if (intervalId) {
167
+ clearInterval(intervalId);
168
+ }
169
+ };
170
+ }, [autoRefresh, selectedKey, loadSocketData]);
171
+
172
+ // 手动连接
173
+ var handleConnect = function handleConnect() {
174
+ if (currentSocket) {
175
+ currentSocket.connect().catch(console.error);
176
+ }
177
+ };
178
+
179
+ // 手动断开
180
+ var handleDisconnect = function handleDisconnect() {
181
+ if (currentSocket) {
182
+ currentSocket.disconnect();
183
+ }
184
+ };
185
+
186
+ // 清除历史记录
187
+ var handleClearHistory = function handleClearHistory() {
188
+ if (currentSocket) {
189
+ var monitor = currentSocket.getMonitor();
190
+ if (monitor) {
191
+ monitor.clearHistory();
192
+ loadSocketData();
193
+ }
194
+ }
195
+ };
196
+
197
+ // 重置统计数据
198
+ var handleResetStats = function handleResetStats() {
199
+ if (currentSocket) {
200
+ var monitor = currentSocket.getMonitor();
201
+ if (monitor) {
202
+ monitor.resetStats();
203
+ loadSocketData();
204
+ }
205
+ }
206
+ };
207
+
208
+ // 发送测试消息
209
+ var handleSendTestMessage = function handleSendTestMessage() {
210
+ if (currentSocket && currentSocket.isConnected()) {
211
+ try {
212
+ currentSocket.send("test_message", {
213
+ content: "这是一条测试消息",
214
+ timestamp: Date.now()
215
+ });
216
+ loadSocketData();
217
+ } catch (error) {
218
+ console.error("发送测试消息失败:", error);
219
+ }
220
+ }
221
+ };
222
+ return /*#__PURE__*/React.createElement("div", {
223
+ className: "socket-monitor-container",
224
+ style: {
225
+ padding: "20px"
226
+ }
227
+ }, /*#__PURE__*/React.createElement("h1", null, "Socket\u8FDE\u63A5\u76D1\u63A7"), /*#__PURE__*/React.createElement("div", {
228
+ className: "socket-selector",
229
+ style: {
230
+ marginBottom: "20px"
231
+ }
232
+ }, /*#__PURE__*/React.createElement("label", null, "\u9009\u62E9Socket: "), /*#__PURE__*/React.createElement("select", {
233
+ value: selectedKey || "",
234
+ onChange: function onChange(e) {
235
+ return setSelectedKey(e.target.value || null);
236
+ },
237
+ style: {
238
+ marginRight: "10px"
239
+ }
240
+ }, /*#__PURE__*/React.createElement("option", {
241
+ value: ""
242
+ }, "-- \u8BF7\u9009\u62E9 --"), socketKeys.map(function (key) {
243
+ return /*#__PURE__*/React.createElement("option", {
244
+ key: key,
245
+ value: key
246
+ }, key);
247
+ })), /*#__PURE__*/React.createElement("button", {
248
+ onClick: loadSocketList,
249
+ style: {
250
+ marginRight: "10px"
251
+ }
252
+ }, "\u5237\u65B0\u5217\u8868"), /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("input", {
253
+ type: "checkbox",
254
+ checked: autoRefresh,
255
+ onChange: function onChange(e) {
256
+ return setAutoRefresh(e.target.checked);
257
+ }
258
+ }), "\u81EA\u52A8\u5237\u65B0")), currentSocket && /*#__PURE__*/React.createElement("div", {
259
+ className: "socket-actions",
260
+ style: {
261
+ marginBottom: "20px"
262
+ }
263
+ }, /*#__PURE__*/React.createElement("button", {
264
+ onClick: handleConnect,
265
+ disabled: currentSocket.isConnected(),
266
+ style: {
267
+ marginRight: "10px"
268
+ }
269
+ }, "\u8FDE\u63A5"), /*#__PURE__*/React.createElement("button", {
270
+ onClick: handleDisconnect,
271
+ disabled: !currentSocket.isConnected(),
272
+ style: {
273
+ marginRight: "10px"
274
+ }
275
+ }, "\u65AD\u5F00"), /*#__PURE__*/React.createElement("button", {
276
+ onClick: handleSendTestMessage,
277
+ disabled: !currentSocket.isConnected(),
278
+ style: {
279
+ marginRight: "10px"
280
+ }
281
+ }, "\u53D1\u9001\u6D4B\u8BD5\u6D88\u606F"), /*#__PURE__*/React.createElement("button", {
282
+ onClick: handleClearHistory,
283
+ style: {
284
+ marginRight: "10px"
285
+ }
286
+ }, "\u6E05\u9664\u5386\u53F2\u8BB0\u5F55"), /*#__PURE__*/React.createElement("button", {
287
+ onClick: handleResetStats
288
+ }, "\u91CD\u7F6E\u7EDF\u8BA1")), currentSocket && stats && /*#__PURE__*/React.createElement("div", {
289
+ className: "socket-stats",
290
+ style: {
291
+ marginBottom: "20px"
292
+ }
293
+ }, /*#__PURE__*/React.createElement("h2", null, "Socket\u72B6\u6001\u548C\u7EDF\u8BA1"), /*#__PURE__*/React.createElement("div", {
294
+ style: {
295
+ display: "flex",
296
+ flexWrap: "wrap"
297
+ }
298
+ }, /*#__PURE__*/React.createElement("div", {
299
+ style: {
300
+ flex: "1 1 300px",
301
+ margin: "0 20px 20px 0"
302
+ }
303
+ }, /*#__PURE__*/React.createElement("h3", null, "\u8FDE\u63A5\u4FE1\u606F"), /*#__PURE__*/React.createElement("table", {
304
+ style: {
305
+ width: "100%",
306
+ borderCollapse: "collapse"
307
+ }
308
+ }, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "URL:")), /*#__PURE__*/React.createElement("td", null, currentSocket["url"])), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u5F53\u524D\u72B6\u6001:")), /*#__PURE__*/React.createElement("td", null, getStatusText(currentSocket.getStatus()))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u9996\u6B21\u8FDE\u63A5\u65F6\u95F4:")), /*#__PURE__*/React.createElement("td", null, formatTime(stats.firstConnectTime))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u6700\u540E\u8FDE\u63A5\u65F6\u95F4:")), /*#__PURE__*/React.createElement("td", null, formatTime(stats.lastConnectTime))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u5F53\u524D\u8FDE\u63A5\u6301\u7EED\u65F6\u95F4:")), /*#__PURE__*/React.createElement("td", null, formatDuration(stats.currentConnectionDuration)))))), /*#__PURE__*/React.createElement("div", {
309
+ style: {
310
+ flex: "1 1 300px",
311
+ margin: "0 20px 20px 0"
312
+ }
313
+ }, /*#__PURE__*/React.createElement("h3", null, "\u7EDF\u8BA1\u6570\u636E"), /*#__PURE__*/React.createElement("table", {
314
+ style: {
315
+ width: "100%",
316
+ borderCollapse: "collapse"
317
+ }
318
+ }, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u8FDE\u63A5\u6B21\u6570:")), /*#__PURE__*/React.createElement("td", null, stats.connectionCount)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u91CD\u8FDE\u6B21\u6570:")), /*#__PURE__*/React.createElement("td", null, stats.reconnectionCount)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u9519\u8BEF\u6B21\u6570:")), /*#__PURE__*/React.createElement("td", null, stats.errorCount)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u5FC3\u8DF3\u53D1\u9001\u6B21\u6570:")), /*#__PURE__*/React.createElement("td", null, stats.heartbeatCount)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u5FC3\u8DF3\u8D85\u65F6\u6B21\u6570:")), /*#__PURE__*/React.createElement("td", null, stats.heartbeatTimeoutCount))))), /*#__PURE__*/React.createElement("div", {
319
+ style: {
320
+ flex: "1 1 300px",
321
+ margin: "0 0 20px 0"
322
+ }
323
+ }, /*#__PURE__*/React.createElement("h3", null, "\u6D88\u606F\u7EDF\u8BA1"), /*#__PURE__*/React.createElement("table", {
324
+ style: {
325
+ width: "100%",
326
+ borderCollapse: "collapse"
327
+ }
328
+ }, /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u53D1\u9001\u6D88\u606F\u6570:")), /*#__PURE__*/React.createElement("td", null, stats.totalSent)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u63A5\u6536\u6D88\u606F\u6570:")), /*#__PURE__*/React.createElement("td", null, stats.totalReceived)), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u53D1\u9001\u6570\u636E\u91CF:")), /*#__PURE__*/React.createElement("td", null, formatBytes(stats.bytesSent))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u63A5\u6536\u6570\u636E\u91CF:")), /*#__PURE__*/React.createElement("td", null, formatBytes(stats.bytesReceived))), /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("strong", null, "\u5E73\u5747\u6D88\u606F\u5927\u5C0F:")), /*#__PURE__*/React.createElement("td", null, formatBytes(stats.averageMessageSize)))))))), currentSocket && statusHistory.length > 0 && /*#__PURE__*/React.createElement("div", {
329
+ className: "socket-status-history",
330
+ style: {
331
+ marginBottom: "20px"
332
+ }
333
+ }, /*#__PURE__*/React.createElement("h2", null, "\u72B6\u6001\u53D8\u66F4\u5386\u53F2"), /*#__PURE__*/React.createElement("table", {
334
+ style: {
335
+ width: "100%",
336
+ borderCollapse: "collapse",
337
+ border: "1px solid #ddd"
338
+ }
339
+ }, /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", {
340
+ style: {
341
+ backgroundColor: "#f2f2f2"
342
+ }
343
+ }, /*#__PURE__*/React.createElement("th", {
344
+ style: {
345
+ padding: "8px",
346
+ borderBottom: "1px solid #ddd",
347
+ textAlign: "left"
348
+ }
349
+ }, "\u65F6\u95F4"), /*#__PURE__*/React.createElement("th", {
350
+ style: {
351
+ padding: "8px",
352
+ borderBottom: "1px solid #ddd",
353
+ textAlign: "left"
354
+ }
355
+ }, "\u53D8\u66F4\u524D\u72B6\u6001"), /*#__PURE__*/React.createElement("th", {
356
+ style: {
357
+ padding: "8px",
358
+ borderBottom: "1px solid #ddd",
359
+ textAlign: "left"
360
+ }
361
+ }, "\u53D8\u66F4\u540E\u72B6\u6001"), /*#__PURE__*/React.createElement("th", {
362
+ style: {
363
+ padding: "8px",
364
+ borderBottom: "1px solid #ddd",
365
+ textAlign: "left"
366
+ }
367
+ }, "\u89E6\u53D1\u4E8B\u4EF6"))), /*#__PURE__*/React.createElement("tbody", null, statusHistory.map(function (item, index) {
368
+ return /*#__PURE__*/React.createElement("tr", {
369
+ key: index,
370
+ style: {
371
+ borderBottom: "1px solid #ddd"
372
+ }
373
+ }, /*#__PURE__*/React.createElement("td", {
374
+ style: {
375
+ padding: "8px"
376
+ }
377
+ }, formatTime(item.timestamp)), /*#__PURE__*/React.createElement("td", {
378
+ style: {
379
+ padding: "8px"
380
+ }
381
+ }, getStatusText(item.from)), /*#__PURE__*/React.createElement("td", {
382
+ style: {
383
+ padding: "8px"
384
+ }
385
+ }, getStatusText(item.to)), /*#__PURE__*/React.createElement("td", {
386
+ style: {
387
+ padding: "8px"
388
+ }
389
+ }, item.event || "-"));
390
+ })))), currentSocket && /*#__PURE__*/React.createElement("div", {
391
+ className: "socket-message-history"
392
+ }, /*#__PURE__*/React.createElement("h2", null, "\u6D88\u606F\u5386\u53F2\u8BB0\u5F55"), /*#__PURE__*/React.createElement("div", {
393
+ style: {
394
+ marginBottom: "10px"
395
+ }
396
+ }, /*#__PURE__*/React.createElement("label", null, "\u8FC7\u6EE4: "), /*#__PURE__*/React.createElement("select", {
397
+ value: messageFilter,
398
+ onChange: function onChange(e) {
399
+ return setMessageFilter(e.target.value);
400
+ },
401
+ style: {
402
+ marginRight: "10px"
403
+ }
404
+ }, /*#__PURE__*/React.createElement("option", {
405
+ value: "all"
406
+ }, "\u5168\u90E8\u6D88\u606F"), /*#__PURE__*/React.createElement("option", {
407
+ value: "in"
408
+ }, "\u63A5\u6536\u7684\u6D88\u606F"), /*#__PURE__*/React.createElement("option", {
409
+ value: "out"
410
+ }, "\u53D1\u9001\u7684\u6D88\u606F"))), messageHistory.length > 0 ? /*#__PURE__*/React.createElement("table", {
411
+ style: {
412
+ width: "100%",
413
+ borderCollapse: "collapse",
414
+ border: "1px solid #ddd"
415
+ }
416
+ }, /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", {
417
+ style: {
418
+ backgroundColor: "#f2f2f2"
419
+ }
420
+ }, /*#__PURE__*/React.createElement("th", {
421
+ style: {
422
+ padding: "8px",
423
+ borderBottom: "1px solid #ddd",
424
+ textAlign: "left"
425
+ }
426
+ }, "\u65F6\u95F4"), /*#__PURE__*/React.createElement("th", {
427
+ style: {
428
+ padding: "8px",
429
+ borderBottom: "1px solid #ddd",
430
+ textAlign: "left"
431
+ }
432
+ }, "\u65B9\u5411"), /*#__PURE__*/React.createElement("th", {
433
+ style: {
434
+ padding: "8px",
435
+ borderBottom: "1px solid #ddd",
436
+ textAlign: "left"
437
+ }
438
+ }, "\u4E8B\u4EF6\u7C7B\u578B"), /*#__PURE__*/React.createElement("th", {
439
+ style: {
440
+ padding: "8px",
441
+ borderBottom: "1px solid #ddd",
442
+ textAlign: "left"
443
+ }
444
+ }, "\u5927\u5C0F"), /*#__PURE__*/React.createElement("th", {
445
+ style: {
446
+ padding: "8px",
447
+ borderBottom: "1px solid #ddd",
448
+ textAlign: "left"
449
+ }
450
+ }, "\u5185\u5BB9"))), /*#__PURE__*/React.createElement("tbody", null, messageHistory.map(function (item) {
451
+ return /*#__PURE__*/React.createElement("tr", {
452
+ key: item.id,
453
+ style: {
454
+ borderBottom: "1px solid #ddd"
455
+ }
456
+ }, /*#__PURE__*/React.createElement("td", {
457
+ style: {
458
+ padding: "8px"
459
+ }
460
+ }, formatTime(item.timestamp)), /*#__PURE__*/React.createElement("td", {
461
+ style: {
462
+ padding: "8px"
463
+ }
464
+ }, item.direction === "in" ? "接收" : "发送"), /*#__PURE__*/React.createElement("td", {
465
+ style: {
466
+ padding: "8px"
467
+ }
468
+ }, item.message.event), /*#__PURE__*/React.createElement("td", {
469
+ style: {
470
+ padding: "8px"
471
+ }
472
+ }, formatBytes(item.size || 0)), /*#__PURE__*/React.createElement("td", {
473
+ style: {
474
+ padding: "8px"
475
+ }
476
+ }, /*#__PURE__*/React.createElement("pre", {
477
+ style: {
478
+ margin: 0,
479
+ maxWidth: "400px",
480
+ overflow: "auto"
481
+ }
482
+ }, JSON.stringify(item.message.data, null, 2))));
483
+ }))) : /*#__PURE__*/React.createElement("p", null, "\u6682\u65E0\u6D88\u606F\u8BB0\u5F55")));
484
+ };
485
+ export default SocketMonitorPage;
@@ -0,0 +1,2 @@
1
+ import SocketMonitorPage from './SocketMonitorPage';
2
+ export { SocketMonitorPage };
@@ -0,0 +1,2 @@
1
+ import SocketMonitorPage from "./SocketMonitorPage";
2
+ export { SocketMonitorPage };