vite-uni-dev-tool 0.0.11 → 0.0.13

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 (180) hide show
  1. package/README.md +55 -1
  2. package/dist/const.d.ts +133 -0
  3. package/dist/const.d.ts.map +1 -0
  4. package/dist/const.js +36 -0
  5. package/dist/core.d.ts +52 -0
  6. package/dist/core.d.ts.map +1 -0
  7. package/dist/core.js +80 -0
  8. package/dist/devConsole/index.d.ts +169 -0
  9. package/dist/devConsole/index.d.ts.map +1 -0
  10. package/dist/devConsole/index.js +270 -0
  11. package/dist/devEvent/index.d.ts +286 -0
  12. package/dist/devEvent/index.d.ts.map +1 -0
  13. package/dist/devEvent/index.js +435 -0
  14. package/dist/devEventBus/index.d.ts +42 -0
  15. package/dist/devEventBus/index.d.ts.map +1 -0
  16. package/dist/devEventBus/index.js +70 -0
  17. package/dist/devIntercept/index.d.ts +119 -0
  18. package/dist/devIntercept/index.d.ts.map +1 -0
  19. package/dist/devIntercept/index.js +582 -0
  20. package/dist/devRunJS/index.d.ts +67 -0
  21. package/dist/devRunJS/index.d.ts.map +1 -0
  22. package/dist/devStore/index.d.ts +178 -0
  23. package/dist/devStore/index.d.ts.map +1 -0
  24. package/dist/devStore/index.js +395 -0
  25. package/dist/devToolInfo/index.d.ts +17 -0
  26. package/dist/devToolInfo/index.d.ts.map +1 -0
  27. package/dist/devToolInfo/index.js +15 -0
  28. package/{dev → dist}/plugins/uniDevTool/uniDevTool.d.ts +15 -1
  29. package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +1 -0
  30. package/dist/plugins/uniDevTool/uniDevTool.js +35 -0
  31. package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.js +7 -7
  32. package/{dev → dist}/plugins/utils/index.d.ts +3 -0
  33. package/{dev → dist}/plugins/utils/index.d.ts.map +1 -1
  34. package/dist/plugins/utils/index.js +1 -0
  35. package/dist/type.d.ts +264 -0
  36. package/dist/type.d.ts.map +1 -0
  37. package/dist/utils/array.d.ts +2 -0
  38. package/dist/utils/array.d.ts.map +1 -0
  39. package/dist/utils/array.js +12 -0
  40. package/dist/utils/date.d.ts +19 -0
  41. package/dist/utils/date.d.ts.map +1 -0
  42. package/dist/utils/date.js +40 -0
  43. package/dist/utils/file.d.ts +11 -0
  44. package/dist/utils/file.d.ts.map +1 -0
  45. package/dist/utils/file.js +87 -0
  46. package/dist/utils/function.d.ts +28 -0
  47. package/dist/utils/function.d.ts.map +1 -0
  48. package/dist/utils/function.js +46 -0
  49. package/dist/utils/index.d.ts +11 -0
  50. package/dist/utils/index.d.ts.map +1 -0
  51. package/dist/utils/index.js +55 -0
  52. package/dist/utils/ip.d.ts +5 -0
  53. package/dist/utils/ip.d.ts.map +1 -0
  54. package/dist/utils/ip.js +21 -0
  55. package/dist/utils/language.d.ts +29 -0
  56. package/dist/utils/language.d.ts.map +1 -0
  57. package/dist/utils/language.js +50 -0
  58. package/dist/utils/object.d.ts +49 -0
  59. package/dist/utils/object.d.ts.map +1 -0
  60. package/dist/utils/object.js +118 -0
  61. package/dist/utils/page.d.ts +7 -0
  62. package/dist/utils/page.d.ts.map +1 -0
  63. package/dist/utils/page.js +7 -0
  64. package/dist/utils/platform.d.ts +4 -0
  65. package/dist/utils/platform.d.ts.map +1 -0
  66. package/dist/utils/platform.js +14 -0
  67. package/dist/utils/string.d.ts +45 -0
  68. package/dist/utils/string.d.ts.map +1 -0
  69. package/dist/utils/string.js +88 -0
  70. package/dist/utils/utils.d.ts +16 -0
  71. package/dist/utils/utils.d.ts.map +1 -0
  72. package/dist/v2/AutoSizer/utils.d.ts +5 -0
  73. package/dist/v2/AutoSizer/utils.d.ts.map +1 -0
  74. package/dist/v2/JsonPretty/hooks/useClipboard.d.ts +4 -0
  75. package/dist/v2/JsonPretty/hooks/useClipboard.d.ts.map +1 -0
  76. package/dist/v2/JsonPretty/hooks/useError.d.ts +8 -0
  77. package/dist/v2/JsonPretty/hooks/useError.d.ts.map +1 -0
  78. package/dist/v2/JsonPretty/type.d.ts +93 -0
  79. package/dist/v2/JsonPretty/type.d.ts.map +1 -0
  80. package/dist/v3/AutoSizer/utils.d.ts +5 -0
  81. package/dist/v3/AutoSizer/utils.d.ts.map +1 -0
  82. package/dist/v3/ConsoleList/staticTips.d.ts +13 -0
  83. package/dist/v3/ConsoleList/staticTips.d.ts.map +1 -0
  84. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts +4 -0
  85. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts.map +1 -0
  86. package/dist/v3/JsonPretty/hooks/useError.d.ts +8 -0
  87. package/dist/v3/JsonPretty/hooks/useError.d.ts.map +1 -0
  88. package/dist/v3/JsonPretty/type.d.ts +93 -0
  89. package/dist/v3/JsonPretty/type.d.ts.map +1 -0
  90. package/dist/v3/JsonPretty/utils/index.d.ts +10 -0
  91. package/dist/v3/JsonPretty/utils/index.d.ts.map +1 -0
  92. package/package.json +5 -5
  93. package/dev/components/AppInfo/index.vue +0 -36
  94. package/dev/components/AutoSizer/index.vue +0 -193
  95. package/dev/components/AutoSizer/index1.vue +0 -186
  96. package/dev/components/AutoSizer/utils.ts +0 -49
  97. package/dev/components/Button/index.vue +0 -34
  98. package/dev/components/CaptureScreen/index.vue +0 -62
  99. package/dev/components/Checkbox/index.vue +0 -40
  100. package/dev/components/CloseButton/index.vue +0 -26
  101. package/dev/components/Code/index.vue +0 -230
  102. package/dev/components/Connection/index.vue +0 -88
  103. package/dev/components/ConsoleList/Code.vue +0 -227
  104. package/dev/components/ConsoleList/ConsoleItem.vue +0 -186
  105. package/dev/components/ConsoleList/RunJSInput.vue +0 -235
  106. package/dev/components/ConsoleList/index.vue +0 -130
  107. package/dev/components/ConsoleList/staticTips.ts +0 -1145
  108. package/dev/components/DevTool/index.vue +0 -182
  109. package/dev/components/DevToolButton/index.vue +0 -213
  110. package/dev/components/DevToolTitle/index.vue +0 -21
  111. package/dev/components/DevToolWindow/index.vue +0 -1037
  112. package/dev/components/DeviceInfo/index.vue +0 -32
  113. package/dev/components/Empty/empty.png +0 -0
  114. package/dev/components/Empty/index.vue +0 -28
  115. package/dev/components/FilterInput/index.vue +0 -86
  116. package/dev/components/JsonPretty/components/Brackets/index.vue +0 -23
  117. package/dev/components/JsonPretty/components/Carets/index.vue +0 -59
  118. package/dev/components/JsonPretty/components/CheckController/index.vue +0 -125
  119. package/dev/components/JsonPretty/components/TreeNode/index.vue +0 -349
  120. package/dev/components/JsonPretty/hooks/useClipboard.ts +0 -21
  121. package/dev/components/JsonPretty/hooks/useError.ts +0 -21
  122. package/dev/components/JsonPretty/index.vue +0 -474
  123. package/dev/components/JsonPretty/type.ts +0 -125
  124. package/dev/components/JsonPretty/utils/index.ts +0 -172
  125. package/dev/components/NetworkList/NetworkDetail.vue +0 -197
  126. package/dev/components/NetworkList/NetworkItem.vue +0 -106
  127. package/dev/components/NetworkList/index.vue +0 -115
  128. package/dev/components/PiniaList/index.vue +0 -64
  129. package/dev/components/RouteList/index.vue +0 -110
  130. package/dev/components/RunJS/index.vue +0 -128
  131. package/dev/components/SettingList/index.vue +0 -225
  132. package/dev/components/StorageList/index.vue +0 -170
  133. package/dev/components/SystemInfo/index.vue +0 -34
  134. package/dev/components/Tabs/index.vue +0 -123
  135. package/dev/components/Tag/index.vue +0 -89
  136. package/dev/components/UniEvent/UniEventItem.vue +0 -124
  137. package/dev/components/UniEvent/index.vue +0 -94
  138. package/dev/components/UploadList/UploadDetail.vue +0 -208
  139. package/dev/components/UploadList/UploadItem.vue +0 -111
  140. package/dev/components/UploadList/index.vue +0 -104
  141. package/dev/components/VirtualList/index.vue +0 -112
  142. package/dev/components/VirtualListPro/AutoSize.vue +0 -43
  143. package/dev/components/VirtualListPro/index.vue +0 -175
  144. package/dev/components/VirtualListPro/readme.md +0 -40
  145. package/dev/components/VuexList/index.vue +0 -54
  146. package/dev/components/WebSocket/WebSocketItem.vue +0 -98
  147. package/dev/components/WebSocket/WebSocketList.vue +0 -176
  148. package/dev/components/WebSocket/index.vue +0 -111
  149. package/dev/components/WindowInfo/index.vue +0 -33
  150. package/dev/const.ts +0 -166
  151. package/dev/core.ts +0 -118
  152. package/dev/devConsole/index.ts +0 -350
  153. package/dev/devEvent/index.ts +0 -806
  154. package/dev/devEventBus/index.ts +0 -94
  155. package/dev/devIntercept/index.ts +0 -745
  156. package/dev/devRunJS/index.ts +0 -170
  157. package/dev/devStore/index.ts +0 -718
  158. package/dev/plugins/uniDevTool/uniDevTool.d.ts.map +0 -1
  159. package/dev/plugins/uniDevTool/uniDevTool.js +0 -36
  160. package/dev/plugins/utils/index.js +0 -1
  161. package/dev/shims-uni.d.ts +0 -43
  162. package/dev/type.ts +0 -264
  163. package/dev/utils/array.ts +0 -15
  164. package/dev/utils/date.ts +0 -75
  165. package/dev/utils/file.ts +0 -121
  166. package/dev/utils/function.ts +0 -192
  167. package/dev/utils/index.d.ts +0 -6
  168. package/dev/utils/index.ts +0 -46
  169. package/dev/utils/ip.ts +0 -79
  170. package/dev/utils/language.ts +0 -72
  171. package/dev/utils/object.ts +0 -298
  172. package/dev/utils/page.ts +0 -13
  173. package/dev/utils/platform.ts +0 -14
  174. package/dev/utils/string.ts +0 -133
  175. package/dev/utils/utils.ts +0 -198
  176. /package/{dev → dist}/index.d.ts +0 -0
  177. /package/{dev → dist}/index.d.ts.map +0 -0
  178. /package/{dev → dist}/index.js +0 -0
  179. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.d.ts +0 -0
  180. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.d.ts.map +0 -0
@@ -1,806 +0,0 @@
1
- import { backup } from '../core';
2
- import {
3
- DEV_BUTTON_SHOW_OR_HIDE,
4
- DEV_CONSOLE_CLEAR,
5
- DEV_DESTROY,
6
- DEV_EXPORT_LOG,
7
- DEV_IS_DESTROY,
8
- DEV_LOG_CACHE_CLEAR,
9
- DEV_NETWORK_CLEAR,
10
- DEV_PAGE_JUMP,
11
- DEV_PINIA_CHANGE,
12
- DEV_RESTART_APP,
13
- DEV_RESTART_DEBUGGER,
14
- DEV_ROUTE_REFRESH,
15
- DEV_STORAGE_ADD,
16
- DEV_STORAGE_CLEAR,
17
- DEV_STORAGE_REFRESH,
18
- DEV_STORAGE_REMOVE,
19
- DEV_STORAGE_UPDATE,
20
- DEV_UPLOAD_CLEAR,
21
- DEV_VUEX_CHANGE,
22
- DEV_WEBSOCKET_CLEAR,
23
- DEV_WINDOW_OPEN,
24
- DEV_APP_MESSAGE,
25
- EVENT_DEV_BUTTON,
26
- EVENT_DEV_WINDOW,
27
- DEV_WINDOW_MESSAGE,
28
- DEV_WINDOW_CLOSE,
29
- DEV_OPTION_GET,
30
- DEV_OPTION_SEND,
31
- DEV_UNI_EVENT_CLEAR,
32
- DEV_RUN_JS,
33
- DEV_CAPTURE_SCREEN_CLEAR,
34
- } from '../const';
35
- import { DevStore } from '../devStore';
36
- import type { DevTool } from '../type';
37
- import {
38
- formatStorageSize,
39
- calculateObjectSize,
40
- throttle,
41
- saveTxtFileApp,
42
- saveTextFileH5,
43
- saveTextFileMicro,
44
- getCurrentDate,
45
- isNil,
46
- transformValueToView,
47
- parseValue,
48
- } from '../utils/index';
49
- import type { EventBus } from '../devEventBus';
50
-
51
- /**
52
- * 事件中心
53
- *
54
- * @export
55
- * @class DevEvent
56
- */
57
- export class DevEvent {
58
- private store: DevStore;
59
-
60
- private eventBus: EventBus;
61
-
62
- constructor({ store, eventBus }: { store: DevStore; eventBus: EventBus }) {
63
- this.store = store;
64
- this.eventBus = eventBus;
65
- this.acceptMessage();
66
- }
67
-
68
- /**
69
- * 发送数据
70
- *
71
- * @param {DevTool.WindowData} data
72
- * @memberof DevEvent
73
- */
74
- async postMessageFn() {
75
- const data = await this.store.getDevData();
76
- const size = calculateObjectSize(data);
77
- const sizeFormat = formatStorageSize(size);
78
- data.size = size;
79
- data.sizeFormat = sizeFormat;
80
-
81
- this.eventBus.emit(DEV_APP_MESSAGE, data);
82
-
83
- if (size > this.store.cacheMaxSize) {
84
- this.store?.clearDevCache();
85
- }
86
- }
87
-
88
- /**
89
- * 发送数据 节流
90
- *
91
- * @memberof DevEvent
92
- */
93
- postMessage = throttle(this.postMessageFn, 1000);
94
-
95
- /**
96
- * 创建调试器
97
- *
98
- * @return {*}
99
- * @memberof DevEvent
100
- */
101
- createDevTool() {
102
- if (!this.store.getDevToolDestroy()) {
103
- console.warn('[DevTool] 调试器已存在,不在重新创建');
104
- return;
105
- }
106
- this.store.setDevToolDestroy(false);
107
-
108
- console.log('[DevTool] 调试器创建成功');
109
- }
110
-
111
- /**
112
- * 销毁调试器
113
- *
114
- * @return {*}
115
- * @memberof DevEvent
116
- */
117
- destroyDevTool() {
118
- if (this.store.getDevToolDestroy()) {
119
- console.warn('[DevTool] 调试器已存在,不在重新创建');
120
- return;
121
- }
122
- this.store.setRequestIndex(-1);
123
-
124
- this.store.setUploadIndex(-1);
125
-
126
- this.store.clearAll();
127
-
128
- this.hideDevToolButton();
129
-
130
- this.closeDevToolWindow();
131
-
132
- this.resetInterceptAppConsole();
133
-
134
- this.resetInterceptPromiseReject();
135
-
136
- this.resetInterceptErrorApp();
137
-
138
- this.resetInterceptWarnApp();
139
-
140
- this.resetInterceptStorage();
141
-
142
- this.resetInterceptUpload();
143
-
144
- this.resetInterceptRequest();
145
-
146
- this.resetInterceptNavigateTo();
147
-
148
- this.resetInterceptSwitchTab();
149
-
150
- this.resetUniEvent();
151
-
152
- this.store.setDevToolDestroy(true);
153
-
154
- this.eventBus.clear();
155
-
156
- console.warn('[DevTool] 调试器已销毁');
157
- }
158
-
159
- /**
160
- * 重启调试器
161
- *
162
- * @memberof DevEvent
163
- */
164
- restartDevTool() {
165
- this.destroyDevTool();
166
-
167
- this.createDevTool();
168
-
169
- this.openDevToolWindow();
170
- }
171
-
172
- /**
173
- * 打开调试器窗口
174
- *
175
- * @memberof DevEvent
176
- */
177
- openDevToolWindow() {
178
- setTimeout(async () => {
179
- this.postMessage();
180
- }, 100);
181
- this.eventBus.emit(EVENT_DEV_WINDOW, true);
182
- }
183
-
184
- /**
185
- * 关闭调试器窗口
186
- *
187
- * @memberof DevEvent
188
- */
189
- closeDevToolWindow() {
190
- this.eventBus.emit(EVENT_DEV_WINDOW, false);
191
- }
192
-
193
- /**
194
- * 显示调试按钮
195
- *
196
- * @export
197
- */
198
- showDevToolButton() {
199
- const isDestroy = uni.getStorageSync(DEV_IS_DESTROY) ?? false;
200
- if (isDestroy) return;
201
- this.eventBus.emit(EVENT_DEV_BUTTON, true);
202
- uni.setStorageSync(EVENT_DEV_BUTTON, true);
203
- this.store.setDevToolVisible(true);
204
- }
205
-
206
- /**
207
- * 隐藏调试按钮
208
- *
209
- * @return {*}
210
- */
211
- hideDevToolButton() {
212
- const isDestroy = uni.getStorageSync(DEV_IS_DESTROY) ?? false;
213
- if (isDestroy) return;
214
- this.eventBus.emit(EVENT_DEV_BUTTON, false);
215
- uni.setStorageSync(EVENT_DEV_BUTTON, false);
216
- this.store.setDevToolVisible(false);
217
- }
218
-
219
- exportLog(data: {
220
- exportLog: boolean;
221
- exportNetwork: boolean;
222
- exportStorage: boolean;
223
- exportWebSocket: boolean;
224
- exportUpload: boolean;
225
- exportWindow: boolean;
226
- exportDevice: boolean;
227
- exportSystem: boolean;
228
- }) {
229
- const exportData = this.store.getExportData(data);
230
-
231
- // #ifdef APP-PLUS
232
- saveTxtFileApp(JSON.stringify(exportData, null, 2), 'dev-tool-log');
233
- // #endif
234
-
235
- // #ifdef H5
236
- saveTextFileH5(JSON.stringify(exportData, null, 2), 'dev-tool-log');
237
- // #endif
238
-
239
- // #ifdef MP-WEIXIN
240
- saveTextFileMicro(JSON.stringify(exportData, null, 2), 'dev-tool-log');
241
- // #endif
242
- }
243
-
244
- /**
245
- * 切换页面
246
- *
247
- * @param {string} path
248
- * @memberof DevEvent
249
- */
250
- switchTo(path: string) {
251
- // this.showDevToolButton();
252
- this.closeDevToolWindow();
253
- uni.switchTab({
254
- url: path,
255
- });
256
- }
257
-
258
- /**
259
- * 跳转页面
260
- *
261
- * @param {string} path
262
- * @memberof DevEvent
263
- */
264
- navigateTo(path: string) {
265
- // this.showDevToolButton();
266
- this.closeDevToolWindow();
267
- uni.navigateTo({
268
- url: path,
269
- });
270
- }
271
-
272
- /**
273
- * 重启app
274
- *
275
- * @memberof DevEvent
276
- */
277
- restartApp() {
278
- // #ifdef APP-PLUS
279
- plus.runtime.restart();
280
- // #endif
281
-
282
- // #ifdef H5
283
- window.location.reload();
284
- // #endif
285
-
286
- // #ifdef MP-WEIXIN
287
- uni.reLaunch({
288
- url: '/' + this.store.getCurrentPagePath(),
289
- });
290
- // #endif
291
- }
292
-
293
- refreshRouteList() {
294
- this.store.getRouteList();
295
- this.postMessage();
296
- }
297
-
298
- sendDevToolOption() {
299
- const options = this.store.getDevToolOptions();
300
-
301
- this.eventBus.emit(DEV_OPTION_SEND, options);
302
- }
303
-
304
- /**
305
- * 接受消息
306
- *
307
- * @memberof DevEvent
308
- */
309
- acceptMessage() {
310
- this.eventBus.on(
311
- DEV_WINDOW_MESSAGE,
312
- (data: {
313
- type: string;
314
- data: {
315
- key: string;
316
- _oldKey: string;
317
- value: any;
318
- exportLog: boolean;
319
- exportNetwork: boolean;
320
- exportStorage: boolean;
321
- exportWebSocket: boolean;
322
- exportUpload: boolean;
323
- exportWindow: boolean;
324
- exportDevice: boolean;
325
- exportSystem: boolean;
326
- code: string;
327
- [key: string]: any;
328
- };
329
- }) => {
330
- // 清空console数据
331
- if (data.type === DEV_CONSOLE_CLEAR) {
332
- this.store.clearConsoleList();
333
- }
334
- // 清空network数据
335
- else if (data.type === DEV_NETWORK_CLEAR) {
336
- this.store.clearNetworkList();
337
- }
338
- // 清空websocket数据
339
- else if (data.type === DEV_WEBSOCKET_CLEAR) {
340
- this.store.clearWsList();
341
- }
342
- // 清空上传信息
343
- else if (data.type === DEV_UPLOAD_CLEAR) {
344
- this.store.clearUploadList();
345
- }
346
- // 清空storage数据
347
- else if (data.type === DEV_STORAGE_CLEAR) {
348
- this.store.clearStorageList();
349
- }
350
- // 刷新storage数据
351
- else if (data.type === DEV_STORAGE_REFRESH) {
352
- this.store.refreshStore();
353
- this.postMessage();
354
- }
355
- // 移除storage数据
356
- else if (data.type === DEV_STORAGE_REMOVE) {
357
- this.store.removeStorage(data.data.key + '');
358
- this.postMessage();
359
- }
360
- // 新增storage数据
361
- else if (data.type === DEV_STORAGE_ADD) {
362
- this.store.addStorage(data.data);
363
- this.postMessage();
364
- }
365
- // 改变storage数据
366
- else if (data.type === DEV_STORAGE_UPDATE) {
367
- this.store.updateStore(data.data);
368
- this.postMessage();
369
- }
370
- // 切换页面
371
- else if (data.type === DEV_PAGE_JUMP) {
372
- data.data?.type === 'nav'
373
- ? this.switchTo(data.data.path ?? '')
374
- : this.navigateTo(data.data.path ?? '');
375
- }
376
- // 隐藏调试按钮
377
- else if (data.type === DEV_BUTTON_SHOW_OR_HIDE) {
378
- data.data.show ? this.showDevToolButton() : this.hideDevToolButton();
379
- this.postMessage();
380
- }
381
-
382
- // 重启调试器
383
- else if (data.type === DEV_RESTART_DEBUGGER) {
384
- this.restartDevTool();
385
- }
386
- // 重启app
387
- else if (data.type === DEV_RESTART_APP) {
388
- this.restartApp();
389
- }
390
- // 导出日志
391
- else if (data.type === DEV_EXPORT_LOG) {
392
- this.exportLog(data.data);
393
- }
394
- // 改变vuex数据
395
- else if (data.type === DEV_VUEX_CHANGE) {
396
- this.store.updateVuexStore(data.data);
397
- this.postMessage();
398
- }
399
- // 改变pinia数据
400
- else if (data.type === DEV_PINIA_CHANGE) {
401
- this.store.updatePiniaStore(data.data);
402
- this.postMessage();
403
- }
404
- // 清除缓存
405
- else if (data.type === DEV_LOG_CACHE_CLEAR) {
406
- this.store.clearDevCache();
407
- }
408
- // 销毁工具
409
- else if (data.type === DEV_DESTROY) {
410
- this.destroyDevTool();
411
- }
412
- // 显示工具
413
- else if (data.type === DEV_WINDOW_OPEN) {
414
- this.openDevToolWindow();
415
- }
416
- // 隐藏工具
417
- else if (data.type === DEV_WINDOW_CLOSE) {
418
- this.closeDevToolWindow();
419
- }
420
- // 刷新路由列表
421
- else if (data.type === DEV_ROUTE_REFRESH) {
422
- this.refreshRouteList();
423
- }
424
- // 获取dev options 数据
425
- else if (data.type === DEV_OPTION_GET) {
426
- this.sendDevToolOption();
427
- }
428
- // 清空事件
429
- else if (data.type === DEV_UNI_EVENT_CLEAR) {
430
- this.uniEventClear();
431
- }
432
- // 运行 js
433
- else if (data.type === DEV_RUN_JS) {
434
- this.devRunJS(data.data.code);
435
- }
436
- // 清空截屏列表
437
- else if (data.type === DEV_CAPTURE_SCREEN_CLEAR) {
438
- this.store.clearCaptureScreenList();
439
- }
440
- },
441
- );
442
- }
443
-
444
- /**
445
- * 重置拦截 promise reject
446
- *
447
- * @memberof DevEvent
448
- */
449
- resetInterceptPromiseReject() {
450
- Object.defineProperty(Promise, 'reject', {
451
- value: function (reason: any) {
452
- return backup.reject.call(Promise, reason);
453
- },
454
- });
455
- }
456
- /**
457
- * 重置劫持 app 错误
458
- *
459
- * @memberof DevEvent
460
- */
461
- resetInterceptErrorApp() {}
462
-
463
- /**
464
- * 重置劫持 app 警告
465
- *
466
- * @memberof DevEvent
467
- */
468
- resetInterceptWarnApp() {}
469
-
470
- /**
471
- * 更新路由信息
472
- *
473
- * @param {string} path
474
- * @memberof DevEvent
475
- */
476
- updateCurrentPagePath(path: string) {
477
- this.store.updateCurrentPagePath(path);
478
-
479
- this.postMessage();
480
- }
481
-
482
- /**
483
- * 重置 nav 跳转
484
- *
485
- * @memberof DevEvent
486
- */
487
- resetInterceptSwitchTab() {
488
- uni.removeInterceptor('switchTab');
489
- }
490
-
491
- /**
492
- * 重置页面跳转
493
- *
494
- * @memberof DevEvent
495
- */
496
- resetInterceptNavigateTo() {
497
- uni.removeInterceptor('navigateTo');
498
- }
499
-
500
- /**
501
- * 清除console日志
502
- *
503
- * @memberof DevEvent
504
- */
505
- clearConsoleList() {
506
- this.store.clearConsoleList();
507
- this.postMessage();
508
- }
509
-
510
- /**
511
- * 更新控制台日志
512
- *
513
- * @param {DevTool.ConsoleItem[]} addItems
514
- * @param {number} [index]
515
- * @memberof DevEvent
516
- */
517
- updateConsoleList(addItems: DevTool.ConsoleItem[], index?: number) {
518
- this.store.updateConsoleList(addItems, index);
519
-
520
- this.postMessage();
521
- }
522
-
523
- /**
524
- * 重置console
525
- *
526
- * @memberof DevEvent
527
- */
528
- resetInterceptAppConsole() {
529
- if ((uni as any).__log__) {
530
- (uni as any).__log__ = backup.__log__;
531
- }
532
- }
533
-
534
- /**
535
- * 更新网络日志
536
- *
537
- * @param {DevTool.NetworkItem[]} addItems
538
- * @param {number} [index]
539
- * @memberof DevEvent
540
- */
541
- updateNetworkList(addItems: DevTool.NetworkItem[], index?: number) {
542
- this.store.updateNetworkList(addItems, index);
543
- this.postMessage();
544
- }
545
-
546
- /**
547
- * 重置网络监听
548
- *
549
- * @memberof DevEvent
550
- */
551
- resetInterceptRequest() {
552
- uni.removeInterceptor('request');
553
- }
554
-
555
- /**
556
- * 更新websocket日志
557
- *
558
- * @param {DevTool.WS} item
559
- * @memberof DevEvent
560
- */
561
- updateWsList(item: DevTool.WS) {
562
- this.store.updateWsList(item);
563
- this.postMessage();
564
- }
565
-
566
- /**
567
- * 重置websocket
568
- *
569
- * @memberof DevEvent
570
- */
571
- resetWebSocket() {
572
- uni.connectSocket = backup.connectSocket;
573
- }
574
-
575
- /**
576
- * 更新状态存储
577
- *
578
- * @param {DevTool.StorageItem[]} addItems
579
- * @memberof DevEvent
580
- */
581
- updateStoreList(addItems: DevTool.StorageItem[]) {
582
- this.store.updateStoreList(addItems);
583
- this.postMessage();
584
- }
585
-
586
- /**
587
- * 移除状态
588
- *
589
- * @param {string} key
590
- * @memberof DevEvent
591
- */
592
- removeStorage(key: string) {
593
- this.store.removeStorage(key);
594
- this.postMessage();
595
- }
596
-
597
- /**
598
- * 清除缓存
599
- *
600
- * @memberof DevEvent
601
- */
602
- clearStorage() {
603
- this.store.clearStorageList();
604
- }
605
-
606
- /**
607
- * 重置 storage 函数
608
- *
609
- * @memberof DevEvent
610
- */
611
- resetInterceptStorage() {
612
- uni.setStorage = backup.setStorage;
613
- uni.setStorageSync = backup.setStorageSync;
614
-
615
- uni.clearStorage = backup.clearStorage;
616
- uni.clearStorageSync = backup.clearStorageSync;
617
-
618
- uni.removeStorage = backup.removeStorage;
619
- uni.removeStorageSync = backup.removeStorageSync;
620
- }
621
-
622
- /**
623
- * 更新上传日志
624
- *
625
- * @param {DevTool.UploadItem[]} addItems
626
- * @param {number} [index]
627
- * @memberof DevEvent
628
- */
629
- updateUploadList(addItems: DevTool.UploadItem[], index?: number) {
630
- this.store.updateUploadList(addItems, index);
631
- this.postMessage();
632
- }
633
-
634
- /**
635
- * 移除上传任务
636
- *
637
- * @param {(number | string)} index
638
- * @memberof DevEvent
639
- */
640
- removeUploadTask(index: number | string) {
641
- this.store.removeUploadTask(index);
642
- }
643
-
644
- /**
645
- * 新增上传任务
646
- *
647
- * @param {(number | string)} index
648
- * @param {UniApp.UploadTask} task
649
- * @memberof DevEvent
650
- */
651
- addUploadTask(index: number | string, task: UniApp.UploadTask) {
652
- this.store.addUploadTask(index, task);
653
- }
654
-
655
- /**
656
- * 重置 uni.uploadFile
657
- *
658
- * @memberof DevEvent
659
- */
660
- resetInterceptUpload() {
661
- uni.uploadFile = backup.uploadFile;
662
- }
663
-
664
- setRequestIndex(index: number) {
665
- return this.store.setRequestIndex(index);
666
- }
667
-
668
- getRequestIndex() {
669
- return this.store.getRequestIndex();
670
- }
671
-
672
- setUploadIndex(index: number) {
673
- return this.store.setUploadIndex(index);
674
- }
675
-
676
- getUploadIndex() {
677
- return this.store.getUploadIndex();
678
- }
679
-
680
- setVuexList(list: Record<string, any>) {
681
- this.store.setVuexList(list);
682
- }
683
-
684
- setPiniaList(list: Record<string, any>) {
685
- this.store.setPiniaList(list);
686
- }
687
-
688
- setPiniaStore(piniaStore: any) {
689
- this.store.setPiniaStore(piniaStore);
690
- }
691
-
692
- getDevToolDestroy() {
693
- return this.store.getDevToolDestroy();
694
- }
695
-
696
- updateUniEventCount(type: DevTool.EventCountKey) {
697
- this.store.updateUniEventCount(type);
698
- this.postMessage();
699
- }
700
- updateUniEventList(eventList: DevTool.EventItem[]) {
701
- this.store.updateUniEventList(eventList);
702
- this.postMessage();
703
- }
704
- uniEventClear() {
705
- this.store.uniEventClear();
706
- }
707
-
708
- resetUniEvent() {
709
- uni.$on = backup.$on;
710
- uni.$once = backup.$once;
711
- uni.$emit = backup.$emit;
712
- uni.$off = backup.$off;
713
- }
714
-
715
- execute(code: any): Promise<any> {
716
- const evalFunction = '_e_v_a_l_'.replace(
717
- /_/g,
718
- '',
719
- ) as keyof typeof globalThis;
720
-
721
- if (!globalThis?.[evalFunction]) {
722
- return Promise.reject(
723
- new Error('[DevTool] DevRunJS 当前环境不支持执行js'),
724
- );
725
- }
726
-
727
- return Promise.resolve(globalThis?.[evalFunction](code));
728
- }
729
-
730
- /**
731
- * 运行js
732
- *
733
- * @param {string} code
734
- * @memberof DevEvent
735
- */
736
- devRunJS(code: string) {
737
- const start = Date.now();
738
- const consoleItem: DevTool.ConsoleItem = {
739
- type: 'log',
740
- args: [
741
- {
742
- type: 'string',
743
- value: code,
744
- },
745
- ],
746
- position: 'dev/devEvent/index.ts',
747
- time: getCurrentDate(),
748
- stack: 'http://usr/devRunJS',
749
- mode: 'input',
750
- };
751
- console.log(code);
752
- this.store.updateConsoleList([{ ...consoleItem }]);
753
-
754
- this.postMessageFn();
755
-
756
- this.execute(code)
757
- .then((res) => {
758
- consoleItem.args = [
759
- {
760
- type: transformValueToView(res),
761
- value: parseValue(res),
762
- },
763
- ];
764
- consoleItem.position = `dev/devEvent/index.ts ${Date.now() - start}ms`;
765
- consoleItem.time = getCurrentDate();
766
- consoleItem.mode = 'output';
767
- })
768
- .catch((err: Error) => {
769
- console.error(err);
770
- consoleItem.args = [
771
- {
772
- type: 'string',
773
- value: err.message,
774
- },
775
- ];
776
- consoleItem.position = `dev/devEvent/index.ts ${Date.now() - start}ms`;
777
- consoleItem.time = getCurrentDate();
778
- consoleItem.type = 'error';
779
- consoleItem.mode = 'output';
780
- })
781
- .finally(() => {
782
- this.store.updateConsoleList([{ ...consoleItem }]);
783
- this.postMessageFn();
784
- });
785
- }
786
-
787
- /**
788
- * 更新截屏列表
789
- *
790
- * @param {DevTool.CaptureScreenItem[]} list
791
- * @memberof DevEvent
792
- */
793
- updateCaptureScreenList(list: DevTool.CaptureScreenItem[]) {
794
- this.store.updateCaptureScreenList(list);
795
- this.postMessage();
796
- }
797
-
798
- /**
799
- * 清空截屏列表
800
- *
801
- * @memberof DevEvent
802
- */
803
- clearCaptureScreenList() {
804
- this.store.clearCaptureScreenList();
805
- }
806
- }