vite-uni-dev-tool 0.0.12 → 0.0.14

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 (235) 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/AppInfo/index.vue +41 -0
  71. package/dist/v2/AutoSizer/index.vue +189 -0
  72. package/dist/v2/AutoSizer/index1.vue +193 -0
  73. package/dist/v2/AutoSizer/utils.d.ts +5 -0
  74. package/dist/v2/AutoSizer/utils.d.ts.map +1 -0
  75. package/dist/v2/CaptureScreen/index.vue +78 -0
  76. package/dist/v2/CloseButton/index.vue +32 -0
  77. package/dist/v2/Connection/index.vue +94 -0
  78. package/dist/v2/ConsoleList/ConsoleItem.vue +235 -0
  79. package/dist/v2/ConsoleList/RunJSInput.vue +243 -0
  80. package/dist/v2/ConsoleList/index.vue +164 -0
  81. package/dist/v2/ConsoleList/staticTips.js +1144 -0
  82. package/dist/v2/DevTool/index.vue +162 -0
  83. package/dist/v2/DevToolButton/index.vue +228 -0
  84. package/dist/v2/DevToolTitle/index.vue +28 -0
  85. package/dist/v2/DevToolWindow/index.vue +1051 -0
  86. package/dist/v2/DeviceInfo/index.vue +48 -0
  87. package/dist/v2/Empty/index.vue +40 -0
  88. package/dist/v2/FilterInput/index.vue +100 -0
  89. package/dist/v2/JsonPretty/components/Brackets/index.vue +30 -0
  90. package/dist/v2/JsonPretty/components/Carets/index.vue +65 -0
  91. package/dist/v2/JsonPretty/components/CheckController/index.vue +127 -0
  92. package/dist/v2/JsonPretty/components/TreeNode/index.vue +417 -0
  93. package/dist/v2/JsonPretty/hooks/useClipboard.d.ts +4 -0
  94. package/dist/v2/JsonPretty/hooks/useClipboard.d.ts.map +1 -0
  95. package/dist/v2/JsonPretty/hooks/useError.d.ts +8 -0
  96. package/dist/v2/JsonPretty/hooks/useError.d.ts.map +1 -0
  97. package/dist/v2/JsonPretty/index.vue +531 -0
  98. package/dist/v2/JsonPretty/type.d.ts +93 -0
  99. package/dist/v2/JsonPretty/type.d.ts.map +1 -0
  100. package/dist/v2/JsonPretty/utils/index.js +211 -0
  101. package/dist/v2/NetworkList/NetworkDetail.vue +215 -0
  102. package/dist/v2/NetworkList/NetworkItem.vue +135 -0
  103. package/dist/v2/NetworkList/index.vue +148 -0
  104. package/dist/v2/PiniaList/index.vue +79 -0
  105. package/dist/v2/RouteList/index.vue +137 -0
  106. package/dist/v2/SettingList/index.vue +318 -0
  107. package/dist/v2/SourceCode/index.vue +237 -0
  108. package/dist/v2/StorageList/index.vue +165 -0
  109. package/dist/v2/SystemInfo/index.vue +49 -0
  110. package/dist/v2/Tabs/index.vue +127 -0
  111. package/dist/v2/Tag/index.vue +91 -0
  112. package/dist/v2/UniEvent/UniEventItem.vue +157 -0
  113. package/dist/v2/UniEvent/index.vue +127 -0
  114. package/dist/v2/UploadList/UploadDetail.vue +204 -0
  115. package/dist/v2/UploadList/UploadItem.vue +134 -0
  116. package/dist/v2/UploadList/index.vue +143 -0
  117. package/dist/v2/VirtualList/index.vue +140 -0
  118. package/dist/v2/VirtualListPro/AutoSize.vue +50 -0
  119. package/dist/v2/VirtualListPro/index.vue +255 -0
  120. package/dist/v2/VuexList/index.vue +80 -0
  121. package/dist/v2/WebSocket/WebSocketItem.vue +129 -0
  122. package/dist/v2/WebSocket/WebSocketList.vue +183 -0
  123. package/dist/v2/WebSocket/index.vue +155 -0
  124. package/dist/v2/WindowInfo/index.vue +49 -0
  125. package/{dev/components → dist/v3}/AppInfo/index.vue +0 -1
  126. package/dist/v3/AutoSizer/utils.d.ts +5 -0
  127. package/dist/v3/AutoSizer/utils.d.ts.map +1 -0
  128. package/dist/v3/AutoSizer/utils.ts +49 -0
  129. package/{dev/components → dist/v3}/CloseButton/index.vue +5 -2
  130. package/{dev/components → dist/v3}/ConsoleList/ConsoleItem.vue +10 -9
  131. package/{dev/components → dist/v3}/ConsoleList/RunJSInput.vue +5 -2
  132. package/dist/v3/ConsoleList/staticTips.d.ts +13 -0
  133. package/dist/v3/ConsoleList/staticTips.d.ts.map +1 -0
  134. package/{dev/components → dist/v3}/DevTool/index.vue +33 -4
  135. package/{dev/components → dist/v3}/DevToolWindow/index.vue +67 -4
  136. package/dist/v3/Empty/empty.png +0 -0
  137. package/{dev/components → dist/v3}/FilterInput/index.vue +5 -4
  138. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts +4 -0
  139. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts.map +1 -0
  140. package/dist/v3/JsonPretty/hooks/useClipboard.ts +21 -0
  141. package/dist/v3/JsonPretty/hooks/useError.d.ts +8 -0
  142. package/dist/v3/JsonPretty/hooks/useError.d.ts.map +1 -0
  143. package/dist/v3/JsonPretty/hooks/useError.ts +21 -0
  144. package/{dev/components → dist/v3}/JsonPretty/index.vue +10 -10
  145. package/dist/v3/JsonPretty/type.d.ts +93 -0
  146. package/dist/v3/JsonPretty/type.d.ts.map +1 -0
  147. package/dist/v3/JsonPretty/type.ts +125 -0
  148. package/dist/v3/JsonPretty/utils/index.d.ts +10 -0
  149. package/dist/v3/JsonPretty/utils/index.d.ts.map +1 -0
  150. package/{dev/components → dist/v3}/NetworkList/NetworkDetail.vue +2 -2
  151. package/{dev/components → dist/v3}/NetworkList/NetworkItem.vue +2 -1
  152. package/dist/v3/RunJS/index.vue +128 -0
  153. package/{dev/components → dist/v3}/SettingList/index.vue +128 -37
  154. package/{dev/components → dist/v3}/SourceCode/index.vue +2 -2
  155. package/{dev/components → dist/v3}/Tag/index.vue +4 -4
  156. package/{dev/components → dist/v3}/UploadList/UploadDetail.vue +3 -15
  157. package/{dev/components → dist/v3}/UploadList/UploadItem.vue +1 -1
  158. package/dist/v3/VirtualListPro/readme.md +40 -0
  159. package/{dev/components → dist/v3}/WebSocket/WebSocketItem.vue +1 -1
  160. package/{dev/components → dist/v3}/WebSocket/WebSocketList.vue +3 -15
  161. package/package.json +5 -5
  162. package/dev/components/Button/index.vue +0 -34
  163. package/dev/components/Checkbox/index.vue +0 -40
  164. package/dev/components/Code/index.vue +0 -230
  165. package/dev/components/ConsoleList/Code.vue +0 -227
  166. package/dev/const.ts +0 -164
  167. package/dev/core.ts +0 -118
  168. package/dev/devConsole/index.ts +0 -350
  169. package/dev/devEvent/index.ts +0 -810
  170. package/dev/devEventBus/index.ts +0 -94
  171. package/dev/devIntercept/index.ts +0 -745
  172. package/dev/devRunJS/index.ts +0 -170
  173. package/dev/devStore/index.ts +0 -732
  174. package/dev/devToolInfo/index.ts +0 -26
  175. package/dev/plugins/uniDevTool/uniDevTool.d.ts.map +0 -1
  176. package/dev/plugins/uniDevTool/uniDevTool.js +0 -36
  177. package/dev/plugins/utils/index.js +0 -1
  178. package/dev/shims-uni.d.ts +0 -43
  179. package/dev/type.ts +0 -291
  180. package/dev/utils/array.ts +0 -15
  181. package/dev/utils/date.ts +0 -75
  182. package/dev/utils/file.ts +0 -121
  183. package/dev/utils/function.ts +0 -192
  184. package/dev/utils/index.d.ts +0 -6
  185. package/dev/utils/index.ts +0 -51
  186. package/dev/utils/ip.ts +0 -79
  187. package/dev/utils/language.ts +0 -77
  188. package/dev/utils/object.ts +0 -306
  189. package/dev/utils/page.ts +0 -13
  190. package/dev/utils/platform.ts +0 -14
  191. package/dev/utils/string.ts +0 -133
  192. package/dev/utils/utils.ts +0 -198
  193. /package/{dev → dist}/index.d.ts +0 -0
  194. /package/{dev → dist}/index.d.ts.map +0 -0
  195. /package/{dev → dist}/index.js +0 -0
  196. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.d.ts +0 -0
  197. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.d.ts.map +0 -0
  198. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.js +0 -0
  199. /package/{dev/components → dist/v2}/AutoSizer/utils.ts +0 -0
  200. /package/{dev/components → dist/v2}/Empty/empty.png +0 -0
  201. /package/{dev/components → dist/v2}/JsonPretty/hooks/useClipboard.ts +0 -0
  202. /package/{dev/components → dist/v2}/JsonPretty/hooks/useError.ts +0 -0
  203. /package/{dev/components → dist/v2}/JsonPretty/type.ts +0 -0
  204. /package/{dev/components → dist/v2}/RunJS/index.vue +0 -0
  205. /package/{dev/components → dist/v2}/VirtualListPro/readme.md +0 -0
  206. /package/{dev/components → dist/v3}/AutoSizer/index.vue +0 -0
  207. /package/{dev/components → dist/v3}/AutoSizer/index1.vue +0 -0
  208. /package/{dev/components → dist/v3}/CaptureScreen/index.vue +0 -0
  209. /package/{dev/components → dist/v3}/Connection/index.vue +0 -0
  210. /package/{dev/components → dist/v3}/ConsoleList/index.vue +0 -0
  211. /package/{dev/components → dist/v3}/ConsoleList/staticTips.ts +0 -0
  212. /package/{dev/components → dist/v3}/DevToolButton/index.vue +0 -0
  213. /package/{dev/components → dist/v3}/DevToolTitle/index.vue +0 -0
  214. /package/{dev/components → dist/v3}/DeviceInfo/index.vue +0 -0
  215. /package/{dev/components → dist/v3}/Empty/index.vue +0 -0
  216. /package/{dev/components → dist/v3}/JsonPretty/components/Brackets/index.vue +0 -0
  217. /package/{dev/components → dist/v3}/JsonPretty/components/Carets/index.vue +0 -0
  218. /package/{dev/components → dist/v3}/JsonPretty/components/CheckController/index.vue +0 -0
  219. /package/{dev/components → dist/v3}/JsonPretty/components/TreeNode/index.vue +0 -0
  220. /package/{dev/components → dist/v3}/JsonPretty/utils/index.ts +0 -0
  221. /package/{dev/components → dist/v3}/NetworkList/index.vue +0 -0
  222. /package/{dev/components → dist/v3}/PiniaList/index.vue +0 -0
  223. /package/{dev/components → dist/v3}/RouteList/index.vue +0 -0
  224. /package/{dev/components → dist/v3}/StorageList/index.vue +0 -0
  225. /package/{dev/components → dist/v3}/SystemInfo/index.vue +0 -0
  226. /package/{dev/components → dist/v3}/Tabs/index.vue +0 -0
  227. /package/{dev/components → dist/v3}/UniEvent/UniEventItem.vue +0 -0
  228. /package/{dev/components → dist/v3}/UniEvent/index.vue +0 -0
  229. /package/{dev/components → dist/v3}/UploadList/index.vue +0 -0
  230. /package/{dev/components → dist/v3}/VirtualList/index.vue +0 -0
  231. /package/{dev/components → dist/v3}/VirtualListPro/AutoSize.vue +0 -0
  232. /package/{dev/components → dist/v3}/VirtualListPro/index.vue +0 -0
  233. /package/{dev/components → dist/v3}/VuexList/index.vue +0 -0
  234. /package/{dev/components → dist/v3}/WebSocket/index.vue +0 -0
  235. /package/{dev/components → dist/v3}/WindowInfo/index.vue +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
- }