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
@@ -16,7 +16,7 @@
16
16
  .rich-text-main {
17
17
  flex: 1;
18
18
  overflow-y: auto;
19
- padding: 16rpx;
19
+ padding: $-spacing-16;
20
20
  position: relative;
21
21
 
22
22
  }
@@ -24,10 +24,10 @@
24
24
  .editor_toolbox {
25
25
  width: 100%;
26
26
  background: $-rich-text-toolbox-bg-gradient;
27
- padding: 8rpx 16rpx;
27
+ padding: $-spacing-8 $-spacing-16;
28
28
  box-sizing: border-box;
29
29
  flex-wrap: wrap;
30
- gap: 8rpx;
30
+ gap: $-spacing-8;
31
31
  display: flex;
32
32
  align-items: center;
33
33
  border-bottom: 1px solid $-color-border-light;
@@ -59,7 +59,7 @@
59
59
  width: 32rpx;
60
60
  height: 32rpx;
61
61
  cursor: pointer;
62
- padding: 16rpx;
62
+ padding: $-spacing-16;
63
63
  border-radius: $-rich-text-toolbox-icon-radius;
64
64
  transition: all 0.2s ease;
65
65
  box-sizing: content-box;
@@ -79,7 +79,7 @@
79
79
  cursor: pointer;
80
80
  width: 32rpx;
81
81
  height: 32rpx;
82
- padding: 16rpx;
82
+ padding: $-spacing-16;
83
83
  border-radius: $-rich-text-toolbox-icon-radius;
84
84
  transition: all 0.2s ease;
85
85
  box-sizing: content-box;
@@ -113,7 +113,7 @@
113
113
  }
114
114
 
115
115
  .oxy-rich-text__popup {
116
- padding: 0 24rpx 24rpx 24rpx;
116
+ padding: 0 $-spacing-24 $-spacing-24 $-spacing-24;
117
117
 
118
118
  .oxy-rich-text__emoji-content {
119
119
  display: flex;
@@ -130,7 +130,7 @@
130
130
  border-top: 1px dashed $-rich-text-popup-divider-color;
131
131
  width: 80%;
132
132
  height: 0;
133
- margin: 40rpx auto;
133
+ margin: $-spacing-40 auto;
134
134
  }
135
135
 
136
136
  .oxy-rich-text__link-input {
@@ -145,8 +145,8 @@
145
145
 
146
146
  .oxy-rich-text__link-buttons {
147
147
  display: flex;
148
- gap: 24rpx;
149
- margin-top: 40rpx;
148
+ gap: $-spacing-24;
149
+ margin-top: $-spacing-40;
150
150
 
151
151
  .oxy-button {
152
152
  flex: 1;
@@ -80,7 +80,9 @@
80
80
  export default {
81
81
  name: 'oxy-rich-mardown',
82
82
  options: {
83
+ // #ifndef MP-TOUTIAO
83
84
  virtualHost: true,
85
+ // #endif
84
86
  addGlobalClass: true,
85
87
  styleIsolation: 'shared'
86
88
  }
@@ -275,6 +277,10 @@ const tagStyle = computed(() => {
275
277
  }
276
278
  })
277
279
 
280
+ /**
281
+ * 处理 markdown 内容:检测未闭合的代码块(```开头无结尾),补换行符
282
+ * 避免渲染引擎因未闭合代码块导致后续内容异常
283
+ */
278
284
  const contentAi = computed<string>(() => {
279
285
  if (!content.value) {
280
286
  return ''
@@ -3,14 +3,23 @@ import { baseProps, makeStringProp } from '../common/props'
3
3
 
4
4
  export const richTextProps = {
5
5
  ...baseProps,
6
+ /**
7
+ * Markdown 内容字符串
8
+ */
6
9
  markdown: {
7
10
  type: String,
8
11
  default: ''
9
12
  },
13
+ /**
14
+ * 自定义标签样式,与内置默认样式合并(props 优先级更高)
15
+ */
10
16
  tagStyle: {
11
17
  type: Object,
12
18
  default: () => ({})
13
19
  },
20
+ /**
21
+ * 是否启用编辑模式,开启后显示编辑工具栏
22
+ */
14
23
  editable: {
15
24
  type: Boolean,
16
25
  default: false
@@ -20,6 +29,12 @@ export const richTextProps = {
20
29
  * `%` 在弹层打开时按屏幕宽度换算为 `rpx`
21
30
  */
22
31
  popupMaxWidth: makeStringProp('1200rpx'),
32
+ /**
33
+ * 自定义上传方法,用于编辑模式下图片/视频上传
34
+ * @param src - 文件临时路径
35
+ * @param type - 文件类型('img' | 'video' | 'audio')
36
+ * @returns Promise<string> 返回上传后的 URL
37
+ */
23
38
  uploadMethod: {
24
39
  type: Function as any,
25
40
  default: null
@@ -1,29 +1,37 @@
1
1
  <template>
2
2
  <!-- #ifdef H5 -->
3
- <!-- H5端使用 teleport -->
4
3
  <teleport to="body">
5
- <!-- #endif -->
6
- <!-- #ifdef MP-WEIXIN || MP-ALIPAY -->
7
- <!-- #ifndef MP-DINGTALK -->
8
- <!-- 小程序使用 root-portal -->
9
- <root-portal>
10
- <!-- #endif -->
11
- <!-- #endif -->
12
- <slot />
13
- <!-- #ifdef MP-WEIXIN || MP-ALIPAY -->
14
- <!-- #ifndef MP-DINGTALK -->
15
- </root-portal>
16
- <!-- #endif -->
17
- <!-- #endif -->
18
- <!-- #ifdef H5 -->
4
+ <slot />
19
5
  </teleport>
20
6
  <!-- #endif -->
7
+
8
+ <!-- #ifdef MP-WEIXIN || MP-ALIPAY -->
9
+ <!-- #ifndef MP-DINGTALK -->
10
+ <root-portal>
11
+ <slot />
12
+ </root-portal>
13
+ <!-- #endif -->
14
+ <!-- #endif -->
15
+
16
+ <!-- #ifdef MP-TOUTIAO -->
17
+ <slot />
18
+ <!-- #endif -->
19
+
20
+ <!-- #ifdef APP-PLUS -->
21
+ <slot />
22
+ <!-- #endif -->
23
+
24
+ <!-- #ifndef H5 || MP-WEIXIN || MP-ALIPAY || MP-TOUTIAO || APP-PLUS -->
25
+ <slot />
26
+ <!-- #endif -->
21
27
  </template>
22
28
  <script>
23
29
  export default {
24
30
  name: 'oxy-root-portal',
25
31
  options: {
32
+ // #ifndef MP-TOUTIAO
26
33
  virtualHost: true,
34
+ // #endif
27
35
  addGlobalClass: true,
28
36
  styleIsolation: 'shared'
29
37
  }
@@ -8,7 +8,9 @@
8
8
  export default {
9
9
  name: 'oxy-row',
10
10
  options: {
11
+ // #ifndef MP-TOUTIAO
11
12
  virtualHost: true,
13
+ // #endif
12
14
  addGlobalClass: true,
13
15
  styleIsolation: 'shared'
14
16
  }
@@ -32,11 +32,11 @@
32
32
 
33
33
  @include when(light) {
34
34
  background: $-dark-background4;
35
-
35
+
36
36
  .oxy-search__block {
37
37
  background: $-dark-background7;
38
38
  }
39
-
39
+
40
40
  .oxy-search__cover {
41
41
  background: $-dark-background7;
42
42
  }
@@ -116,7 +116,7 @@
116
116
  @include edeep(clear) {
117
117
  position: absolute;
118
118
  right: 0;
119
- padding: 16rpx 24rpx 16rpx 20rpx;
119
+ padding: $-spacing-16 $-spacing-24 $-spacing-16 $-spacing-20;
120
120
  color: $-search-cancel-color;
121
121
  }
122
122
  @include edeep(clear-icon) {
@@ -40,7 +40,9 @@
40
40
  export default {
41
41
  name: 'oxy-search',
42
42
  options: {
43
+ // #ifndef MP-TOUTIAO
43
44
  virtualHost: true,
45
+ // #endif
44
46
  addGlobalClass: true,
45
47
  styleIsolation: 'shared'
46
48
  }
@@ -104,12 +106,21 @@ const coverStyle = computed(() => {
104
106
  return objToStyle(coverStyle)
105
107
  })
106
108
 
109
+ /**
110
+ * 通过 hack 方式控制输入框聚焦/失焦
111
+ * 先切换 showInput 可见性,再延迟设置 isFocused
112
+ * @param focus - true 聚焦,false 失焦
113
+ */
107
114
  async function hackFocus(focus: boolean) {
108
115
  showInput.value = focus
109
116
  await pause()
110
117
  isFocused.value = focus
111
118
  }
112
119
 
120
+ /**
121
+ * 关闭搜索 cover 层,进入输入模式
122
+ * 延迟 100ms 后隐藏 placeholder cover 并聚焦输入框
123
+ */
113
124
  async function closeCover() {
114
125
  if (props.disabled) return
115
126
  await pause(100)
@@ -125,6 +136,10 @@ function handleInput(event: any) {
125
136
  })
126
137
  }
127
138
 
139
+ /**
140
+ * 清空搜索值:重置输入框和 placeholder 状态
141
+ * 支持 focusWhenClear 模式下自动重新聚焦
142
+ */
128
143
  async function handleClear() {
129
144
  inputValue.value = ''
130
145
  if (props.focusWhenClear) {
@@ -160,6 +175,10 @@ function handleFocus() {
160
175
  })
161
176
  }
162
177
 
178
+ /**
179
+ * 失焦处理:延迟 150ms 等待 clear 操作完成
180
+ * 避免清空时重复触发 blur + clear 的连锁反应
181
+ */
163
182
  async function handleBlur() {
164
183
  // 等待150毫秒,clear执行完毕
165
184
  await pause(150)
@@ -53,10 +53,10 @@
53
53
  border-radius: $-segmented-radius;
54
54
  flex: 1;
55
55
  min-width: 0;
56
- z-index: 1;
56
+ z-index: $-z-index-sticky;
57
57
  min-height: 56rpx;
58
58
  line-height: $-line-height-base;
59
- padding: 0 24rpx;
59
+ padding: 0 $-spacing-24;
60
60
  font-size: $-fs-content;
61
61
  color: $-segmented-item-color;
62
62
  font-weight: 400;
@@ -64,7 +64,7 @@
64
64
  @include when(large) {
65
65
  min-height: 64rpx;
66
66
  line-height: $-line-height-base;
67
- padding: 0 24rpx;
67
+ padding: 0 $-spacing-24;
68
68
  font-size: $-fs-title;
69
69
  }
70
70
 
@@ -72,7 +72,7 @@
72
72
  @include when(small) {
73
73
  min-height: 48rpx;
74
74
  line-height: $-line-height-base;
75
- padding: 0 16rpx;
75
+ padding: 0 $-spacing-16;
76
76
  font-size: $-fs-secondary;
77
77
  }
78
78
 
@@ -24,7 +24,9 @@ export default {
24
24
  name: 'oxy-segmented',
25
25
  options: {
26
26
  addGlobalClass: true,
27
+ // #ifndef MP-TOUTIAO
27
28
  virtualHost: true,
29
+ // #endif
28
30
  styleIsolation: 'shared'
29
31
  }
30
32
  }
@@ -26,7 +26,7 @@
26
26
  color: $-select-clear-icon-color;
27
27
  }
28
28
  .oxy-select__icon-arrow {
29
- transition: transform .2s;
29
+ transition: transform $-transition-duration-base;
30
30
  }
31
31
  .oxy-select__icon-arrow.is-open {
32
32
  transform: rotate(180deg);
@@ -51,7 +51,7 @@
51
51
  width: 100%;
52
52
  flex: 1;
53
53
  min-height: $-select-wrapper-min-height;
54
- transition: all 0.2s;
54
+ transition: all $-transition-duration-base;
55
55
 
56
56
  &:hover:not(.is-disabled):not(.is-readonly) {
57
57
  border-color: $-color-theme;
@@ -92,31 +92,31 @@
92
92
  display: flex;
93
93
  flex-wrap: wrap;
94
94
  min-width: 0;
95
- padding: 8rpx 0;
95
+ padding: $-spacing-8 0;
96
96
  }
97
97
 
98
98
  .oxy-select__tags-item {
99
99
  display: inline-flex;
100
100
  min-width: 0;
101
101
  max-width: 100%;
102
- margin: 8rpx 8rpx 8rpx 0;
102
+ margin: $-spacing-8 $-spacing-8 $-spacing-8 0;
103
103
  }
104
104
 
105
105
  :deep(.oxy-select__tags-item-tag.oxy-tag.is-round) {
106
106
  display: inline-flex;
107
107
  align-items: center;
108
108
  box-sizing: border-box;
109
- min-height: 56rpx;
109
+ min-height: $-select-tag-height;
110
110
  max-width: 100%;
111
- height: 56rpx;
112
- padding: 0 20rpx;
111
+ height: $-select-tag-height;
112
+ padding: $-select-tag-padding;
113
113
  background-color: $-color-bg;
114
114
  border-color: $-color-border-light;
115
115
  border-radius: $-select-tag-radius;
116
116
  color: $-color-secondary;
117
117
  font-size: $-select-tag-font-size;
118
- line-height: 52rpx;
119
- transition: all 0.2s;
118
+ line-height: $-select-tag-line-height;
119
+ transition: all $-transition-duration-base;
120
120
 
121
121
  &:hover {
122
122
  border-color: $-color-theme;
@@ -136,7 +136,7 @@
136
136
  }
137
137
 
138
138
  :deep(.oxy-select__tags-item-tag .oxy-tag__close) {
139
- margin-left: 12rpx;
139
+ margin-left: $-select-tag-close-margin;
140
140
  margin-right: 0;
141
141
  height: auto;
142
142
  line-height: 1;
@@ -154,8 +154,8 @@
154
154
  .oxy-select__input {
155
155
  flex: 1;
156
156
  font-size: $-fs-content;
157
- height: 52rpx;
158
- line-height: 52rpx;
157
+ height: $-select-input-height;
158
+ line-height: $-select-input-line-height;
159
159
  }
160
160
 
161
161
  .oxy-select__input-plac {
@@ -191,8 +191,8 @@
191
191
  border: 1px solid $-color-border-light;
192
192
  border-radius: $-select-dropdown-radius;
193
193
  box-shadow: $-select-dropdown-shadow;
194
- z-index: 100;
195
- padding: 16rpx 0;
194
+ z-index: $-z-index-overlay;
195
+ padding: $-spacing-16 0;
196
196
  overflow: hidden;
197
197
  }
198
198
 
@@ -202,8 +202,8 @@
202
202
  transform: translateY(0) scale(1);
203
203
  will-change: transform, opacity;
204
204
  transition-property: opacity, transform;
205
- transition-duration: 0.2s;
206
- transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
205
+ transition-duration: $-transition-duration-base;
206
+ transition-timing-function: $-transition-timing-function-base;
207
207
  }
208
208
 
209
209
  .oxy-select__selector__down {
@@ -230,7 +230,7 @@
230
230
 
231
231
  .oxy-select__selector-scroll {
232
232
  /* #ifndef APP-NVUE */
233
- max-height: 400rpx;
233
+ max-height: $-select-dropdown-max-height;
234
234
  box-sizing: border-box;
235
235
  /* #endif */
236
236
  }
@@ -240,12 +240,12 @@
240
240
  /* #ifndef APP-NVUE */
241
241
  display: flex;
242
242
  /* #endif */
243
- min-height: 72rpx;
243
+ min-height: $-select-option-min-height;
244
244
  line-height: 1.4;
245
245
  font-size: $-fs-content;
246
- padding: 16rpx 24rpx;
246
+ padding: $-spacing-16 $-spacing-24;
247
247
  box-sizing: border-box;
248
- transition: background-color 0.2s;
248
+ transition: background-color $-transition-duration-base;
249
249
  }
250
250
 
251
251
  .oxy-select__selector-item {
@@ -276,7 +276,7 @@
276
276
  display: flex;
277
277
  align-items: center;
278
278
  justify-content: center;
279
- padding: 40rpx 0;
279
+ padding: $-spacing-40 0;
280
280
  color: $-color-aid;
281
281
  font-size: $-fs-secondary;
282
282
 
@@ -307,7 +307,7 @@
307
307
  filter: $-select-dropdown-filter-shadow;
308
308
 
309
309
  left: 10%;
310
- margin-right: 8rpx;
310
+ margin-right: $-spacing-8;
311
311
  border-top-width: 0;
312
312
  border-bottom-color: $-color-border-light;
313
313
  }
@@ -334,7 +334,7 @@
334
334
 
335
335
  .oxy-select__input-selector {
336
336
  position: absolute;
337
- z-index: 1;
337
+ z-index: $-z-index-sticky;
338
338
  left: 0;
339
339
  right: 60rpx;
340
340
  width: auto;
@@ -346,7 +346,7 @@
346
346
  .oxy-select__input-filter {
347
347
  width: auto;
348
348
  min-width: 80rpx;
349
- margin-left: 8rpx;
349
+ margin-left: $-spacing-8;
350
350
  flex: 1;
351
351
  &::-webkit-input-placeholder {
352
352
  color: $-select-placeholder-color;
@@ -363,7 +363,7 @@
363
363
  bottom: 0;
364
364
  right: 0;
365
365
  left: 0;
366
- z-index: 2;
366
+ z-index: $-z-index-fixed;
367
367
  }
368
368
 
369
369
  @include when(no-border) {
@@ -103,7 +103,9 @@ export default {
103
103
  name: 'oxy-select',
104
104
  options: {
105
105
  addGlobalClass: true,
106
+ // #ifndef MP-TOUTIAO
106
107
  virtualHost: true,
108
+ // #endif
107
109
  styleIsolation: 'shared'
108
110
  }
109
111
  }
@@ -249,6 +251,11 @@ watch(
249
251
  }
250
252
  )
251
253
 
254
+ /**
255
+ * 判断下拉框弹出方向(向上/向下)
256
+ * 通过查询元素位置和窗口高度,比较上下方空间决定弹出方向
257
+ * @returns Promise<boolean> - true 向下,false 向上
258
+ */
252
259
  function getIsDown() {
253
260
  return new Promise((resolve) => {
254
261
  const query = uni.createSelectorQuery().in(instance)
@@ -274,6 +281,10 @@ function getIsDown() {
274
281
  })
275
282
  }
276
283
 
284
+ /**
285
+ * 初始化默认选中值
286
+ * 支持单选/多选模式,自动匹配 columns 数据生成显示文本和选中数组
287
+ */
277
288
  function initDefVal() {
278
289
  let defValue: SelectModelValue | '' = ''
279
290
  if ((valueCom.value || valueCom.value === 0) && !isDisabled(valueCom.value)) {
@@ -351,6 +362,12 @@ function clearVal() {
351
362
  filterInput.value = ''
352
363
  }
353
364
 
365
+ /**
366
+ * 选项选中处理,支持单选和多选模式
367
+ * 多选:切换选中状态(添加/移除),不关闭下拉框
368
+ * 单选:关闭下拉框并更新值
369
+ * @param item - 选中的选项对象
370
+ */
354
371
  function change(item: any) {
355
372
  if (!item.disabled) {
356
373
  if (props.multiple) {
@@ -415,6 +432,10 @@ function handleEmit(val: any) {
415
432
  emit('change', _current)
416
433
  }
417
434
  }
435
+ /**
436
+ * 切换下拉框显隐
437
+ * 打开前先计算弹出方向,处理 filterable 模式下的 placeholder 缓存
438
+ */
418
439
  async function toggleSelector() {
419
440
  if (props.disabled || props.readonly) {
420
441
  return
@@ -441,6 +462,12 @@ async function toggleSelector() {
441
462
  filterInput.value = ''
442
463
  }
443
464
 
465
+ /**
466
+ * 格式化选项显示文本
467
+ * 支持 format 模板字符串替换({key} 占位符)
468
+ * @param item - 选项对象
469
+ * @returns 格式化后的文本
470
+ */
444
471
  function formatItemName(item: any) {
445
472
  if (!item) {
446
473
  return ''
@@ -73,6 +73,9 @@ export const selectProps = {
73
73
  * 格式化输出
74
74
  */
75
75
  format: makeStringProp(''),
76
+ /**
77
+ * 默认选中项的序号(从 1 开始),当 modelValue 未设置时自动选中 columns 中对应位置的项
78
+ */
76
79
  defItem: makeNumberProp(0),
77
80
  /**
78
81
  * 是否隐藏边框
@@ -47,7 +47,7 @@
47
47
  }
48
48
  }
49
49
  }
50
-
50
+
51
51
  @include edeep(arrow, clear) {
52
52
  display: block;
53
53
  font-size: $-cell-icon-size;
@@ -58,7 +58,7 @@
58
58
  @include edeep(clear) {
59
59
  color: $-cell-clear-color;
60
60
  }
61
-
61
+
62
62
  @include e(loading) {
63
63
  position: absolute;
64
64
  display: flex;
@@ -71,13 +71,13 @@
71
71
  z-index: 3;
72
72
  background: $-picker-loading-bg;
73
73
  }
74
-
74
+
75
75
  @include edeep(header) {
76
76
  height: 144rpx;
77
77
  line-height: 144rpx;
78
78
  }
79
79
  @include e(wrapper) {
80
- padding: 0 24rpx;
80
+ padding: 0 $-spacing-24;
81
81
  position: relative;
82
82
  max-height: 712rpx;
83
83
  box-sizing: border-box;
@@ -97,6 +97,6 @@
97
97
  }
98
98
 
99
99
  @include e(footer) {
100
- padding: 52rpx 32rpx;
100
+ padding: $-spacing-48 $-spacing-32;
101
101
  }
102
102
  }
@@ -112,7 +112,9 @@ export default {
112
112
  name: 'oxy-select-picker',
113
113
  options: {
114
114
  addGlobalClass: true,
115
+ // #ifndef MP-TOUTIAO
115
116
  virtualHost: true,
117
+ // #endif
116
118
  styleIsolation: 'shared'
117
119
  }
118
120
  }
@@ -243,6 +245,11 @@ onBeforeMount(() => {
243
245
 
244
246
  const { proxy } = getCurrentInstance() as any
245
247
 
248
+ /**
249
+ * 将当前选中项滚动到可视区域中央。
250
+ * radio 模式查询单个 radio item,checkbox 模式查询所有选中的 checkbox item。
251
+ * 若选中项已在可视区内则不滚动,否则滚动到 scroll-view 的居中位置。
252
+ */
246
253
  async function setScrollIntoView() {
247
254
  let wraperSelector: string = ''
248
255
  let selectorPromise: Promise<UniApp.NodeInfo>[] = []
@@ -10,7 +10,9 @@ export default {
10
10
  name: 'oxy-sidebar',
11
11
  options: {
12
12
  addGlobalClass: true,
13
+ // #ifndef MP-TOUTIAO
13
14
  virtualHost: true,
15
+ // #endif
14
16
  styleIsolation: 'shared'
15
17
  }
16
18
  }
@@ -31,7 +31,7 @@
31
31
  align-items: center;
32
32
  justify-content: center;
33
33
  position: relative;
34
- padding: 32rpx;
34
+ padding: $-spacing-32;
35
35
  font-size: $-sidebar-font-size;
36
36
  color: $-sidebar-color;
37
37
  background: $-sidebar-bg;
@@ -94,13 +94,13 @@
94
94
  }
95
95
 
96
96
  @include edeep(badge) {
97
- z-index: 2;
97
+ z-index: $-z-index-sticky;
98
98
  word-break: break-all;
99
99
  }
100
100
 
101
101
  @include edeep(icon) {
102
102
  font-size: $-sidebar-icon-size;
103
- margin-right: 8rpx;
103
+ margin-right: $-spacing-8;
104
104
  }
105
105
 
106
106
  }