oxy-uni-ui 2.1.1 → 2.1.3

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 (434) hide show
  1. package/attributes.json +1 -1
  2. package/components/common/AbortablePromise.ts +4 -0
  3. package/components/common/abstracts/variable.scss +185 -68
  4. package/components/common/base64.ts +6 -0
  5. package/components/common/clickoutside.ts +5 -0
  6. package/components/common/interceptor.ts +9 -0
  7. package/components/common/path.ts +4 -0
  8. package/components/common/props.ts +23 -0
  9. package/components/common/util.ts +18 -1
  10. package/components/composables/index.ts +2 -0
  11. package/components/composables/useCell.ts +8 -1
  12. package/components/composables/useChildren.ts +27 -1
  13. package/components/composables/useCountDown.ts +10 -1
  14. package/components/composables/useDynamicVirtualScroll.ts +9 -0
  15. package/components/composables/useGlobalLoading.ts +6 -0
  16. package/components/composables/useGlobalMessage.ts +6 -0
  17. package/components/composables/useGlobalToast.ts +6 -0
  18. package/components/composables/useLockScroll.ts +9 -0
  19. package/components/composables/useParent.ts +65 -14
  20. package/components/composables/usePopover.ts +9 -0
  21. package/components/composables/useQueue.ts +8 -0
  22. package/components/composables/useRaf.ts +10 -0
  23. package/components/composables/useSharedState.ts +284 -0
  24. package/components/composables/useTouch.ts +8 -0
  25. package/components/composables/useTranslate.ts +9 -0
  26. package/components/composables/useUpload.ts +83 -11
  27. package/components/composables/useVirtualScroll.ts +7 -0
  28. package/components/composables/useWindowResize.ts +9 -0
  29. package/components/oxy-action-sheet/index.scss +5 -5
  30. package/components/oxy-action-sheet/oxy-action-sheet.vue +11 -0
  31. package/components/oxy-backtop/index.scss +2 -2
  32. package/components/oxy-backtop/oxy-backtop.vue +2 -0
  33. package/components/oxy-badge/oxy-badge.vue +2 -0
  34. package/components/oxy-badge/types.ts +3 -0
  35. package/components/oxy-button/index.scss +13 -13
  36. package/components/oxy-button/oxy-button.vue +11 -0
  37. package/components/oxy-button/types.ts +3 -3
  38. package/components/oxy-calendar/index.scss +17 -17
  39. package/components/oxy-calendar/oxy-calendar.vue +31 -0
  40. package/components/oxy-calendar/types.ts +3 -0
  41. package/components/oxy-calendar-view/month/month.vue +2 -0
  42. package/components/oxy-calendar-view/monthPanel/month-panel.vue +3 -1
  43. package/components/oxy-calendar-view/monthPanel/types.ts +10 -7
  44. package/components/oxy-calendar-view/oxy-calendar-view.vue +2 -0
  45. package/components/oxy-calendar-view/types.ts +3 -1
  46. package/components/oxy-calendar-view/year/types.ts +33 -1
  47. package/components/oxy-calendar-view/year/year.vue +2 -0
  48. package/components/oxy-calendar-view/yearPanel/year-panel.vue +2 -0
  49. package/components/oxy-card/index.scss +1 -1
  50. package/components/oxy-card/oxy-card.vue +2 -0
  51. package/components/oxy-cell/index.scss +3 -1
  52. package/components/oxy-cell/oxy-cell.vue +6 -4
  53. package/components/oxy-cell-group/oxy-cell-group.vue +2 -0
  54. package/components/oxy-checkbox/index.scss +41 -6
  55. package/components/oxy-checkbox/oxy-checkbox.vue +22 -16
  56. package/components/oxy-checkbox/types.ts +9 -0
  57. package/components/oxy-checkbox-group/index.scss +1 -1
  58. package/components/oxy-checkbox-group/oxy-checkbox-group.vue +2 -0
  59. package/components/oxy-circle/oxy-circle.vue +2 -0
  60. package/components/oxy-col/oxy-col.vue +3 -1
  61. package/components/oxy-col-picker/index.scss +3 -3
  62. package/components/oxy-col-picker/oxy-col-picker.vue +17 -1
  63. package/components/oxy-col-picker/types.ts +3 -0
  64. package/components/oxy-collapse/index.scss +2 -2
  65. package/components/oxy-collapse/oxy-collapse.vue +9 -0
  66. package/components/oxy-collapse-item/oxy-collapse-item.vue +4 -2
  67. package/components/oxy-config-provider/oxy-config-provider.vue +18 -0
  68. package/components/oxy-config-provider/types.ts +18 -0
  69. package/components/oxy-corner/index.scss +50 -32
  70. package/components/oxy-corner/oxy-corner.vue +2 -0
  71. package/components/oxy-count-down/oxy-count-down.vue +2 -0
  72. package/components/oxy-count-to/oxy-count-to.vue +12 -1
  73. package/components/oxy-count-to/types.ts +14 -4
  74. package/components/oxy-curtain/index.scss +10 -9
  75. package/components/oxy-curtain/oxy-curtain.vue +2 -0
  76. package/components/oxy-date-strip/oxy-date-strip.vue +22 -1
  77. package/components/oxy-date-strip-item/index.scss +4 -4
  78. package/components/oxy-date-strip-item/oxy-date-strip-item.vue +2 -0
  79. package/components/oxy-datetime-picker/index.scss +3 -3
  80. package/components/oxy-datetime-picker/oxy-datetime-picker.vue +11 -1
  81. package/components/oxy-datetime-picker-view/oxy-datetime-picker-view.vue +2 -0
  82. package/components/oxy-divider/oxy-divider.vue +2 -0
  83. package/components/oxy-drop-menu/index.scss +2 -2
  84. package/components/oxy-drop-menu/oxy-drop-menu.vue +3 -0
  85. package/components/oxy-drop-menu-item/index.scss +1 -1
  86. package/components/oxy-drop-menu-item/oxy-drop-menu-item.vue +17 -9
  87. package/components/oxy-echarts/oxy-echarts.vue +2 -0
  88. package/components/oxy-fab/index.scss +1 -1
  89. package/components/oxy-fab/oxy-fab.vue +27 -0
  90. package/components/oxy-file-list/index.scss +9 -9
  91. package/components/oxy-file-list/oxy-file-list.vue +29 -17
  92. package/components/oxy-floating-panel/oxy-floating-panel.vue +34 -10
  93. package/components/oxy-footer/index.scss +7 -0
  94. package/components/oxy-footer/oxy-footer.vue +4 -2
  95. package/components/oxy-footer/types.ts +9 -6
  96. package/components/oxy-form/oxy-form.vue +13 -1
  97. package/components/oxy-form-item/oxy-form-item.vue +5 -3
  98. package/components/oxy-gap/oxy-gap.vue +2 -0
  99. package/components/oxy-global-loading/oxy-global-loading.vue +18 -5
  100. package/components/oxy-global-message/oxy-global-message.vue +30 -17
  101. package/components/oxy-global-toast/oxy-global-toast.vue +18 -5
  102. package/components/oxy-grid/oxy-grid.vue +6 -0
  103. package/components/oxy-grid-item/index.scss +1 -1
  104. package/components/oxy-grid-item/oxy-grid-item.vue +22 -20
  105. package/components/oxy-guidance/index.scss +9 -9
  106. package/components/oxy-guidance/oxy-guidance.vue +22 -16
  107. package/components/oxy-icon/oxy-icon.vue +2 -0
  108. package/components/oxy-icon/types.ts +3 -0
  109. package/components/oxy-image-preview/index.scss +75 -0
  110. package/components/oxy-image-preview/index.ts +56 -0
  111. package/components/oxy-image-preview/oxy-image-preview.vue +221 -0
  112. package/components/oxy-image-preview/types.ts +164 -0
  113. package/components/oxy-img/oxy-img.vue +2 -0
  114. package/components/oxy-img-cropper/index.scss +2 -2
  115. package/components/oxy-img-cropper/oxy-img-cropper.vue +6 -0
  116. package/components/oxy-img-lazy/oxy-img-lazy.vue +9 -0
  117. package/components/oxy-index-anchor/index.scss +1 -1
  118. package/components/oxy-index-anchor/oxy-index-anchor.vue +2 -2
  119. package/components/oxy-index-bar/index.scss +1 -1
  120. package/components/oxy-index-bar/oxy-index-bar.vue +18 -0
  121. package/components/oxy-input/index.scss +2 -1
  122. package/components/oxy-input/oxy-input.vue +18 -4
  123. package/components/oxy-input/types.ts +6 -0
  124. package/components/oxy-input-number/index.scss +3 -1
  125. package/components/oxy-input-number/oxy-input-number.vue +2 -0
  126. package/components/oxy-keyboard/index.scss +3 -3
  127. package/components/oxy-keyboard/key/index.vue +2 -0
  128. package/components/oxy-keyboard/oxy-keyboard.vue +11 -2
  129. package/components/oxy-link/index.scss +8 -4
  130. package/components/oxy-link/oxy-link.vue +9 -3
  131. package/components/oxy-link/types.ts +2 -2
  132. package/components/oxy-list/oxy-list.vue +2 -0
  133. package/components/oxy-list/types.ts +7 -0
  134. package/components/oxy-loading/oxy-loading.vue +6 -0
  135. package/components/oxy-loadmore/index.scss +1 -1
  136. package/components/oxy-loadmore/oxy-loadmore.vue +2 -0
  137. package/components/oxy-long-press-menu/index.scss +1 -1
  138. package/components/oxy-long-press-menu/oxy-long-press-menu.vue +42 -13
  139. package/components/oxy-message-box/index.scss +223 -36
  140. package/components/oxy-message-box/index.ts +49 -23
  141. package/components/oxy-message-box/oxy-message-box.vue +181 -56
  142. package/components/oxy-message-box/types.ts +60 -2
  143. package/components/oxy-navbar/index.scss +1 -1
  144. package/components/oxy-navbar/oxy-navbar.vue +9 -6
  145. package/components/oxy-navbar-capsule/oxy-navbar-capsule.vue +2 -0
  146. package/components/oxy-notice-bar/index.scss +1 -1
  147. package/components/oxy-notice-bar/oxy-notice-bar.vue +29 -0
  148. package/components/oxy-notify/index.ts +16 -12
  149. package/components/oxy-notify/oxy-notify.vue +11 -4
  150. package/components/oxy-overlay/oxy-overlay.vue +34 -2
  151. package/components/oxy-pagination/oxy-pagination.vue +2 -0
  152. package/components/oxy-password-input/oxy-password-input.vue +2 -0
  153. package/components/oxy-picker/index.scss +7 -7
  154. package/components/oxy-picker/oxy-picker.vue +11 -0
  155. package/components/oxy-picker-view/index.scss +1 -1
  156. package/components/oxy-picker-view/oxy-picker-view.vue +2 -0
  157. package/components/oxy-popover/index.scss +2 -2
  158. package/components/oxy-popover/oxy-popover.vue +4 -1
  159. package/components/oxy-popup/oxy-popup.vue +8 -0
  160. package/components/oxy-progress/index.scss +2 -2
  161. package/components/oxy-progress/oxy-progress.vue +7 -0
  162. package/components/oxy-qrcode/draw.ts +15 -1
  163. package/components/oxy-qrcode/oxy-qrcode.vue +10 -3
  164. package/components/oxy-radio/index.scss +8 -8
  165. package/components/oxy-radio/oxy-radio.vue +13 -11
  166. package/components/oxy-radio-group/index.scss +1 -1
  167. package/components/oxy-radio-group/oxy-radio-group.vue +2 -0
  168. package/components/oxy-rate/oxy-rate.vue +5 -0
  169. package/components/oxy-rate/types.ts +2 -2
  170. package/components/oxy-resize/oxy-resize.vue +12 -0
  171. package/components/oxy-rich-text/index.scss +9 -9
  172. package/components/oxy-rich-text/oxy-rich-text.vue +6 -0
  173. package/components/oxy-rich-text/types.ts +15 -0
  174. package/components/oxy-root-portal/oxy-root-portal.vue +23 -15
  175. package/components/oxy-row/oxy-row.vue +2 -0
  176. package/components/oxy-search/index.scss +3 -3
  177. package/components/oxy-search/oxy-search.vue +19 -0
  178. package/components/oxy-segmented/index.scss +4 -4
  179. package/components/oxy-segmented/oxy-segmented.vue +2 -0
  180. package/components/oxy-select/index.scss +25 -25
  181. package/components/oxy-select/oxy-select.vue +27 -0
  182. package/components/oxy-select/types.ts +3 -0
  183. package/components/oxy-select-picker/index.scss +5 -5
  184. package/components/oxy-select-picker/oxy-select-picker.vue +7 -0
  185. package/components/oxy-sidebar/oxy-sidebar.vue +2 -0
  186. package/components/oxy-sidebar-item/index.scss +3 -3
  187. package/components/oxy-sidebar-item/oxy-sidebar-item.vue +17 -31
  188. package/components/oxy-signature/oxy-signature.vue +17 -0
  189. package/components/oxy-skeleton/oxy-skeleton.vue +7 -1
  190. package/components/oxy-slide-verify/index.scss +95 -0
  191. package/components/oxy-slide-verify/oxy-slide-verify.vue +244 -0
  192. package/components/oxy-slide-verify/types.ts +98 -0
  193. package/components/oxy-slider/oxy-slider.vue +3 -0
  194. package/components/oxy-sort-button/index.scss +6 -5
  195. package/components/oxy-sort-button/oxy-sort-button.vue +6 -0
  196. package/components/oxy-splitter/index.scss +9 -0
  197. package/components/oxy-splitter/oxy-splitter.vue +23 -2
  198. package/components/oxy-splitter-panel/index.scss +7 -5
  199. package/components/oxy-splitter-panel/oxy-splitter-panel.vue +93 -89
  200. package/components/oxy-status-tip/index.scss +3 -3
  201. package/components/oxy-status-tip/oxy-status-tip.vue +2 -0
  202. package/components/oxy-step/index.scss +4 -4
  203. package/components/oxy-step/oxy-step.vue +15 -13
  204. package/components/oxy-steps/oxy-steps.vue +2 -0
  205. package/components/oxy-sticky/oxy-sticky.vue +5 -3
  206. package/components/oxy-stream-render/oxy-stream-render.vue +29 -0
  207. package/components/oxy-swipe-action/oxy-swipe-action.vue +8 -0
  208. package/components/oxy-swiper/oxy-swiper.vue +6 -0
  209. package/components/oxy-swiper-nav/index.scss +4 -4
  210. package/components/oxy-switch/index.scss +6 -3
  211. package/components/oxy-switch/oxy-switch.vue +10 -0
  212. package/components/oxy-tab/index.scss +1 -7
  213. package/components/oxy-tab/oxy-tab.vue +12 -10
  214. package/components/oxy-tabbar/oxy-tabbar.vue +5 -0
  215. package/components/oxy-tabbar-item/oxy-tabbar-item.vue +11 -9
  216. package/components/oxy-table/index.scss +1 -1
  217. package/components/oxy-table/oxy-table.vue +8 -0
  218. package/components/oxy-table/types.ts +3 -0
  219. package/components/oxy-table-col/oxy-table-col.vue +21 -19
  220. package/components/oxy-tabs/index.scss +11 -11
  221. package/components/oxy-tabs/oxy-tabs.vue +17 -0
  222. package/components/oxy-tag/index.scss +176 -17
  223. package/components/oxy-tag/oxy-tag.vue +29 -2
  224. package/components/oxy-tag/types.ts +16 -0
  225. package/components/oxy-text/oxy-text.vue +12 -1
  226. package/components/oxy-textarea/index.scss +3 -2
  227. package/components/oxy-textarea/oxy-textarea.vue +10 -4
  228. package/components/oxy-toast/index.ts +21 -20
  229. package/components/oxy-toast/oxy-toast.vue +30 -5
  230. package/components/oxy-toast/types.ts +20 -9
  231. package/components/oxy-tooltip/index.scss +1 -1
  232. package/components/oxy-tooltip/oxy-tooltip.vue +2 -0
  233. package/components/oxy-transition/index.scss +3 -1
  234. package/components/oxy-transition/oxy-transition.vue +14 -0
  235. package/components/oxy-tree/index.scss +3 -3
  236. package/components/oxy-tree/oxy-tree.vue +28 -5
  237. package/components/oxy-tree/types.ts +57 -1
  238. package/components/oxy-upload/index.scss +9 -9
  239. package/components/oxy-upload/oxy-upload.vue +5 -3
  240. package/components/oxy-verification-code/oxy-verification-code.vue +24 -0
  241. package/components/oxy-video-preview/index.scss +12 -7
  242. package/components/oxy-video-preview/index.ts +64 -0
  243. package/components/oxy-video-preview/oxy-video-preview.vue +102 -31
  244. package/components/oxy-video-preview/types.ts +54 -8
  245. package/components/oxy-virtual-scroll/index.scss +1 -1
  246. package/components/oxy-virtual-scroll/oxy-virtual-scroll.vue +2 -0
  247. package/components/oxy-voice-player/index.scss +64 -64
  248. package/components/oxy-voice-player/oxy-voice-player.vue +38 -10
  249. package/components/oxy-waterfall/oxy-waterfall.vue +13 -0
  250. package/components/oxy-waterfall/types.ts +7 -0
  251. package/components/oxy-waterfall-item/oxy-waterfall-item.vue +9 -0
  252. package/components/oxy-watermark/oxy-watermark.vue +2 -0
  253. package/dev-tools.ts +2 -0
  254. package/devTools/components/DevToolsOverlay.vue +56 -0
  255. package/devTools/components/DevToolsUiHost.vue +589 -0
  256. package/devTools/config.js +55 -0
  257. package/devTools/core/components/mpDevBubble.vue +174 -0
  258. package/devTools/core/libs/createH5Bubble.js +156 -0
  259. package/devTools/core/libs/devCache.js +151 -0
  260. package/devTools/core/libs/devOptions.js +163 -0
  261. package/devTools/core/libs/devUi.js +219 -0
  262. package/devTools/core/libs/drawView.js +140 -0
  263. package/devTools/core/libs/errorReport.js +64 -0
  264. package/devTools/core/libs/jsonCompress.js +334 -0
  265. package/devTools/core/libs/logReport.js +59 -0
  266. package/devTools/core/libs/pageLinkList.js +125 -0
  267. package/devTools/core/libs/timeFormat.js +94 -0
  268. package/devTools/core/proxy/console.js +430 -0
  269. package/devTools/core/proxy/index.js +36 -0
  270. package/devTools/core/proxy/request.js +495 -0
  271. package/devTools/core/proxy/storage.js +113 -0
  272. package/devTools/core/proxy/uniBus.js +153 -0
  273. package/devTools/core/proxy/uniListen.js +192 -0
  274. package/devTools/core/proxy/vueMixin.js +120 -0
  275. package/devTools/index.js +168 -0
  276. package/devTools/page/components/bottomTools.vue +1046 -0
  277. package/devTools/page/components/dialog/addStorage.vue +204 -0
  278. package/devTools/page/components/dialog/createDir.vue +366 -0
  279. package/devTools/page/components/dialog/editDialog.vue +192 -0
  280. package/devTools/page/components/dialog/routeDialog.vue +184 -0
  281. package/devTools/page/components/dialog/sendRequest.vue +603 -0
  282. package/devTools/page/components/dialog/textFileEditDialog.vue +391 -0
  283. package/devTools/page/components/libs/appDelDir.js +86 -0
  284. package/devTools/page/components/libs/dirReader.js +248 -0
  285. package/devTools/page/components/libs/fileSize.js +15 -0
  286. package/devTools/page/components/libs/getRuntimeInfo.js +134 -0
  287. package/devTools/page/components/listItem/consoleItem.vue +314 -0
  288. package/devTools/page/components/listItem/errorItem.vue +292 -0
  289. package/devTools/page/components/listItem/fileSysItem.vue +533 -0
  290. package/devTools/page/components/listItem/infoList.vue +100 -0
  291. package/devTools/page/components/listItem/jsRunnerItem.vue +255 -0
  292. package/devTools/page/components/listItem/logItem.vue +193 -0
  293. package/devTools/page/components/listItem/networkItem.vue +398 -0
  294. package/devTools/page/components/listItem/objectAnalysis.vue +651 -0
  295. package/devTools/page/components/listItem/pages.vue +319 -0
  296. package/devTools/page/components/listItem/routeItem.vue +153 -0
  297. package/devTools/page/components/listItem/setting.vue +734 -0
  298. package/devTools/page/components/listItem/storageList.vue +681 -0
  299. package/devTools/page/components/listItem/tools.vue +315 -0
  300. package/devTools/page/components/listItem/vuexList.vue +599 -0
  301. package/devTools/page/components/main.vue +1867 -0
  302. package/devTools/page/components/mixins/animationControl.js +91 -0
  303. package/devTools/page/components/mixins/mp.js +83 -0
  304. package/devTools/page/components/ui/btnTabs.vue +90 -0
  305. package/devTools/page/components/ui/codeHisPicker.vue +172 -0
  306. package/devTools/page/components/ui/h5Cell.vue +13 -0
  307. package/devTools/page/components/ui/menuBtn.vue +94 -0
  308. package/devTools/page/components/ui/mobileSwiperScroll.vue +74 -0
  309. package/devTools/page/components/ui/requestSpeedLimit.vue +52 -0
  310. package/devTools/page/components/ui/requestTimeoutMock.vue +55 -0
  311. package/devTools/page/components/ui/subTitleBar.vue +101 -0
  312. package/devTools/page/static/copy.png +0 -0
  313. package/devTools/page/static/delete.png +0 -0
  314. package/devTools/page/static/fileSys/AI.png +0 -0
  315. package/devTools/page/static/fileSys/DWG.png +0 -0
  316. package/devTools/page/static/fileSys/EXE.png +0 -0
  317. package/devTools/page/static/fileSys/GIF.png +0 -0
  318. package/devTools/page/static/fileSys/HTML.png +0 -0
  319. package/devTools/page/static/fileSys/PSD.png +0 -0
  320. package/devTools/page/static/fileSys/RVT.png +0 -0
  321. package/devTools/page/static/fileSys/SKP.png +0 -0
  322. package/devTools/page/static/fileSys/SVG.png +0 -0
  323. package/devTools/page/static/fileSys/excel.png +0 -0
  324. package/devTools/page/static/fileSys/pdf.png +0 -0
  325. package/devTools/page/static/fileSys/pptl.png +0 -0
  326. package/devTools/page/static/fileSys/shipin.png +0 -0
  327. package/devTools/page/static/fileSys/tupian.png +0 -0
  328. package/devTools/page/static/fileSys/txt.png +0 -0
  329. package/devTools/page/static/fileSys/weizhiwenjian.png +0 -0
  330. package/devTools/page/static/fileSys/wenjianjia.png +0 -0
  331. package/devTools/page/static/fileSys/word.png +0 -0
  332. package/devTools/page/static/fileSys/yasuo.png +0 -0
  333. package/devTools/page/static/fileSys/yinpin.png +0 -0
  334. package/devTools/page/static/fold.png +0 -0
  335. package/devTools/page/static/menu.png +0 -0
  336. package/devTools/page/static/refresh.png +0 -0
  337. package/devTools/page/static/unfold.png +0 -0
  338. package/devTools/tools.vue +25 -0
  339. package/devTools/type/devTools.d.ts +406 -0
  340. package/global.d.ts +2 -0
  341. package/index.ts +2 -0
  342. package/locale/lang/en-US.ts +51 -2
  343. package/locale/lang/zh-CN.ts +51 -2
  344. package/oxy-dev-tools/components/DevToolsUiHost.vue +555 -0
  345. package/oxy-dev-tools/config.js +61 -0
  346. package/oxy-dev-tools/core/components/mpDevBubble.vue +176 -0
  347. package/oxy-dev-tools/core/libs/createH5Bubble.js +156 -0
  348. package/oxy-dev-tools/core/libs/devCache.js +149 -0
  349. package/oxy-dev-tools/core/libs/devOptions.js +160 -0
  350. package/oxy-dev-tools/core/libs/devUi.js +219 -0
  351. package/oxy-dev-tools/core/libs/drawView.js +144 -0
  352. package/oxy-dev-tools/core/libs/errorReport.js +60 -0
  353. package/oxy-dev-tools/core/libs/jsonCompress.js +328 -0
  354. package/oxy-dev-tools/core/libs/logReport.js +55 -0
  355. package/oxy-dev-tools/core/libs/pageLinkList.js +121 -0
  356. package/oxy-dev-tools/core/libs/timeFormat.js +93 -0
  357. package/oxy-dev-tools/core/proxy/console.js +398 -0
  358. package/oxy-dev-tools/core/proxy/index.js +33 -0
  359. package/oxy-dev-tools/core/proxy/request.js +473 -0
  360. package/oxy-dev-tools/core/proxy/storage.js +96 -0
  361. package/oxy-dev-tools/core/proxy/uniBus.js +148 -0
  362. package/oxy-dev-tools/core/proxy/uniListen.js +190 -0
  363. package/oxy-dev-tools/core/proxy/vueMixin.js +115 -0
  364. package/oxy-dev-tools/index.ts +183 -0
  365. package/oxy-dev-tools/oxy-dev-tools.vue +62 -0
  366. package/oxy-dev-tools/page/components/bottomTools.vue +933 -0
  367. package/oxy-dev-tools/page/components/dialog/addStorage.vue +184 -0
  368. package/oxy-dev-tools/page/components/dialog/createDir.vue +352 -0
  369. package/oxy-dev-tools/page/components/dialog/editDialog.vue +178 -0
  370. package/oxy-dev-tools/page/components/dialog/routeDialog.vue +170 -0
  371. package/oxy-dev-tools/page/components/dialog/sendRequest.vue +530 -0
  372. package/oxy-dev-tools/page/components/dialog/textFileEditDialog.vue +379 -0
  373. package/oxy-dev-tools/page/components/libs/appDelDir.js +77 -0
  374. package/oxy-dev-tools/page/components/libs/dirReader.js +239 -0
  375. package/oxy-dev-tools/page/components/libs/fileSize.js +15 -0
  376. package/oxy-dev-tools/page/components/libs/getRuntimeInfo.js +132 -0
  377. package/oxy-dev-tools/page/components/listItem/consoleItem.vue +292 -0
  378. package/oxy-dev-tools/page/components/listItem/errorItem.vue +268 -0
  379. package/oxy-dev-tools/page/components/listItem/fileSysItem.vue +511 -0
  380. package/oxy-dev-tools/page/components/listItem/infoList.vue +89 -0
  381. package/oxy-dev-tools/page/components/listItem/jsRunnerItem.vue +236 -0
  382. package/oxy-dev-tools/page/components/listItem/logItem.vue +185 -0
  383. package/oxy-dev-tools/page/components/listItem/networkItem.vue +362 -0
  384. package/oxy-dev-tools/page/components/listItem/objectAnalysis.vue +642 -0
  385. package/oxy-dev-tools/page/components/listItem/pages.vue +285 -0
  386. package/oxy-dev-tools/page/components/listItem/routeItem.vue +140 -0
  387. package/oxy-dev-tools/page/components/listItem/setting.vue +687 -0
  388. package/oxy-dev-tools/page/components/listItem/storageList.vue +623 -0
  389. package/oxy-dev-tools/page/components/listItem/tools.vue +273 -0
  390. package/oxy-dev-tools/page/components/listItem/vuexList.vue +559 -0
  391. package/oxy-dev-tools/page/components/main.vue +1824 -0
  392. package/oxy-dev-tools/page/components/mixins/animationControl.js +80 -0
  393. package/oxy-dev-tools/page/components/mixins/mp.js +76 -0
  394. package/oxy-dev-tools/page/components/ui/btnTabs.vue +77 -0
  395. package/oxy-dev-tools/page/components/ui/codeHisPicker.vue +161 -0
  396. package/oxy-dev-tools/page/components/ui/h5Cell.vue +13 -0
  397. package/oxy-dev-tools/page/components/ui/menuBtn.vue +87 -0
  398. package/oxy-dev-tools/page/components/ui/mobileSwiperScroll.vue +71 -0
  399. package/oxy-dev-tools/page/components/ui/requestSpeedLimit.vue +47 -0
  400. package/oxy-dev-tools/page/components/ui/requestTimeoutMock.vue +50 -0
  401. package/oxy-dev-tools/page/components/ui/subTitleBar.vue +87 -0
  402. package/oxy-dev-tools/page/static/copy.png +0 -0
  403. package/oxy-dev-tools/page/static/delete.png +0 -0
  404. package/oxy-dev-tools/page/static/fileSys/AI.png +0 -0
  405. package/oxy-dev-tools/page/static/fileSys/DWG.png +0 -0
  406. package/oxy-dev-tools/page/static/fileSys/EXE.png +0 -0
  407. package/oxy-dev-tools/page/static/fileSys/GIF.png +0 -0
  408. package/oxy-dev-tools/page/static/fileSys/HTML.png +0 -0
  409. package/oxy-dev-tools/page/static/fileSys/PSD.png +0 -0
  410. package/oxy-dev-tools/page/static/fileSys/RVT.png +0 -0
  411. package/oxy-dev-tools/page/static/fileSys/SKP.png +0 -0
  412. package/oxy-dev-tools/page/static/fileSys/SVG.png +0 -0
  413. package/oxy-dev-tools/page/static/fileSys/excel.png +0 -0
  414. package/oxy-dev-tools/page/static/fileSys/pdf.png +0 -0
  415. package/oxy-dev-tools/page/static/fileSys/pptl.png +0 -0
  416. package/oxy-dev-tools/page/static/fileSys/shipin.png +0 -0
  417. package/oxy-dev-tools/page/static/fileSys/tupian.png +0 -0
  418. package/oxy-dev-tools/page/static/fileSys/txt.png +0 -0
  419. package/oxy-dev-tools/page/static/fileSys/weizhiwenjian.png +0 -0
  420. package/oxy-dev-tools/page/static/fileSys/wenjianjia.png +0 -0
  421. package/oxy-dev-tools/page/static/fileSys/word.png +0 -0
  422. package/oxy-dev-tools/page/static/fileSys/yasuo.png +0 -0
  423. package/oxy-dev-tools/page/static/fileSys/yinpin.png +0 -0
  424. package/oxy-dev-tools/page/static/fold.png +0 -0
  425. package/oxy-dev-tools/page/static/menu.png +0 -0
  426. package/oxy-dev-tools/page/static/refresh.png +0 -0
  427. package/oxy-dev-tools/page/static/unfold.png +0 -0
  428. package/oxy-dev-tools/tools.vue +22 -0
  429. package/oxy-dev-tools/type/devTools.d.ts +406 -0
  430. package/package.json +2 -2
  431. package/styles/all.scss +125 -0
  432. package/tags.json +1 -1
  433. package/vite-plugins/vite-plugin-host-class.ts +166 -0
  434. package/web-types.json +1 -1
@@ -0,0 +1,55 @@
1
+ let config = {
2
+ status: true, //调试工具总开关
3
+ bubble: { //调试弹窗气泡设置
4
+ status: true, // 气泡标签是否显示,生产环境建议关闭
5
+ text: "DevTools", // 气泡上展示的文字
6
+ color: "#ffffff", // 气泡文字颜色
7
+ bgColor: "rgba(250, 53, 52,0.7)", // 气泡背景颜色
8
+ },
9
+
10
+ // 注意: 以下配置不建议更改
11
+ console: { //console日志配置
12
+ status: true, //功能总开关
13
+ isOutput: true, //打印的日志是否对外输出到浏览器调试界面,建议在生产环境时关闭
14
+ cache: {
15
+ status: true, //是否启用本地缓存
16
+ size: 512 * 1024, //缓存上限,单位byte
17
+ rowSize: 1024 * 4,//单条记录缓存上限,单位byte
18
+ },
19
+ },
20
+ uniBus: { // uni event bus 监听设置
21
+ status: true,
22
+ cache: {
23
+ status: true,
24
+ size: 1024 * 512, // bus调用日志上限 byte
25
+ rowSize: 1024 * 10,
26
+ countMaxSize: 1024 * 10, // bus统计上限 byte
27
+ },
28
+ },
29
+ error: { //报错拦截配置
30
+ status: true,
31
+ cache: {
32
+ status: true,
33
+ size: 512 * 1024,
34
+ rowSize: 1024 * 4,
35
+ },
36
+ },
37
+ network: { //请求拦截配置
38
+ status: true,
39
+ cache: {
40
+ status: true,
41
+ size: 512 * 1024,
42
+ rowSize: 1024 * 4,
43
+ },
44
+ },
45
+ logs: { //运行日志
46
+ status: true,
47
+ cache: {
48
+ status: true,
49
+ size: 512 * 1024,
50
+ rowSize: 1024 * 4,
51
+ },
52
+ },
53
+ };
54
+
55
+ export default config;
@@ -0,0 +1,174 @@
1
+ <template>
2
+ <view
3
+ v-if="isMp && options && options.status && options.bubble.status"
4
+ class="mpDevBubble"
5
+ :style="{
6
+ left: `${tagConfig.x}px`,
7
+ top: `${tagConfig.y}px`,
8
+ 'background-color': options.bubble.bgColor,
9
+ 'box-shadow': `0px 0px 6px ${options.bubble.bgColor}`,
10
+ }"
11
+ @touchstart.stop="touchstart"
12
+ @touchmove.stop="touchmove"
13
+ @touchend.stop="touchend"
14
+ @mousedown.stop="touchstart"
15
+ >
16
+ <text
17
+ class="mpDevBubbleText"
18
+ :style="{
19
+ color: options.bubble.color,
20
+ 'font-size': '20rpx',
21
+ }"
22
+ >
23
+ {{ options.bubble.text }}
24
+ </text>
25
+ </view>
26
+ </template>
27
+ <script>
28
+ import devOptions from "../libs/devOptions";
29
+ import { reactive } from 'vue'
30
+
31
+ let options = devOptions.getOptions();
32
+ let sysInfo = uni.getSystemInfoSync();
33
+ let tagConfig = uni.getStorageSync("devTools_tagConfig");
34
+ if (!tagConfig) {
35
+ tagConfig = {};
36
+ }
37
+
38
+ // #ifndef VUE3
39
+ tagConfig = Object.assign(
40
+ {
41
+ x: sysInfo.screenWidth - 150,
42
+ y: sysInfo.screenHeight - 240,
43
+ },
44
+ tagConfig
45
+ );
46
+ // #endif
47
+
48
+ // #ifdef VUE3
49
+ tagConfig = reactive(Object.assign(
50
+ {
51
+ x: sysInfo.screenWidth - 150,
52
+ y: sysInfo.screenHeight - 240,
53
+ },
54
+ tagConfig
55
+ ));
56
+ // #endif
57
+
58
+ // 拖动范围限制
59
+ let dragLimit = {
60
+ min: { x: 0, y: 0 },
61
+ max: {
62
+ x: sysInfo.screenWidth - 70,
63
+ y: sysInfo.screenHeight - 24,
64
+ },
65
+ };
66
+
67
+ tagConfig.x = Math.min(Math.max(tagConfig.x, dragLimit.min.x), dragLimit.max.x);
68
+ tagConfig.y = Math.min(Math.max(tagConfig.y, dragLimit.min.y), dragLimit.max.y);
69
+
70
+ let isTouch = false;
71
+ let touchStartPoint = {
72
+ clientX: 0,
73
+ clientY: 0,
74
+ tagX: tagConfig.x,
75
+ tagY: tagConfig.y,
76
+ hasMove: false,
77
+ };
78
+
79
+ let isMp = false;
80
+ // #ifdef MP
81
+ isMp = true;
82
+ // #endif
83
+
84
+ export default {
85
+ data() {
86
+ return {
87
+ isMp,
88
+ /**
89
+ * 标签参数
90
+ */
91
+ options,
92
+ /**
93
+ * 标签坐标信息配置
94
+ */
95
+ tagConfig,
96
+ };
97
+ },
98
+ mounted() {
99
+ // #ifdef H5
100
+ document.addEventListener("mousemove", this.touchmove)
101
+ document.addEventListener("mouseup", this.touchend)
102
+ // #endif
103
+ },
104
+ beforeUnmount() {
105
+ // #ifdef H5
106
+ document.removeEventListener("mousemove", this.touchmove)
107
+ document.addEventListener("mouseup", this.touchend)
108
+ // #endif
109
+ },
110
+ methods: {
111
+ touchstart(e) {
112
+ if (isTouch) return;
113
+ if (e.preventDefault) {
114
+ e.preventDefault();
115
+ }
116
+ let clientX = e.clientX ? e.clientX : e.touches[0].clientX;
117
+ let clientY = e.clientY ? e.clientY : e.touches[0].clientY;
118
+ touchStartPoint.clientX = clientX;
119
+ touchStartPoint.clientY = clientY;
120
+ touchStartPoint.tagX = tagConfig.x;
121
+ touchStartPoint.tagY = tagConfig.y;
122
+ touchStartPoint.hasMove = false;
123
+ isTouch = true;
124
+ },
125
+ touchmove(e) {
126
+ if (!isTouch) return;
127
+ if (e.preventDefault) {
128
+ e.preventDefault();
129
+ }
130
+ let clientX = e.clientX ? e.clientX : e.touches[0].clientX;
131
+ let clientY = e.clientY ? e.clientY : e.touches[0].clientY;
132
+ touchStartPoint.hasMove = true;
133
+ let offsetX = touchStartPoint.clientX - clientX;
134
+ let offsetY = touchStartPoint.clientY - clientY;
135
+ let tx = touchStartPoint.tagX - offsetX;
136
+ let ty = touchStartPoint.tagY - offsetY;
137
+ tx = Math.min(Math.max(tx, dragLimit.min.x), dragLimit.max.x);
138
+ ty = Math.min(Math.max(ty, dragLimit.min.y), dragLimit.max.y);
139
+ tagConfig.x = tx;
140
+ tagConfig.y = ty;
141
+ this.tagConfig.x = tx;
142
+ this.tagConfig.y = ty;
143
+ },
144
+ touchend(e) {
145
+ if (!isTouch) return;
146
+ if (e.preventDefault) {
147
+ e.preventDefault();
148
+ }
149
+ isTouch = false;
150
+ uni.setStorageSync("devTools_tagConfig", tagConfig);
151
+ if (!touchStartPoint.hasMove) {
152
+ this.$devTools.show();
153
+ }
154
+ },
155
+ },
156
+ };
157
+ </script>
158
+ <style lang="scss" scoped>
159
+ .mpDevBubble {
160
+ box-sizing: border-box;
161
+ position: fixed;
162
+ z-index: 9999999;
163
+ width: 70px;
164
+ height: 24px;
165
+ display: flex;
166
+ flex-direction: column;
167
+ align-items: center;
168
+ justify-content: center;
169
+ padding: 4px;
170
+ border-radius: 6px;
171
+ font-size: 10px;
172
+ cursor: grab;
173
+ }
174
+ </style>
@@ -0,0 +1,156 @@
1
+ /**
2
+ *! 创建h5页面上拖动的气泡标签
3
+ */
4
+ function createH5Bubble(options, devTools) {
5
+
6
+ let tagConfig = localStorage.getItem("devTools_tagConfig");
7
+ if (!tagConfig) {
8
+ tagConfig = {}
9
+ } else {
10
+ tagConfig = JSON.parse(tagConfig)
11
+ }
12
+
13
+ tagConfig = Object.assign({
14
+ show: options.bubble.status,
15
+ x: window.innerWidth - 90,
16
+ y: window.innerHeight - 90,
17
+ }, tagConfig);
18
+
19
+ tagConfig.show = options.bubble.status;
20
+
21
+ // 拖动范围限制
22
+ let dragLimit = {
23
+ min: { x: 0, y: 0, },
24
+ max: {
25
+ x: window.innerWidth - 70,
26
+ y: window.innerHeight - 24,
27
+ }
28
+ }
29
+
30
+
31
+ tagConfig.x = Math.min(Math.max(tagConfig.x, dragLimit.min.x), dragLimit.max.x)
32
+ tagConfig.y = Math.min(Math.max(tagConfig.y, dragLimit.min.y), dragLimit.max.y)
33
+
34
+ let tag = document.createElement("div");
35
+ tag.style = `
36
+ box-sizing: border-box;
37
+ position: fixed;
38
+ z-index: 9999999;
39
+ left: ${tagConfig.x}px;
40
+ top: ${tagConfig.y}px;
41
+ width: 70px;
42
+ height: 24px;
43
+ display: flex;
44
+ flex-direction: column;
45
+ align-items: center;
46
+ justify-content: center;
47
+ padding: 4px;
48
+ border-radius: 6px;
49
+ background-color: ${options.bubble.bgColor};
50
+ color: ${options.bubble.color};
51
+ font-size: 10px;
52
+ cursor: grab;
53
+ box-shadow: 0px 0px 6px ${options.bubble.bgColor};
54
+ backdrop-filter: blur(1px);
55
+ `;
56
+ tag.innerHTML = options.bubble.text;
57
+ tag.setAttribute("id", "debugTag")
58
+ const canShowBubble = tagConfig.show === true;
59
+
60
+ if (canShowBubble) {
61
+ document.body.appendChild(tag)
62
+ }
63
+
64
+ function hideBubble() {
65
+ if (!canShowBubble) return;
66
+ tag.style.display = "none";
67
+ }
68
+
69
+ function showBubble() {
70
+ if (!canShowBubble) return;
71
+ if (!document.body.contains(tag)) {
72
+ document.body.appendChild(tag);
73
+ }
74
+ tag.style.display = "flex";
75
+ }
76
+
77
+ uni.$on("devTools_overlay_show", hideBubble);
78
+ uni.$on("devTools_overlay_hide", showBubble);
79
+
80
+ /**
81
+ * 标签单击事件
82
+ */
83
+ function tagClick() {
84
+ devTools.show()
85
+ }
86
+
87
+ let isTouch = false;
88
+ let touchStartPoint = {
89
+ clientX: 0,
90
+ clientY: 0,
91
+ tagX: tagConfig.x,
92
+ tagY: tagConfig.y,
93
+ hasMove: false,
94
+ }
95
+
96
+ function touchStart(e) {
97
+ if (isTouch) return;
98
+ if (e.preventDefault) {
99
+ e.preventDefault()
100
+ }
101
+ let clientX = e.clientX ? e.clientX : e.targetTouches[0].clientX;
102
+ let clientY = e.clientX ? e.clientY : e.targetTouches[0].clientY;
103
+ touchStartPoint.clientX = clientX;
104
+ touchStartPoint.clientY = clientY;
105
+ touchStartPoint.tagX = tagConfig.x;
106
+ touchStartPoint.tagY = tagConfig.y;
107
+ touchStartPoint.hasMove = false;
108
+ isTouch = true;
109
+ }
110
+ function touchMove(e) {
111
+ if (!isTouch) return;
112
+ if (e.preventDefault) {
113
+ e.preventDefault()
114
+ }
115
+ let clientX = e.clientX ? e.clientX : e.targetTouches[0].clientX;
116
+ let clientY = e.clientX ? e.clientY : e.targetTouches[0].clientY;
117
+ let offsetX = touchStartPoint.clientX - clientX;
118
+ let offsetY = touchStartPoint.clientY - clientY;
119
+ const moveDistance = Math.sqrt(offsetX * offsetX + offsetY * offsetY);
120
+ if (!touchStartPoint.hasMove && moveDistance < 6) {
121
+ return;
122
+ }
123
+ touchStartPoint.hasMove = true;
124
+ let tx = touchStartPoint.tagX - offsetX;
125
+ let ty = touchStartPoint.tagY - offsetY;
126
+ tx = Math.min(Math.max(tx, dragLimit.min.x), dragLimit.max.x)
127
+ ty = Math.min(Math.max(ty, dragLimit.min.y), dragLimit.max.y)
128
+ tag.style.left = `${tx}px`;
129
+ tag.style.top = `${ty}px`;
130
+ tagConfig.x = tx;
131
+ tagConfig.y = ty;
132
+ }
133
+ function touchEnd(e) {
134
+ if (!isTouch) return;
135
+ if (e.preventDefault) {
136
+ e.preventDefault()
137
+ }
138
+ isTouch = false;
139
+ localStorage.setItem("devTools_tagConfig", JSON.stringify(tagConfig))
140
+ if (!touchStartPoint.hasMove) {
141
+ tagClick()
142
+ }
143
+ }
144
+ tag.addEventListener("touchstart", touchStart)
145
+ tag.addEventListener("touchmove", touchMove)
146
+ tag.addEventListener("touchend", touchEnd)
147
+
148
+ tag.addEventListener("mousedown", touchStart)
149
+ document.addEventListener("mousemove", touchMove)
150
+ document.addEventListener("mouseup", touchEnd)
151
+
152
+ localStorage.setItem("devTools_tagConfig", JSON.stringify(tagConfig))
153
+ }
154
+
155
+
156
+ export default createH5Bubble;
@@ -0,0 +1,151 @@
1
+ import devOptions from "./devOptions"
2
+ /**
3
+ * dev工具缓存管理
4
+ */
5
+ export default {
6
+ /**
7
+ * 存储的键开始名称
8
+ */
9
+ cacheKey: "devTools_v3_",
10
+ options: null,
11
+ /**
12
+ * 临时缓存对象
13
+ */
14
+ tempCache: {
15
+ errorReport: [],
16
+ logReport: [],
17
+ console: [],
18
+ request: [],
19
+ uniBus: [],
20
+ },
21
+ /**
22
+ * 临时数据存放
23
+ */
24
+ tempData: {},
25
+ /**
26
+ * 长列表配置缺省值
27
+ */
28
+ defaultLongListSetting: {
29
+ status: false,
30
+ cache: {
31
+ status: false
32
+ }
33
+ },
34
+ /**
35
+ * 向缓存内写入数据
36
+ */
37
+ set(key, value) {
38
+ try {
39
+ if (['errorReport', 'logReport', 'console', 'request', 'uniBus'].indexOf(key) != -1) {
40
+ const setting = this.getLongListSetting(key)
41
+ if (setting.status !== true) return;
42
+ if (!setting.cache || setting.cache.status !== true) {
43
+ // !不使用缓存
44
+ this.tempCache[key] = value;
45
+ return;
46
+ }
47
+ }
48
+ key = `${this.cacheKey}${key}`
49
+
50
+ this.tempData[key] = value;
51
+ } catch (error) {
52
+ console.log("devCache.set error", error);
53
+ }
54
+ },
55
+ /**
56
+ * 同步读取缓存数据
57
+ */
58
+ get(key) {
59
+ try {
60
+ if (['errorReport', 'logReport', 'console', 'request', 'uniBus'].indexOf(key) != -1) {
61
+ const setting = this.getLongListSetting(key)
62
+ if (setting.status !== true) return [];
63
+ if (!setting.cache || setting.cache.status !== true) {
64
+ // !不使用缓存
65
+ return this.tempCache[key];
66
+ }
67
+ }
68
+ key = `${this.cacheKey}${key}`
69
+
70
+ if (this.tempData.hasOwnProperty(key)) {
71
+ return this.tempData[key];
72
+ } else {
73
+ let value = uni.getStorageSync(key);
74
+ this.tempData[key] = value;
75
+ return value;
76
+ }
77
+ } catch (error) {
78
+ console.log("devCache.get error", error);
79
+ return "";
80
+ }
81
+ },
82
+ /**
83
+ * 向缓存内写入数据
84
+ */
85
+ clearItem(key) {
86
+ try {
87
+ if (['errorReport', 'logReport', 'console', 'request', 'uniBus'].indexOf(key) != -1) {
88
+ const setting = this.getLongListSetting(key)
89
+ if (setting.status !== true) return [];
90
+ if (!setting.cache || setting.cache.status !== true) {
91
+ // !不使用缓存
92
+ delete this.tempData[key];
93
+ uni.removeStorageSync(key);
94
+ }
95
+ }
96
+ key = `${this.cacheKey}${key}`;
97
+ delete this.tempData[key];
98
+ uni.removeStorageSync(key);
99
+ } catch (error) {
100
+ console.log("devCache.clearItem error", JSON.stringify(error));
101
+ }
102
+ },
103
+ getLongListSetting(key) {
104
+ const optionsKey = {
105
+ errorReport: 'error',
106
+ logReport: 'logs',
107
+ console: 'console',
108
+ request: 'network',
109
+ uniBus: 'uniBus',
110
+ }
111
+ const optionName = optionsKey[key]
112
+ if (!optionName) {
113
+ return this.defaultLongListSetting
114
+ }
115
+ if (!this.options) {
116
+ this.options = devOptions.getOptions() || {}
117
+ }
118
+ const setting = this.options ? this.options[optionName] : null
119
+ if (!setting || typeof setting !== 'object') {
120
+ return this.defaultLongListSetting
121
+ }
122
+ return setting
123
+ },
124
+ /**
125
+ * 同步本地缓存
126
+ */
127
+ syncLocalCache() {
128
+ let that = this;
129
+ setTimeout(() => {
130
+ try {
131
+ let waitSetKeys = Object.keys(that.tempData);
132
+ for (let i = 0; i < waitSetKeys.length; i++) {
133
+ const key = waitSetKeys[i];
134
+ uni.setStorage({
135
+ key,
136
+ data: that.tempData[key],
137
+ success() {
138
+ // console.log("set " + key + " success,length=" + that.tempData[key].length);
139
+ delete that.tempData[key];
140
+ }
141
+ });
142
+ }
143
+ } catch (error) {
144
+ console.log("devCache error: ", error);
145
+ }
146
+ setTimeout(() => {
147
+ that.syncLocalCache();
148
+ }, 500);
149
+ }, Math.round(Math.random() * 3 * 1000) + 2000);
150
+ },
151
+ }
@@ -0,0 +1,163 @@
1
+ import devCache from "./devCache";
2
+
3
+ /**
4
+ * 设置各端大小 kb
5
+ */
6
+ const defSize = (h5, app, mp) => {
7
+ let r = 0;
8
+ // #ifdef H5
9
+ r = h5;
10
+ // #endif
11
+ // #ifdef MP
12
+ r = mp;
13
+ // #endif
14
+ // #ifdef APP-PLUS
15
+ r = app;
16
+ // #endif
17
+ return Math.ceil(r * 1024);
18
+ }
19
+
20
+
21
+
22
+ /**
23
+ * 获取配置
24
+ */
25
+ export default {
26
+ /**
27
+ * 配置缓存key
28
+ */
29
+ cacheKey: "options_v8",
30
+ /**
31
+ * 默认配置项
32
+ */
33
+ defaultOptions: {
34
+ version: 3.81,
35
+ status: false, //调试工具总开关
36
+ bubble: { //调试弹窗气泡设置
37
+ status: false, // 气泡标签是否显示,生产环境建议关闭
38
+ text: "调试工具", // 气泡上展示的文字
39
+ color: "#ffffff", // 气泡文字颜色
40
+ bgColor: "rgba(250, 53, 52,0.7)", // 气泡背景颜色
41
+ },
42
+ console: {
43
+ status: true, // 开关
44
+ isOutput: true, //打印的日志是否对外输出到浏览器调试界面,建议在生产环境时开启
45
+ cache: {
46
+ status: true, //是否启用console缓存
47
+ size: defSize(512, 1024 * 2, 512),
48
+ rowSize: defSize(5.12, 20, 10),
49
+ },
50
+ },
51
+ error: {
52
+ status: true,
53
+ cache: {
54
+ status: true,
55
+ size: defSize(512, 1024 * 2, 512),
56
+ rowSize: defSize(5.12, 20, 10),
57
+ },
58
+ },
59
+ network: {
60
+ status: true,
61
+ cache: {
62
+ status: true,
63
+ size: defSize(512, 1024 * 2, 512),
64
+ rowSize: defSize(5.12, 20, 10),
65
+ },
66
+ },
67
+ logs: {
68
+ status: true,
69
+ cache: {
70
+ status: true,
71
+ size: defSize(512, 1024 * 2, 512),
72
+ rowSize: defSize(0.4, 0.4, 0.4),
73
+ },
74
+ },
75
+ // uni event bus 监听设置
76
+ uniBus: {
77
+ status: true,
78
+ cache: {
79
+ status: true,
80
+ size: defSize(512, 1024 * 2, 512),
81
+ rowSize: defSize(5.12, 20, 10),
82
+ countMaxSize: defSize(512, 1024 * 2, 512), // bus统计上限 kb
83
+ },
84
+ },
85
+ },
86
+ /**
87
+ * 获取配置信息
88
+ */
89
+ getOptions() {
90
+ try {
91
+ let options = devCache.get(this.cacheKey)
92
+ if (!options) {
93
+ return {
94
+ status: false, //默认关闭调试工具
95
+ }
96
+ }
97
+ return options;
98
+ } catch (error) {
99
+ console.log("devOptions.getOptions error: ", error);
100
+ return {
101
+ status: false, //默认关闭调试工具
102
+ }
103
+ }
104
+ },
105
+ /**
106
+ * 保存配置项
107
+ */
108
+ setOptions(options) {
109
+ try {
110
+ if (!options) {
111
+ options = this.defaultOptions;
112
+ }
113
+
114
+ let data = deepMerge(this.defaultOptions, options)
115
+
116
+ devCache.set(this.cacheKey, data)
117
+ } catch (error) {
118
+ console.log("devOptions.setOptions error: ", error);
119
+ }
120
+ },
121
+ /**
122
+ * 弹出错误信息
123
+ */
124
+ outputError(msg) {
125
+ console.log('%c' + msg, `
126
+ padding: 4px;
127
+ background-color: red;
128
+ color: #fff;
129
+ font-size: 15px;
130
+ `)
131
+ },
132
+ }
133
+
134
+
135
+
136
+
137
+
138
+
139
+ /**
140
+ * 深度合并对象
141
+ */
142
+ function deepMerge(target, ...sources) {
143
+ try {
144
+ if (!sources.length) return target; // 如果没有源对象则直接返回目标对象
145
+
146
+ const source = sources[0];
147
+
148
+ for (let key in source) {
149
+ if (source.hasOwnProperty(key)) {
150
+ if (typeof source[key] === 'object' && typeof target[key] !== undefined) {
151
+ target[key] = deepMerge({}, target[key], source[key]); // 若属性值为对象类型且目标对象已存在该属性,则递归调用deepMerge函数进行合并
152
+ } else {
153
+ target[key] = source[key]; // 否则将源对象的属性赋值到目标对象上
154
+ }
155
+ }
156
+ }
157
+
158
+ return deepMerge(target, ...sources.slice(1)); // 处理完第一个源对象后再次调用deepMerge函数处理其他源对象
159
+ } catch (error) {
160
+ console.log("deepMerge error", error);
161
+ return {}
162
+ }
163
+ }