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