@zhin.js/client 1.0.17 → 1.0.18

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 (76) hide show
  1. package/client/app.ts +228 -0
  2. package/client/index.ts +42 -14
  3. package/client/websocket/hooks.ts +218 -510
  4. package/client/websocket/index.ts +6 -43
  5. package/client/websocket/instance.ts +10 -32
  6. package/client/websocket/manager.ts +173 -390
  7. package/client/websocket/types.ts +58 -222
  8. package/dist/app.d.ts +95 -0
  9. package/dist/app.d.ts.map +1 -0
  10. package/dist/app.js +147 -0
  11. package/dist/app.js.map +1 -0
  12. package/dist/index.d.ts +7 -7
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +10 -14
  15. package/dist/index.js.map +1 -1
  16. package/dist/websocket/hooks.d.ts +35 -58
  17. package/dist/websocket/hooks.d.ts.map +1 -1
  18. package/dist/websocket/hooks.js +134 -410
  19. package/dist/websocket/hooks.js.map +1 -1
  20. package/dist/websocket/index.d.ts +5 -10
  21. package/dist/websocket/index.d.ts.map +1 -1
  22. package/dist/websocket/index.js +5 -25
  23. package/dist/websocket/index.js.map +1 -1
  24. package/dist/websocket/instance.d.ts +1 -14
  25. package/dist/websocket/instance.d.ts.map +1 -1
  26. package/dist/websocket/instance.js +2 -20
  27. package/dist/websocket/instance.js.map +1 -1
  28. package/dist/websocket/manager.d.ts +23 -93
  29. package/dist/websocket/manager.d.ts.map +1 -1
  30. package/dist/websocket/manager.js +87 -227
  31. package/dist/websocket/manager.js.map +1 -1
  32. package/dist/websocket/types.d.ts +35 -122
  33. package/dist/websocket/types.d.ts.map +1 -1
  34. package/dist/websocket/types.js +4 -13
  35. package/dist/websocket/types.js.map +1 -1
  36. package/package.json +12 -11
  37. package/client/router/index.tsx +0 -54
  38. package/client/store/index.ts +0 -132
  39. package/client/store/reducers/config.ts +0 -135
  40. package/client/store/reducers/index.ts +0 -19
  41. package/client/store/reducers/route.ts +0 -126
  42. package/client/store/reducers/script.ts +0 -109
  43. package/client/store/reducers/ui.ts +0 -31
  44. package/client/websocket/messageHandler.ts +0 -208
  45. package/dist/router/index.d.ts +0 -25
  46. package/dist/router/index.d.ts.map +0 -1
  47. package/dist/router/index.js +0 -48
  48. package/dist/router/index.js.map +0 -1
  49. package/dist/store/index.d.ts +0 -19
  50. package/dist/store/index.d.ts.map +0 -1
  51. package/dist/store/index.js +0 -67
  52. package/dist/store/index.js.map +0 -1
  53. package/dist/store/reducers/config.d.ts +0 -54
  54. package/dist/store/reducers/config.d.ts.map +0 -1
  55. package/dist/store/reducers/config.js +0 -78
  56. package/dist/store/reducers/config.js.map +0 -1
  57. package/dist/store/reducers/index.d.ts +0 -13
  58. package/dist/store/reducers/index.d.ts.map +0 -1
  59. package/dist/store/reducers/index.js +0 -11
  60. package/dist/store/reducers/index.js.map +0 -1
  61. package/dist/store/reducers/route.d.ts +0 -30
  62. package/dist/store/reducers/route.d.ts.map +0 -1
  63. package/dist/store/reducers/route.js +0 -85
  64. package/dist/store/reducers/route.js.map +0 -1
  65. package/dist/store/reducers/script.d.ts +0 -13
  66. package/dist/store/reducers/script.d.ts.map +0 -1
  67. package/dist/store/reducers/script.js +0 -78
  68. package/dist/store/reducers/script.js.map +0 -1
  69. package/dist/store/reducers/ui.d.ts +0 -8
  70. package/dist/store/reducers/ui.d.ts.map +0 -1
  71. package/dist/store/reducers/ui.js +0 -23
  72. package/dist/store/reducers/ui.js.map +0 -1
  73. package/dist/websocket/messageHandler.d.ts +0 -58
  74. package/dist/websocket/messageHandler.d.ts.map +0 -1
  75. package/dist/websocket/messageHandler.js +0 -174
  76. package/dist/websocket/messageHandler.js.map +0 -1
@@ -1,174 +0,0 @@
1
- /**
2
- * WebSocket 消息处理器
3
- * 负责处理不同类型的 WebSocket 消息并分发到对应的处理逻辑
4
- */
5
- import { store, syncEntries, addEntry, removeEntry, loadScripts, loadScript, unloadScript, updateConfig, updateSchema, updateConfigs, updateSchemas, setError } from '../store';
6
- export class MessageHandler {
7
- /**
8
- * 处理 WebSocket 消息
9
- */
10
- static handle(message) {
11
- try {
12
- const t = message.type;
13
- if (t === 'bot:request' || t === 'bot:notice' || t === 'bot:message') {
14
- if (typeof window !== 'undefined') {
15
- window.dispatchEvent(new CustomEvent('zhin-console-bot-push', { detail: message }));
16
- }
17
- return;
18
- }
19
- switch (message.type) {
20
- // 脚本管理相关消息
21
- case 'sync':
22
- this.handleScriptSync(message);
23
- break;
24
- case 'add':
25
- this.handleScriptAdd(message);
26
- break;
27
- case 'delete':
28
- this.handleScriptDelete(message);
29
- break;
30
- // 配置管理相关消息
31
- case 'config:updated':
32
- this.handleConfigUpdated(message);
33
- break;
34
- case 'config:batch':
35
- this.handleConfigBatch(message);
36
- break;
37
- case 'config:error':
38
- this.handleConfigError(message);
39
- break;
40
- // Schema 管理相关消息
41
- case 'schema:updated':
42
- this.handleSchemaUpdated(message);
43
- break;
44
- case 'schema:batch':
45
- this.handleSchemaBatch(message);
46
- break;
47
- // 轻量 HMR:文件变更时刷新页面
48
- case 'hmr:reload':
49
- this.handleHmrReload(message);
50
- break;
51
- // 系统重启通知:延迟后刷新页面
52
- case 'system:restarting':
53
- this.handleSystemRestart();
54
- break;
55
- // 系统消息
56
- case 'init-data':
57
- case 'data-update':
58
- this.handleSystemMessage(message);
59
- break;
60
- default:
61
- console.warn('[WebSocket] Unknown message type:', message.type);
62
- }
63
- }
64
- catch (error) {
65
- console.error('[WebSocket] Message handling error:', error);
66
- }
67
- }
68
- /**
69
- * 处理脚本同步消息
70
- */
71
- static handleScriptSync(message) {
72
- if (message.data?.key === 'entries') {
73
- const entries = Array.isArray(message.data.value)
74
- ? message.data.value
75
- : [message.data.value];
76
- store.dispatch(syncEntries(entries));
77
- store.dispatch(loadScripts(entries));
78
- }
79
- }
80
- /**
81
- * 处理脚本添加消息
82
- */
83
- static handleScriptAdd(message) {
84
- if (message.data?.key === 'entries') {
85
- store.dispatch(addEntry(message.data.value));
86
- store.dispatch(loadScript(message.data.value));
87
- }
88
- }
89
- /**
90
- * 处理脚本删除消息
91
- */
92
- static handleScriptDelete(message) {
93
- if (message.data?.key === 'entries') {
94
- store.dispatch(removeEntry(message.data.value));
95
- store.dispatch(unloadScript(message.data.value));
96
- }
97
- }
98
- /**
99
- * 处理配置更新消息
100
- */
101
- static handleConfigUpdated(message) {
102
- if (message.pluginName && message.data !== undefined) {
103
- store.dispatch(updateConfig({
104
- pluginName: message.pluginName,
105
- config: message.data
106
- }));
107
- }
108
- }
109
- /**
110
- * 处理批量配置消息
111
- */
112
- static handleConfigBatch(message) {
113
- if (message.data) {
114
- store.dispatch(updateConfigs(message.data));
115
- }
116
- }
117
- /**
118
- * 处理配置错误消息
119
- */
120
- static handleConfigError(message) {
121
- if (message.pluginName && message.error) {
122
- store.dispatch(setError({
123
- pluginName: message.pluginName,
124
- error: message.error
125
- }));
126
- }
127
- }
128
- /**
129
- * 处理 Schema 更新消息
130
- */
131
- static handleSchemaUpdated(message) {
132
- if (message.pluginName && message.data !== undefined) {
133
- store.dispatch(updateSchema({
134
- pluginName: message.pluginName,
135
- schema: message.data
136
- }));
137
- }
138
- }
139
- /**
140
- * 处理批量 Schema 消息
141
- */
142
- static handleSchemaBatch(message) {
143
- if (message.data) {
144
- store.dispatch(updateSchemas(message.data));
145
- }
146
- }
147
- /**
148
- * 处理轻量 HMR 刷新通知
149
- * 服务端监听到入口目录文件变更后发送此消息,客户端直接刷新页面
150
- */
151
- static handleHmrReload(message) {
152
- const file = message.data?.file || '';
153
- console.info(`[HMR] 文件变更: ${file},正在刷新页面...`);
154
- window.location.reload();
155
- }
156
- /**
157
- * 处理系统重启通知
158
- * 服务端即将重启,延迟后刷新页面以重新连接
159
- */
160
- static handleSystemRestart() {
161
- console.info('[System] 服务端正在重启,稍后将自动刷新...');
162
- setTimeout(() => {
163
- window.location.reload();
164
- }, 3000);
165
- }
166
- /**
167
- * 处理系统消息
168
- */
169
- static handleSystemMessage(message) {
170
- // 系统消息暂时不需要特殊处理
171
- // 可以在这里添加系统级别的消息处理逻辑
172
- }
173
- }
174
- //# sourceMappingURL=messageHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageHandler.js","sourceRoot":"","sources":["../../client/websocket/messageHandler.ts"],"names":[],"mappings":"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"}