tmui-cli 2.0.0 → 2.0.2

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 (409) hide show
  1. package/README.md +98 -8
  2. package/data/components.json +637 -0
  3. package/data/config.json +169 -0
  4. package/data/doc-index.json +61 -0
  5. package/data/docs/alert.md +79 -0
  6. package/data/docs/avatar-group.md +73 -0
  7. package/data/docs/badge.md +62 -0
  8. package/data/docs/between-time.md +76 -0
  9. package/data/docs/button.md +114 -0
  10. package/data/docs/calendar-multiple.md +90 -0
  11. package/data/docs/cell.md +91 -0
  12. package/data/docs/checkbox-group.md +62 -0
  13. package/data/docs/checkbox.md +74 -0
  14. package/data/docs/circle-progress.md +74 -0
  15. package/data/docs/code-input.md +77 -0
  16. package/data/docs/col.md +57 -0
  17. package/data/docs/collapse-item.md +76 -0
  18. package/data/docs/collapse.md +59 -0
  19. package/data/docs/countdown.md +79 -0
  20. package/data/docs/date-view.md +65 -0
  21. package/data/docs/drawer.md +94 -0
  22. package/data/docs/dropdown-item.md +68 -0
  23. package/data/docs/dropdown-menu.md +70 -0
  24. package/data/docs/echart.md +69 -0
  25. package/data/docs/float-drawer.md +79 -0
  26. package/data/docs/form-item.md +67 -0
  27. package/data/docs/form.md +68 -0
  28. package/data/docs/html.md +70 -0
  29. package/data/docs/icon.md +67 -0
  30. package/data/docs/image.md +73 -0
  31. package/data/docs/input.md +126 -0
  32. package/data/docs/modal.md +92 -0
  33. package/data/docs/money.md +70 -0
  34. package/data/docs/more.md +69 -0
  35. package/data/docs/navbar.md +82 -0
  36. package/data/docs/picker-date.md +75 -0
  37. package/data/docs/picker-selected.md +75 -0
  38. package/data/docs/picker-time.md +77 -0
  39. package/data/docs/picker-view.md +70 -0
  40. package/data/docs/picker.md +76 -0
  41. package/data/docs/popover.md +68 -0
  42. package/data/docs/progress.md +72 -0
  43. package/data/docs/pull-refresh.md +73 -0
  44. package/data/docs/radio-group.md +61 -0
  45. package/data/docs/radio.md +74 -0
  46. package/data/docs/rate.md +72 -0
  47. package/data/docs/row.md +61 -0
  48. package/data/docs/sheet.md +72 -0
  49. package/data/docs/sign-board.md +61 -0
  50. package/data/docs/skeleton.md +60 -0
  51. package/data/docs/sku.md +69 -0
  52. package/data/docs/slider-double.md +71 -0
  53. package/data/docs/slider-menu.md +78 -0
  54. package/data/docs/slider.md +71 -0
  55. package/data/docs/stepper.md +76 -0
  56. package/data/docs/steps-item.md +71 -0
  57. package/data/docs/steps.md +73 -0
  58. package/data/docs/sticky-header.md +57 -0
  59. package/data/docs/sticky.md +55 -0
  60. package/data/docs/switch-slider.md +82 -0
  61. package/data/docs/switch.md +68 -0
  62. package/data/docs/tabbar.md +83 -0
  63. package/data/docs/tabs.md +84 -0
  64. package/data/docs/tag.md +78 -0
  65. package/data/docs/text.md +69 -0
  66. package/data/docs/upload-photo.md +86 -0
  67. package/data/docs/upload-video.md +86 -0
  68. package/data/docs//346/250/241/346/235/277.md +47 -0
  69. package/data/examples/alert.vue +39 -0
  70. package/data/examples/avatar-group.vue +97 -0
  71. package/data/examples/badge.vue +87 -0
  72. package/data/examples/between-time.vue +39 -0
  73. package/data/examples/button.vue +70 -0
  74. package/data/examples/calendar-multiple.vue +57 -0
  75. package/data/examples/cell.vue +39 -0
  76. package/data/examples/checkbox.vue +71 -0
  77. package/data/examples/circle-progress.vue +69 -0
  78. package/data/examples/code-input.vue +36 -0
  79. package/data/examples/collapse.vue +76 -0
  80. package/data/examples/countdown.vue +39 -0
  81. package/data/examples/drawer.vue +138 -0
  82. package/data/examples/dropdown-menu.vue +59 -0
  83. package/data/examples/echart.vue +91 -0
  84. package/data/examples/float-drawer.vue +45 -0
  85. package/data/examples/form.vue +147 -0
  86. package/data/examples/html.vue +53 -0
  87. package/data/examples/icon.vue +65 -0
  88. package/data/examples/image.vue +38 -0
  89. package/data/examples/input.vue +66 -0
  90. package/data/examples/modal.vue +122 -0
  91. package/data/examples/money.vue +60 -0
  92. package/data/examples/more.vue +47 -0
  93. package/data/examples/navbar.vue +68 -0
  94. package/data/examples/picker-date.vue +53 -0
  95. package/data/examples/picker-selected.vue +35 -0
  96. package/data/examples/picker-time.vue +46 -0
  97. package/data/examples/picker-view.vue +35 -0
  98. package/data/examples/picker.vue +101 -0
  99. package/data/examples/popover.vue +130 -0
  100. package/data/examples/progress.vue +57 -0
  101. package/data/examples/pull-refresh.vue +41 -0
  102. package/data/examples/radio.vue +61 -0
  103. package/data/examples/rate.vue +35 -0
  104. package/data/examples/row.vue +52 -0
  105. package/data/examples/sheet.vue +36 -0
  106. package/data/examples/sign-board.vue +43 -0
  107. package/data/examples/skeleton.vue +45 -0
  108. package/data/examples/sku.vue +106 -0
  109. package/data/examples/slider-menu.vue +65 -0
  110. package/data/examples/slider.vue +51 -0
  111. package/data/examples/stepper.vue +44 -0
  112. package/data/examples/steps.vue +77 -0
  113. package/data/examples/sticky.vue +46 -0
  114. package/data/examples/switch-slider.vue +113 -0
  115. package/data/examples/switch.vue +62 -0
  116. package/data/examples/tabbar.vue +41 -0
  117. package/data/examples/tabs.vue +46 -0
  118. package/data/examples/tag.vue +69 -0
  119. package/data/examples/text.vue +38 -0
  120. package/data/examples/upload-photo.vue +39 -0
  121. package/data/examples/upload-video.vue +29 -0
  122. package/data/guides/cli.md +110 -0
  123. package/data/guides//344/273/213/347/273/215.md +34 -0
  124. package/data/guides//345/205/274/345/256/271/346/200/247.md +41 -0
  125. package/data/guides//345/215/225/344/275/215/346/240/207/347/255/276/350/257/264/346/230/216.md +22 -0
  126. package/data/guides//345/233/275/351/231/205/345/214/226.md +454 -0
  127. package/data/guides//345/256/211/350/243/205.md +103 -0
  128. package/data/guides//345/260/217/347/250/213/345/272/217/345/210/206/344/272/253.md +34 -0
  129. package/data/guides//345/270/270/350/247/201/351/227/256/351/242/230.md +102 -0
  130. package/data/guides//345/277/253/351/200/237/344/270/212/346/211/213.md +191 -0
  131. package/data/guides//346/233/264/346/226/260/346/227/245/345/277/227.md +155 -0
  132. package/data/guides//350/264/241/347/214/256/350/200/205.md +97 -0
  133. package/data/tmui4x/01./346/225/231/347/250/213/01./345/205/263/344/272/216.md +48 -0
  134. package/data/tmui4x/01./346/225/231/347/250/213/02./346/233/264/346/226/260/346/227/245/345/277/227.md +1181 -0
  135. package/data/tmui4x/01./346/225/231/347/250/213/03./350/201/224/347/263/273/346/210/221.md +14 -0
  136. package/data/tmui4x/01./346/225/231/347/250/213/04.DEMO/351/242/204/350/247/210.md +17 -0
  137. package/data/tmui4x/01./346/225/231/347/250/213/10./345/205/245/351/227/250/346/214/207/345/215/227/10./345/211/215/347/275/256/346/235/241/344/273/266.md +33 -0
  138. package/data/tmui4x/01./346/225/231/347/250/213/10./345/205/245/351/227/250/346/214/207/345/215/227/11./347/216/257/345/242/203/351/205/215/347/275/256.md +44 -0
  139. package/data/tmui4x/01./346/225/231/347/250/213/10./345/205/245/351/227/250/346/214/207/345/215/227/12./345/256/211/350/243/205.md +167 -0
  140. package/data/tmui4x/01./346/225/231/347/250/213/20./345/270/270/350/247/201/351/227/256/351/242/230.md +293 -0
  141. package/data/tmui4x/01./346/225/231/347/250/213/30./346/234/252/346/235/245/350/247/204/345/210/222/01./346/217/222/344/273/266/350/247/204/345/210/222.md +14 -0
  142. package/data/tmui4x/01./346/225/231/347/250/213/30./346/234/252/346/235/245/350/247/204/345/210/222/02./347/273/204/344/273/266/350/247/204/345/210/222.md +9 -0
  143. package/data/tmui4x/01./346/225/231/347/250/213/34.Pinia.md +260 -0
  144. package/data/tmui4x/01./346/225/231/347/250/213/35.Interface/347/261/273/345/236/213.md +1105 -0
  145. package/data/tmui4x/01./346/225/231/347/250/213/36./345/233/275/351/231/205/345/214/226.md +220 -0
  146. package/data/tmui4x/01./346/225/231/347/250/213/37./345/276/256/344/277/241/345/210/206/344/272/253.md +91 -0
  147. package/data/tmui4x/01./346/225/231/347/250/213/38./345/233/276/346/240/207/345/272/223.md +9 -0
  148. package/data/tmui4x/01./346/225/231/347/250/213/39.CSS/345/272/223.md +256 -0
  149. package/data/tmui4x/01./346/225/231/347/250/213/50.TMUI4x/350/222/270/346/261/275/350/256/241/345/210/222.md +46 -0
  150. package/data/tmui4x/01./346/225/231/347/250/213/50./344/270/273/351/242/230/351/205/215/347/275/256/01./351/205/215/347/275/256/345/217/212/345/256/236/344/276/213.md +425 -0
  151. package/data/tmui4x/01./346/225/231/347/250/213/50./344/270/273/351/242/230/351/205/215/347/275/256/02./345/234/250/347/272/277/351/205/215/347/275/256.md +11 -0
  152. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/01./346/217/222/344/273/266/347/233/256/345/275/225.md +10 -0
  153. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/tmOcr /347/246/273/347/272/277/346/226/207/346/241/243/350/257/206/345/210/253.md" +87 -0
  154. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xActionmodalS /345/272/225/351/203/250/345/206/205/345/256/271/346/212/275/345/261/211.md" +129 -0
  155. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xActionsheetS /345/272/225/351/203/250/345/212/250/344/275/234/350/217/234/345/215/225.md" +96 -0
  156. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xAddphonerepeatcalendarS /347/263/273/347/273/237/346/227/245/345/216/206.md" +129 -0
  157. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xAppiconS /345/272/224/347/224/250/345/233/276/346/240/207/344/270/216/350/247/222/346/240/207.md" +181 -0
  158. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xBluetoothS /350/223/235/347/211/231.md" +141 -0
  159. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xBlurU /350/203/214/346/231/257/346/257/233/347/216/273/347/222/203.md" +65 -0
  160. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xCamreaU /345/216/237/347/224/237/347/233/270/346/234/272.md" +106 -0
  161. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChatmarkdownU AI/350/201/212/345/244/251Markdown.md" +102 -0
  162. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChinesetopinyinS /344/270/255/346/226/207/350/275/254/346/213/274/351/237/263.md" +71 -0
  163. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChooseFileS /346/226/207/344/273/266/351/200/211/346/213/251.md" +77 -0
  164. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChooseMediaS /345/252/222/344/275/223/351/200/211/346/213/251/345/231/250.md" +109 -0
  165. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xCorrectS /346/226/207/346/241/243/346/240/241/346/255/243/344/270/216/350/257/206/345/210/253.md" +206 -0
  166. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xCryptoS /345/212/240/350/247/243/345/257/206.md" +212 -0
  167. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xDesktopcardS /346/241/214/351/235/242/345/215/241/347/211/207/344/270/216/345/256/236/345/206/265.md" +70 -0
  168. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xEditorU /345/257/214/346/226/207/346/234/254/347/274/226/350/276/221.md" +162 -0
  169. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xFacedetectAlibabaS /351/230/277/351/207/214/344/272/221/345/256/236/344/272/272/350/256/244/350/257/201.md" +63 -0
  170. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xFacerecU /347/246/273/347/272/277/344/272/272/350/204/270/350/257/206/345/210/253.md" +164 -0
  171. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xFfmpegS /351/237/263/350/247/206/351/242/221/345/244/204/347/220/206.md" +114 -0
  172. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xHtmlU HTML/345/256/211/345/205/250/346/270/262/346/237/223.md" +68 -0
  173. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xKeyboardS /350/275/257/351/224/256/347/233/230.md" +101 -0
  174. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xLoadingS /345/205/250/345/261/217/345/212/240/350/275/275.md" +97 -0
  175. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xLocationS /345/256/232/344/275/215.md" +104 -0
  176. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMakephoneS /346/213/250/346/211/223/347/224/265/350/257/235.md" +59 -0
  177. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMediaplayS /345/252/222/344/275/223/346/222/255/346/224/276/344/270/216/345/275/225/345/210/266.md" +151 -0
  178. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMimeS /346/226/207/344/273/266/347/261/273/345/236/213/345/227/205/346/216/242.md" +85 -0
  179. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMlkitScannigS /345/205/250/345/261/217/346/211/253/347/240/201.md" +111 -0
  180. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMlkitScannigU /346/211/253/347/240/201/345/256/271/345/231/250.md" +118 -0
  181. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMnnkitS /347/253/257/344/276/247/345/244/247/346/250/241/345/236/213.md" +119 -0
  182. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xModalS /345/257/271/350/257/235/346/241/206.md" +124 -0
  183. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMoreshareS /346/233/264/345/244/232/345/210/206/344/272/253/351/235/242/346/235/277.md" +155 -0
  184. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMqttS MQTT/346/266/210/346/201/257.md" +129 -0
  185. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMusicnotifyS /351/200/232/347/237/245/346/240/217/351/237/263/344/271/220/346/222/255/346/224/276/345/231/250.md" +128 -0
  186. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xNetworkstatusS /347/275/221/347/273/234/347/212/266/346/200/201.md" +114 -0
  187. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xNotifyS /346/234/254/345/234/260/351/200/232/347/237/245.md" +104 -0
  188. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xOcrS /347/246/273/347/272/277/346/226/207/346/241/243/350/257/206/345/210/253.md" +115 -0
  189. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xOnnxkitS /347/246/273/347/272/277/350/257/255/351/237/263/350/257/206/345/210/253/344/270/216/345/220/210/346/210/220.md" +99 -0
  190. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPdfS PDF/345/220/210/346/210/220.md" +130 -0
  191. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPdfU PDF/351/242/204/350/247/210.md" +88 -0
  192. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPermissionS /346/235/203/351/231/220.md" +93 -0
  193. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPhonecontactS /351/200/232/350/256/257/345/275/225.md" +91 -0
  194. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPhotokitS /345/233/276/347/211/207/346/260/264/345/215/260.md" +78 -0
  195. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPrintS /347/263/273/347/273/237/346/211/223/345/215/260.md" +105 -0
  196. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xScreenshotS /346/210/252/345/233/276/344/270/216/351/230/262/346/210/252/345/261/217.md" +177 -0
  197. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xScreentgreyS /345/272/224/347/224/250/347/275/256/347/201/260.md" +128 -0
  198. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSendsmsS /345/217/221/351/200/201/347/237/255/344/277/241.md" +84 -0
  199. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xShareS /347/263/273/347/273/237/345/210/206/344/272/253.md" +134 -0
  200. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSkiaU Skia/347/224/273/345/270/203.md" +115 -0
  201. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSqliteS SQLite/346/225/260/346/215/256/345/272/223.md" +248 -0
  202. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSseS SSE/346/216/250/351/200/201.md" +127 -0
  203. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xStartintentS /346/211/223/345/274/200/345/215/217/350/256/256/351/223/276/346/216/245.md" +97 -0
  204. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSvgU SVG/347/273/204/344/273/266.md" +26 -0
  205. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSwiperU /345/216/237/347/224/237/350/275/256/346/222/255.md" +304 -0
  206. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xTexttovoiceS /346/226/207/346/234/254/350/275/254/350/257/255/351/237/263.md" +77 -0
  207. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xTianditumapU /345/244/251/345/234/260/345/233/276.md" +146 -0
  208. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xTipsS /346/266/210/346/201/257/346/217/220/347/244/272.md" +86 -0
  209. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xToastS /350/275/273/346/217/220/347/244/272.md" +98 -0
  210. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xUdpS UDP/351/200/232/344/277/241.md" +204 -0
  211. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xUtilsS Base64/344/270/216/346/226/207/344/273/266/344/272/222/350/275/254.md" +83 -0
  212. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xVibrateS /351/234/207/345/212/250.md" +115 -0
  213. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xWebviewU /346/267/267/345/220/210WebView.md" +93 -0
  214. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xWechatshareS /345/276/256/344/277/241/345/274/200/346/224/276/345/271/263/345/217/260.md" +139 -0
  215. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xYoloS YOLO/347/233/256/346/240/207/346/243/200/346/265/213.md" +125 -0
  216. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xZipS ZIP/345/216/213/347/274/251/350/247/243/345/216/213.md" +126 -0
  217. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//344/272/214/347/273/264/347/240/201 xQrcoder.md" +187 -0
  218. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//345/212/250/347/224/273 xAnimation.md" +153 -0
  219. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//345/216/237/347/224/237/345/233/276/350/241/250 Chart.md" +97 -0
  220. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//345/233/276/347/211/207/350/243/201/345/211/252 xImageResizer.md" +117 -0
  221. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//345/233/276/350/241/250 xEchart.md" +238 -0
  222. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//346/200/235/347/273/264/345/257/274/345/233/276 xTreeFlat.md" +130 -0
  223. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//346/211/213/345/212/277/345/272/223 xFinger.md" +201 -0
  224. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//346/217/220/345/217/212 xMention.md" +174 -0
  225. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//346/235/241/347/240/201 xBarcode.md" +133 -0
  226. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//346/273/221/345/212/250/351/252/214/350/257/201 xSlideVerify.md" +132 -0
  227. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//347/255/276/345/220/215/346/235/277 xSignBoard.md" +178 -0
  228. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//351/242/234/350/211/262/351/200/211/346/213/251 xColorView.md" +103 -0
  229. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//351/252/214/350/257/201/347/240/201/350/276/223/345/205/245/346/241/206 xCodeInput.md" +133 -0
  230. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//344/270/213/346/213/211/345/210/267/346/226/260 xPullRefresh.md" +244 -0
  231. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//344/270/213/346/213/211/350/217/234/345/215/225 xDropdownMenu.md" +144 -0
  232. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//344/270/213/346/213/211/350/217/234/345/215/225/345/255/220/347/273/204/344/273/266 xDropdownItem.md" +143 -0
  233. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//345/212/240/350/275/275/344/270/255 xLoading.md" +113 -0
  234. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//345/212/250/344/275/234/350/217/234/345/215/225/351/235/242/346/235/277 xActionMenu.md" +173 -0
  235. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//345/257/271/350/257/235/346/241/206 xModal.md" +244 -0
  236. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//345/267/246/346/273/221/350/217/234/345/215/225 xSwitchSlider.md" +222 -0
  237. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//345/272/225/351/203/250/345/257/271/350/257/235/346/241/206 xActionModal.md" +139 -0
  238. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//345/274/271/345/271/225 Barrage.md" +126 -0
  239. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//345/274/271/345/271/225/345/255/220/350/212/202/347/202/271 xBarrageItem.md" +128 -0
  240. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/212/275/345/261/211 xDrawer.md" +314 -0
  241. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/213/226/346/213/275/346/216/222/345/272/217 xDrag.md" +256 -0
  242. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/213/226/346/213/275/346/216/222/345/272/217/345/255/220/347/273/204/344/273/266 xDragItem.md" +253 -0
  243. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/261/275/346/263/241/350/217/234/345/215/225 xPopover.md" +213 -0
  244. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/265/256/345/212/250/351/235/242/346/235/277 FloatDrawer.md" +166 -0
  245. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/265/256/347/220/203 xFloatButton.md" +143 -0
  246. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/266/210/346/201/257/346/235/241 xSnackbar.md" +125 -0
  247. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/266/210/346/201/257/346/235/241/345/255/220/350/212/202/347/202/271 xSnackbarItem.md" +123 -0
  248. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//346/266/210/346/201/257/351/200/232/347/237/245 xMsgNotice.md" +130 -0
  249. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/217/215/351/246/210/347/273/204/344/273/266//351/201/256/347/275/251 xOverlay.md" +162 -0
  250. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//344/276/247/350/276/271/345/210/206/347/261/273 xSliderTree.md" +242 -0
  251. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//344/276/247/350/276/271/345/210/206/347/261/273/345/255/220/350/212/202/347/202/271 xSliderTreeChildren.md" +238 -0
  252. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//344/276/247/350/276/271/350/217/234/345/215/225 xSliderMenu.md" +158 -0
  253. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/215/225/351/200/211/346/214/211/351/222/256/347/273/204 xRadioButton.md" +140 -0
  254. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/256/253/346/240/274 xGrid.md" +160 -0
  255. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/256/253/346/240/274/345/255/220/347/273/204/344/273/266 xGridItem.md" +156 -0
  256. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/272/225/351/203/250/345/257/274/350/210/252 xTabbar.md" +299 -0
  257. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/274/225/345/257/274 xGuid.md" +130 -0
  258. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/274/225/345/257/274/345/255/220/347/273/204/344/273/266 xGuidItem.md" +125 -0
  259. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//346/220/234/347/264/242/346/240/217 xSearch.md" +137 -0
  260. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//346/227/266/351/227/264/345/221/250 xWeekbar.md" +170 -0
  261. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//346/240/207/347/255/276/345/257/274/350/210/252 xTabs.md" +193 -0
  262. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//346/240/207/351/242/230/345/257/274/350/210/252 xNavbar.md" +161 -0
  263. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//347/262/230/346/200/247/345/270/203/345/261/200 Sticky.md" +116 -0
  264. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//347/264/242/345/274/225 xIndexbar.md" +113 -0
  265. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//350/277/224/345/233/236/351/241/266/351/203/250 xBacktop.md" +125 -0
  266. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266/markdown xCmarkdown.md" +525 -0
  267. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266/markdown/345/255/220/347/273/204/344/273/266 xCmarkdownItem.md" +523 -0
  268. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/200/222/350/256/241/346/227/266 xCountdown.md" +125 -0
  269. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/210/206/345/211/262/347/272/277 xDivider.md" +115 -0
  270. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/210/227/350/241/250 xCell.md" +154 -0
  271. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/212/250/346/200/201/345/205/250/345/261/217 xViewTofull.md" +164 -0
  272. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/215/241/347/211/207 xCard.md" +123 -0
  273. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/233/276/347/211/207 xImage.md" +132 -0
  274. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/233/276/351/233/206 xImageGroup.md" +130 -0
  275. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/234/206/345/275/242/350/277/233/345/272/246/347/216/257 xCircleProgress.md" +150 -0
  276. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/244/264/345/203/217/347/273/204 xAvatarGroup.md" +181 -0
  277. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254 xMarkdown.md" +211 -0
  278. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//346/212/230/345/217/240/351/235/242/346/235/277 xCollapse.md" +152 -0
  279. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//346/212/230/345/217/240/351/235/242/346/235/277/345/255/220/347/273/204/344/273/266 xCollapseItem.md" +167 -0
  280. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//346/225/260/345/255/227/347/277/273/346/273/232 xRollingNumber.md" +129 -0
  281. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//346/237/245/347/234/213/346/233/264/345/244/232 xMore.md" +138 -0
  282. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//346/250/252/345/220/221/346/273/232/345/212/250 xScrollx.md" +135 -0
  283. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//346/255/245/351/252/244/346/235/241 xSteps.md" +153 -0
  284. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//346/255/245/351/252/244/346/235/241/345/255/220/347/273/204/344/273/266 xStepsItem.md" +150 -0
  285. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//346/260/264/345/215/260 xWatermark.md" +91 -0
  286. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//347/200/221/345/270/203/346/265/201 xWaterfall.md" +354 -0
  287. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//347/251/272/347/212/266/346/200/201 xEmpty.md" +116 -0
  288. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/231/232/346/213/237/345/210/227/350/241/250 xVirtualList.md" +319 -0
  289. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/241/250/346/240/274 xTable.md" +409 -0
  290. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/241/250/346/240/274/345/210/227 xTableCol.md" +384 -0
  291. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/247/222/346/240/207 xBadge.md" +173 -0
  292. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/255/246/345/221/212 xAlert.md" +131 -0
  293. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/257/215/344/272/221 xTextCloud.md" +263 -0
  294. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/277/233/345/272/246/346/235/241 xProgress.md" +149 -0
  295. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//351/200/232/347/237/245/346/240/217 xNotice.md" +134 -0
  296. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//351/207/221/351/242/235/346/240/205/346/240/274 xMoney.md" +137 -0
  297. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//351/223/276/346/216/245 xLink.md" +113 -0
  298. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//351/252/250/346/236/266/345/261/217 xSkeleton.md" +119 -0
  299. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//345/233/276/346/240/207 xIcon.md" +135 -0
  300. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//345/256/271/345/231/250 xSheet.md" +133 -0
  301. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//345/270/203/345/261/200 xRow.md" +181 -0
  302. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//345/270/203/345/261/200/345/255/220/347/273/204/344/273/266 xCol.md" +182 -0
  303. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//346/214/211/351/222/256 xButton.md" +209 -0
  304. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//346/226/207/346/234/254 xText.md" +132 -0
  305. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//346/240/207/347/255/276 xTag.md" +148 -0
  306. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/215/225/346/273/221/345/235/227 xSlider.md" +130 -0
  307. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/215/225/351/200/211/346/241/206 xRadio.md" +220 -0
  308. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/215/225/351/200/211/346/241/206/347/273/204 xRadioGroup.md" +207 -0
  309. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/217/214/345/220/221/346/273/221/345/235/227 xSliderDouble.md" +130 -0
  310. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/233/276/347/211/207/344/270/212/344/274/240 xUploadMedia.md" +270 -0
  311. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/237/216/345/270/202/351/200/211/346/213/251/345/231/250 xPickerCity.md" +132 -0
  312. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/244/232/351/200/211/346/227/245/345/216/206 xCalendarMultiple.md" +188 -0
  313. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/244/232/351/200/211/346/241/206 xCheckbox.md" +273 -0
  314. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/244/232/351/200/211/346/241/206/347/273/204 xCheckboxGroup.md" +260 -0
  315. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/257/206/347/240/201/351/224/256/347/233/230 xKeyboard.md" +151 -0
  316. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254/347/274/226/350/276/221/345/231/250 xEditor.md" +143 -0
  317. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/265/214/345/205/245/345/274/217/346/227/245/346/234/237/351/200/211/346/213/251/345/231/250 xDateView.md" +135 -0
  318. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/274/200/345/205/263 xSwitch.md" +146 -0
  319. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/220/234/347/264/242/351/200/211/346/213/251 xpickerSelected.md" +259 -0
  320. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/225/260/345/255/227/351/224/256/347/233/230 xKeyboardNumber.md" +154 -0
  321. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/226/207/344/273/266/351/200/211/346/213/251 xUploadFile.md" +136 -0
  322. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/227/245/345/216/206 xCalendar.md" +179 -0
  323. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/227/245/346/234/237/351/200/211/346/213/251/345/231/250 xPickerDate.md" +147 -0
  324. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/227/266/351/227/264/345/214/272/351/227/264/351/200/211/346/213/251 xBetweenTime.md" +142 -0
  325. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/227/266/351/227/264/351/200/211/346/213/251/345/231/250 xPickerTime.md" +124 -0
  326. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/236/201/350/201/224/345/231/250 xCascader.md" +170 -0
  327. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/240/207/347/255/276/350/276/223/345/205/245/346/241/206 xInputTag.md" +111 -0
  328. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/240/221 xTree.md" +373 -0
  329. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/255/245/350/277/233/345/231/250 xStepper.md" +142 -0
  330. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//347/277/273/351/241/265/345/231/250 xPagination.md" +124 -0
  331. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/241/250/345/215/225 xForm.md" +330 -0
  332. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/241/250/345/215/225/345/255/220/347/273/204/344/273/266 xFormItem.md" +334 -0
  333. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/257/204/345/210/206 xRate.md" +131 -0
  334. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/272/253/344/273/275/350/257/201/351/224/256/347/233/230 xKeyboardIdcard.md" +151 -0
  335. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/275/246/347/211/214/351/224/256/347/233/230 xKeyboardCar.md" +151 -0
  336. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/276/223/345/205/245/346/241/206 xInput.md" +198 -0
  337. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/276/223/345/205/245/346/241/206 xInputNumber.md" +183 -0
  338. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//351/200/211/346/213/251/345/231/250 xPicker.md" +199 -0
  339. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//351/200/211/346/213/251/345/231/250/345/256/271/345/231/250 xPickerView.md" +242 -0
  340. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/01/345/274/200/345/247/213/344/275/277/347/224/250/01./345/277/253/351/200/237/344/270/212/346/211/213.md +95 -0
  341. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/01/345/274/200/345/247/213/344/275/277/347/224/250/02./346/225/260/346/215/256/346/240/274/345/274/217.md +61 -0
  342. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/02/345/237/272/347/241/200/351/205/215/347/275/256/01./346/240/207/351/242/230/344/270/216/345/233/276/344/276/213.md +45 -0
  343. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/02/345/237/272/347/241/200/351/205/215/347/275/256/02./345/235/220/346/240/207/350/275/264.md +71 -0
  344. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/02/345/237/272/347/241/200/351/205/215/347/275/256/03./346/217/220/347/244/272/346/241/206.md +37 -0
  345. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/01./346/212/230/347/272/277/345/233/276.md +76 -0
  346. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/02./346/237/261/347/212/266/345/233/276.md +89 -0
  347. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/03./351/245/274/345/233/276/344/270/216/347/216/257/345/233/276.md +119 -0
  348. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/04./351/235/242/347/247/257/345/233/276.md +38 -0
  349. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/05./346/225/243/347/202/271/345/233/276.md +36 -0
  350. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/06./351/233/267/350/276/276/345/233/276.md +46 -0
  351. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/07./346/274/217/346/226/227/345/233/276.md +35 -0
  352. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/08.K/347/272/277/345/233/276.md +44 -0
  353. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/09./346/227/255/346/227/245/345/233/276.md +45 -0
  354. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/10./347/237/251/345/275/242/346/240/221/345/233/276.md +50 -0
  355. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/11./345/234/260/345/233/276.md +91 -0
  356. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/03/345/233/276/350/241/250/347/261/273/345/236/213/12./344/273/252/350/241/250/347/233/230/345/233/276.md +89 -0
  357. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/04/344/272/244/344/272/222/344/270/216/351/253/230/344/272/256/01./351/253/230/344/272/256/346/240/267/345/274/217/351/205/215/347/275/256.md +47 -0
  358. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/05/351/253/230/347/272/247/345/212/237/350/203/275/01./346/225/260/346/215/256/347/274/251/346/224/276/344/270/216/345/271/263/347/247/273.md +93 -0
  359. package/data/tmui4x/31./345/216/237/347/224/237/345/233/276/350/241/250/05/351/253/230/347/272/247/345/212/237/350/203/275/02./345/212/250/346/200/201/346/233/264/346/226/260/344/270/216/345/212/250/347/224/273.md +58 -0
  360. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/03./350/257/267/346/261/202/345/272/223.md +484 -0
  361. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/04./345/212/250/347/224/273/345/272/223.md +385 -0
  362. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/05./346/227/245/346/234/237/345/272/223.md +657 -0
  363. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/01./347/224/273/345/270/203/344/273/213/347/273/215.md +37 -0
  364. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/02./347/224/273/345/270/203/347/261/273/345/236/213.md +266 -0
  365. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/10./346/241/210/344/276/213/01./346/227/213/350/275/254/345/274/200/345/205/263.md +23 -0
  366. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/10./346/241/210/344/276/213/02./350/277/220/345/212/250/346/211/213/347/216/257.md +23 -0
  367. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/10./346/241/210/344/276/213/03./350/257/255/351/237/263/345/275/225/345/210/266/346/263/242.md +23 -0
  368. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/10./346/241/210/344/276/213/04./350/207/252/345/212/250/346/216/222/347/211/210.md +23 -0
  369. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/10./346/241/210/344/276/213/05./346/265/267/346/212/245/347/273/230/345/210/266.md +23 -0
  370. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/20./345/205/245/351/227/250/346/225/231/347/250/213/01./345/210/233/345/273/272/347/224/273/345/270/203/345/256/236/344/276/213.md +77 -0
  371. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/20./345/205/245/351/227/250/346/225/231/347/250/213/05./347/224/273/345/270/203/345/261/236/346/200/247/346/226/271/346/263/225.md +153 -0
  372. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/20./345/205/245/351/227/250/346/225/231/347/250/213/10./345/210/233/345/273/272/345/205/203/347/264/240.md +45 -0
  373. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/20./345/205/245/351/227/250/346/225/231/347/250/213/20./345/205/203/347/264/240/345/261/236/346/200/247/346/226/271/346/263/225.md +10 -0
  374. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/25./345/212/250/347/224/273/347/263/273/347/273/237/01./345/210/233/345/273/272/345/212/250/347/224/273/345/256/236/344/276/213.md +57 -0
  375. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/25./345/212/250/347/224/273/347/263/273/347/273/237/02./345/212/250/347/224/273/345/261/236/346/200/247/345/217/212/346/226/271/346/263/225.md +221 -0
  376. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/30./350/207/252/345/212/250/346/216/222/347/211/210/01./345/210/233/345/273/272/346/216/222/347/211/210.md +74 -0
  377. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/30./350/207/252/345/212/250/346/216/222/347/211/210/02./346/216/222/347/211/210/345/261/236/346/200/247.md +160 -0
  378. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/01.Shape.md +244 -0
  379. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/02.IArc.md +100 -0
  380. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/03.ICircle.md +89 -0
  381. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/04.IEllipse.md +94 -0
  382. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/05.ImageShape.md +92 -0
  383. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/06.ILine.md +115 -0
  384. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/07.ILinePolygon.md +73 -0
  385. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/08.Path2DShape.md +81 -0
  386. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/09.IRect.md +91 -0
  387. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/10.IRegularPolygon.md +106 -0
  388. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/11.IRing.md +110 -0
  389. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/12.ISector.md +103 -0
  390. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/13.IStar.md +115 -0
  391. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/14.IText.md +136 -0
  392. package/data/tmui4x/40./345/267/245/345/205/267/345/272/223/30./347/224/273/345/270/203/50./345/233/276/345/275/242/347/263/273/347/273/237/15.IQrcode.md +94 -0
  393. package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/01.Agent.md +17 -0
  394. package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/04.SKILL.md +16 -0
  395. package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/05.LLMS.md +9 -0
  396. package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/06./346/226/207/346/241/243/351/233/206.md +10 -0
  397. package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/01./345/205/263/344/272/216.md +44 -0
  398. package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/02./345/205/263/351/224/256/350/257/215/346/246/202/345/277/265.md +26 -0
  399. package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/03./347/273/204/344/273/266/344/273/213/347/273/215.md +367 -0
  400. package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/04.WEB/345/274/200/345/217/221.md +126 -0
  401. package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/05.jssdkApi.md +1421 -0
  402. package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/06.CSS/345/217/230/351/207/217.md +45 -0
  403. package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/07.TMUI3.2/347/273/204/344/273/266/345/272/223.md +126 -0
  404. package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/10./345/274/200/345/217/221/345/256/236/346/210/230.md +69 -0
  405. package/data/tmui4x/80.Flutter/01./345/205/263/344/272/216.md +68 -0
  406. package/data/tmui4x/80.Flutter/02./347/273/204/344/273/266/347/233/256/345/275/225.md +155 -0
  407. package/data/tmui4x-doc-index.json +3440 -0
  408. package/dist/main.mjs +89 -66
  409. package/package.json +13 -6
@@ -0,0 +1,86 @@
1
+ # x-tips-s 消息提示
2
+
3
+ 顶部或底部的全局文字提示,不打断当前操作,可自动消失。连续调用会自动关掉上一条。
4
+
5
+ **微信内使用官方 `uni.showToast`,位置、偏移、自定义图标不生效,仅保留签名。**
6
+
7
+ ### 兼容性
8
+
9
+ | Harmony | IOS | Android | WEB | 小程序 |
10
+ | --- | --- | --- | --- | --- |
11
+ | 支持 | 支持 | 支持 | 支持 | 支持(官方 Toast) |
12
+
13
+ ### 调用
14
+
15
+ ```ts
16
+ import { showTips, hideTips, XTIPS_TYPE } from "@/uni_modules/x-tips-s"
17
+
18
+ showTips({
19
+ title: "顶部提示消息",
20
+ iconCode: "info",
21
+ position: "top",
22
+ offset: 50,
23
+ duration: 2000
24
+ } as XTIPS_TYPE)
25
+ ```
26
+
27
+ ### 方法
28
+
29
+ | 名称 | 需要 | 说明 |
30
+ | --- | --- | --- |
31
+ | showTips | `XTIPS_TYPE`,`title` 必填 | 弹出顶部或底部提示,连续调用会关掉上一条 |
32
+ | hideTips | 无 | 立刻关闭当前提示 |
33
+
34
+ ### 参数
35
+
36
+ `XTIPS_TYPE`
37
+
38
+ | 字段 | 说明 | 默认 |
39
+ | --- | --- | --- |
40
+ | title | 标题,必填 | - |
41
+ | iconCode | Remix 图标 unicode,如 `ED29`;也可用 `warn` / `error` / `success` / `info`。微信不支持 | `F449` |
42
+ | iconColor | 图标颜色 | `rgb(5,121,255)` |
43
+ | iconSize | 图标大小 px | `20` |
44
+ | titleSize | 标题字号 px | `16` |
45
+ | titleColor | 标题色 | `rgb(5,121,255)` |
46
+ | contentBgColor | 内容底色 | `#ffffff` |
47
+ | maskBgColor | 遮罩色 | 透明 |
48
+ | size | 内容宽度 px | `130` |
49
+ | duration | 自动关闭毫秒,`0` 不自动关 | `2000` |
50
+ | position | `top` / `bottom`。微信不支持 | `top` |
51
+ | offset | 距顶/底偏移 px。微信不支持 | `50` |
52
+ | maskDisableClik | 拦截遮罩点击 | `false` |
53
+ | success | 弹出成功 | - |
54
+ | fail | 弹出失败 | - |
55
+ | complete | 调用结束 | - |
56
+ | close | 关闭完成 | - |
57
+
58
+ ### 平台差异
59
+
60
+ 1. 微信小程序:`uni.showToast`,仅 `title`、`duration`、`maskDisableClik`、`close` 生效。
61
+
62
+ ### 版本
63
+
64
+ 版权归https://xui.tmui.design你不得修改及二次开发,仅供TMUI4会员商用使用。不得转给非VIP会员使用,一经查实数倍赔偿,并追究法律责任。
65
+
66
+ ## 更新日志
67
+
68
+ ### 1.1.1(2026-08-14)
69
+ * 配置新增 success / fail / complete 回调,对齐 DCloud 函数风格:弹出成功走 success,失败走 fail,两者之后都会走 complete;原有 close 仍在消失时触发
70
+ ### 1.1.0(2026-08-13)
71
+ * 重构为与 x-modal-s 一致的 DCloud 函数风格:showTips(options?) 支持无参调用,五端签名统一
72
+ * 新增微信小程序端降级实现(wx.showToast 对齐 title/duration/close 语义)
73
+ * 性能优化:安卓端 remixicon 字体缓存、代次隔离防止旧定时器关掉新 tips
74
+ * iOS 端修复内容渐显动画被重复添加为缩放动画的问题;hide 后释放视图与回调引用,close 只触发一次
75
+ * web 端修复动画样式因 id 不匹配每次 show 都重复插入 style 标签的问题,字体只加载一次
76
+ ### 1.0.4(2026-04-21)
77
+ * 修复可能存在的内存泄露风险
78
+ ### 1.0.3(2026-01-30)
79
+ * 使用了sdk4.65+推出的接口来避免与官方的弹层冲突导致无法显示。
80
+ ### 1.0.2(2025-07-25)
81
+ * 更新支持鸿蒙原生 Next,采用自己编译的 Har 包来支持
82
+ ### 1.0.1(2025-02-23)
83
+ * 更新了动画,并修复了,如果路径页面,上个页面不会自动关闭的问题.
84
+ * ios端添加了显示动画,显示更自然
85
+ ### 1.0.0(2024-08-06)
86
+ 安卓,ios,web可用。
@@ -0,0 +1,98 @@
1
+ # x-toast-s 轻提示
2
+
3
+ 居中弹出的轻提示,用来替代 `uni.showToast`。支持超长文字、自定义图标和颜色,连续调用会自动关掉上一条。
4
+
5
+ **微信内使用官方 `uni.showToast`,图标、颜色、尺寸等样式字段不生效,仅保留签名。**
6
+
7
+ ### 兼容性
8
+
9
+ | Harmony | IOS | Android | WEB | 小程序 |
10
+ | --- | --- | --- | --- | --- |
11
+ | 支持 | 支持 | 支持 | 支持 | 支持(官方 Toast) |
12
+
13
+ ### 调用
14
+
15
+ ```ts
16
+ import { showToast, hideToast, XTOAST_TYPE } from "@/uni_modules/x-toast-s"
17
+
18
+ showToast({
19
+ title: "保存成功",
20
+ iconCode: "success",
21
+ duration: 2000,
22
+ success: () => {
23
+ console.log("已弹出")
24
+ },
25
+ close: () => {
26
+ console.log("已关闭")
27
+ }
28
+ } as XTOAST_TYPE)
29
+ ```
30
+
31
+ ### 方法
32
+
33
+ | 名称 | 需要 | 说明 |
34
+ | --- | --- | --- |
35
+ | showToast | `XTOAST_TYPE`,`title` 必填 | 弹出提示,连续调用会关掉上一条 |
36
+ | hideToast | 无 | 立刻关闭当前提示 |
37
+
38
+ ### 参数
39
+
40
+ `XTOAST_TYPE`
41
+
42
+ | 字段 | 说明 | 默认 |
43
+ | --- | --- | --- |
44
+ | title | 标题,必填 | - |
45
+ | iconCode | Remix 图标 unicode,如 `ED29`;也可用 `warn` / `error` / `success` / `info`。微信仅 `success` / `error` / `loading` / `none` | `F449` |
46
+ | iconColor | 图标颜色 | `rgb(5,121,255)` |
47
+ | iconSize | 图标大小 px | `52` |
48
+ | titleSize | 标题字号 px | `14` |
49
+ | titleColor | 标题色 | `rgb(5,121,255)` |
50
+ | contentBgColor | 内容底色 | `#ffffff` |
51
+ | maskBgColor | 遮罩色 | `rgba(0,0,0,0.6)` |
52
+ | size | 内容宽度 px | `130` |
53
+ | duration | 自动关闭毫秒,`0` 不自动关 | `2000` |
54
+ | maskDisableClik | 拦截遮罩点击。微信映射为 `mask` | `true` |
55
+ | success | 弹出成功 | - |
56
+ | fail | 弹出失败 | - |
57
+ | complete | 调用结束 | - |
58
+ | close | 关闭完成 | - |
59
+
60
+ ### 平台差异
61
+
62
+ 1. 微信小程序:`uni.showToast`,仅 `title`、`duration`、`maskDisableClik` 生效;自定义图标码降级为 `none`。
63
+
64
+ ### 版本
65
+
66
+ 版权归https://xui.tmui.design你不得修改及二次开发,仅供TMUI4会员商用使用。不得转给非VIP会员使用,一经查实数倍赔偿,并追究法律责任。
67
+
68
+ ## 更新日志
69
+
70
+ ### 1.1.1(2026-08-14)
71
+ * 配置新增 success / fail / complete 回调,对齐 DCloud 函数风格:弹出成功走 success,失败走 fail,两者之后都会走 complete;原有 close 仍在消失时触发
72
+ ### 1.1.0(2026-08-13)
73
+ * 重构为与 x-modal-s 一致的 DCloud 函数风格:showToast(options?) 支持无参调用,五端签名统一
74
+ * 性能优化:安卓端 remixicon 字体缓存(不再每次 show 都读磁盘)、代次隔离防止旧定时器关掉新 toast、Activity 销毁时自动释放弹层防泄漏
75
+ * iOS 端 hide 后释放视图与回调引用,close 回调保证只触发一次
76
+ * web 端修复动画样式因 id 不匹配每次 show 都重复插入 style 标签的问题,字体只加载一次
77
+ * 微信端 options 允许为空,iconCode 非内置图标时自动降级为 none
78
+ ### 1.0.8(2026-04-21)
79
+ * 修复可能存在的内存泄露风险
80
+ ### 1.0.7(2026-01-30)
81
+ * 使用了sdk4.65+推出的接口来避免与官方的弹层冲突导致无法显示。
82
+ ### 1.0.6(2025-08-17)
83
+ * 兼容原生鸿蒙
84
+ ### 1.0.5(2025-04-13)
85
+ * xToast在安卓,ios,web布局已更新为宽自动,并设定最大宽(之前宽是固定),方便在平板手机内容超多时自动断行及限定最大宽
86
+ * 在安卓端并且会自动隐藏状态栏,并可以覆盖底部安全区域,还可以覆盖住官方的diaglo-page,做到真正的全覆盖
87
+ * 补上close事件
88
+ ### 1.0.4(2025-02-23)
89
+ * 安卓端重新设定了动画参数,让打开显示的更自然.同时关闭逻辑改成了:当页面卸载或者超时跳转页面时,不会自动关闭上页的问题.
90
+ * ios端添加了显示动画,显示更自然
91
+ ### 1.0.3(2025-02-13)
92
+ * 兼容微信
93
+ ### 1.0.2(2024-09-12)
94
+ * 增加了maskDisableClik事件穿透,false表示允许穿透默认是true禁止事件穿透遮罩.
95
+ ### 1.0.1(2024-09-06)
96
+ * 更新支持Uniapp
97
+ ### 1.0.0(2024-08-06)
98
+ 安卓,ios,web可用。
@@ -0,0 +1,204 @@
1
+ # x-udp-s UDP通信
2
+
3
+ 局域网 UDP 客户端 / 服务端。一个 `xUdp` 实例就是一个 socket,既能 `bind` 固定端口收包当服务端,也能 `send` 单播 / 广播当客户端。自带应用层分段重组、CRC32 校验、单播缺片重传、指纹 + HMAC-SHA256 验签,回调都在主线程。
4
+
5
+ ### 兼容性
6
+
7
+ | Harmony | iOS | Android | WEB | 微信小程序 |
8
+ | --- | --- | --- | --- | --- |
9
+ | 支持 | 支持 | 支持 | 不支持 | 支持 |
10
+
11
+ 标准浏览器没有原始 UDP(MDN 无 `UDPSocket`,WebTransport 只能连 HTTP/3 服务),Web 端所有方法固定 `fail 1008`,只保留契约占位。真机联调请用「微信小程序 ↔ 手机 App」,两端连同一个 Wi-Fi。
12
+
13
+ ### 调用
14
+
15
+ ```ts
16
+ import { xUdp, XUdpBindResult, XUdpEvent, XUdpFailInfo } from "@/uni_modules/x-udp-s"
17
+
18
+ const udp = new xUdp()
19
+
20
+ udp.addEventListener("message", (e : XUdpEvent) => {
21
+ // e.address / e.port 是数据报源地址,回连以它为准
22
+ if (e.encoding == "binary") {
23
+ console.log(e.buffer.byteLength, e.address, e.port)
24
+ return
25
+ }
26
+ console.log(e.data, e.address, e.port, e.verified, e.segmentCount)
27
+ })
28
+ udp.addEventListener("progress", (e : XUdpEvent) => {
29
+ console.log(e.receivedBytes, e.totalBytes)
30
+ })
31
+ udp.addEventListener("error", (e : XUdpEvent) => {
32
+ console.log(e.errCode, e.errMsg)
33
+ })
34
+
35
+ udp.bind({
36
+ port: 38400,
37
+ broadcast: true,
38
+ auth: { enable: true, fingerprint: "dev-a", secret: "shared-secret" },
39
+ frame: { segmentSize: 1024, assembleTimeout: 30000, maxMessageBytes: 16777216, retry: 3 },
40
+ success: (res : XUdpBindResult) => {
41
+ console.log(res.port, res.localip, res.addresses)
42
+ },
43
+ fail: (err : XUdpFailInfo) => {
44
+ console.log(err.errCode, err.errMsg)
45
+ }
46
+ })
47
+
48
+ // 广播发现(utf8 文本)
49
+ udp.send({ address: "255.255.255.255", port: 38400, data: "{\"t\":\"discover\"}" })
50
+ // 已有 base64 字符串仍可走 encoding: "base64",收端 e.data 原样交回
51
+ udp.send({ address: "192.168.1.23", port: 38400, data: base64, encoding: "base64" })
52
+ // 文件:只传路径和编码,插件在各端入口读文件
53
+ udp.send({
54
+ address: "192.168.1.23",
55
+ port: 38400,
56
+ filePath: path,
57
+ fileName: "font.ttf",
58
+ encoding: "binary"
59
+ })
60
+
61
+ udp.close()
62
+ udp.destroy()
63
+ ```
64
+
65
+ ### 实例方法
66
+
67
+ | 名称 | 说明 |
68
+ | --- | --- |
69
+ | bind | 绑定端口开始收包,成功回带实际端口、优选局域网 IP 与全部网卡 |
70
+ | send | 发送完整消息,超过 `segmentSize` 自动分段 |
71
+ | applyAuth | 运行时改验签配置 |
72
+ | applyFrame | 运行时改分段配置 |
73
+ | getLocalAddresses | 枚举本机 IPv4,未 bind 也能调 |
74
+ | getBoundAddress | 返回当前监听端口与优选 IP |
75
+ | addEventListener | 登记事件,返回可用于移除的 id |
76
+ | removeEventListener | 按 id 移除 |
77
+ | getState | `idle` / `listening` / `closed` / `error` |
78
+ | close | 关闭 socket,保留监听器 |
79
+ | destroy | 关闭并清空监听器 |
80
+
81
+ 模块级还导出 `xGetLocalAddresses(options)`,不需要先 bind。
82
+
83
+ ### 事件
84
+
85
+ `listening` / `message` / `progress` / `error` / `close`,载荷统一是扁平的 `XUdpEvent`,按类型取字段:
86
+
87
+ - `listening`:`port`
88
+ - `message`:`data`、`buffer`、`encoding`、`address`、`port`、`verified`、`fingerprint`、`totalBytes`、`segmentCount`
89
+ - `progress`:`msgId`、`receivedBytes`、`totalBytes`、`segmentCount`、`address`、`port`
90
+ - `error`:`errCode`、`errMsg`,可能带 `address` / `port` / `msgId`
91
+ - `close`:`port`
92
+
93
+ ### 大消息:这不是 TCP 粘包
94
+
95
+ UDP 是数据报协议,一次 `recv` 就是一次 `send` 的完整报文,内核按 UDP 头的 length 切边界,不存在粘包。传大数据要处理的是另一件事:**应用层主动分段与重组(SAR)**。
96
+
97
+ 本插件的 XUDP v1 帧头是 ASCII 定序字段,用 `|` 分隔,载荷是第 12 个 `|` 之后的全部内容,所以载荷里出现 `|` 不会破坏解析:
98
+
99
+ ```text
100
+ XUDP1|kind|flags|enc|msgId|totalLen|offset|len|crc|mcrc|sig|fp|payload
101
+ ```
102
+
103
+ - 每个 UDP 数据报只承载一条 segment,绝不把多条业务消息塞进同一个数据报
104
+ - `segmentSize` 钳在 `256..1400`,默认 `1024`,一段必须小于 MTU,禁止依赖 IP 分片
105
+ - 收端按 `msgId + offset` 重组,覆盖完 `[0, totalLen)` 且末段标记到齐、整包 CRC 通过,才触发一次 `message`
106
+ - 单播发现空洞会向来源发 NACK,发送方最多重传 `retry` 次;广播不重传。FIN 丢了也会在空闲后主动要缺片,不只靠 `assembleTimeout`
107
+ - `assembleTimeout` 是空闲超时(默认 30s),不是整包传输总时长
108
+ - `maxMessageBytes` 默认 16MB(binary 按原始字节),钳位到 64MB。这是防整包进内存撑爆的天花板,不是 UDP 限制;5MB 字体直接发即可,更大的在 `bind` 时把 `maxMessageBytes` 调高
109
+ - `encoding` 为 `utf8` 时单段字符预算按 1/3 取值,避免多字节字符撑破 MTU
110
+ - `encoding` 为 `binary` 时优先传 `filePath`(插件读文件);也可以直接传 `buffer`。收端从 `e.buffer` 取,`e.data` 为空串。带 `fileName` / `filePath` 时收端 `e.fileName` 有值。`totalBytes` 按原始字节计。线上为了走现有文本成帧,载荷仍是该段字节的 base64(帧头 `enc=n`),调用方不用自己编解码
111
+ - `encoding` 为 `base64` 时:调用方已经是 base64 文本,收端 `e.data` 原样交回,不自动转 ArrayBuffer
112
+
113
+ ### 验签:应用层指纹 + HMAC,不是 DTLS
114
+
115
+ `auth.enable` 打开后,发送方对 `msgId + totalLen + messageCrc + fingerprint` 的规范串做 HMAC-SHA256 并随帧发出,收端用同一 `secret` 复算。签名只覆盖这段短摘要,整包完整性由 CRC-32 承担——大文件在 Android / iOS 上按 Double 语义跑 SHA-256 代价过高。
116
+
117
+ `allowFingerprints` 非空时只接受列表内的对端。验签不通过按 `1012` 丢弃并抛 `error`。报文本身是明文,不做 DTLS(鸿蒙 TLS 只覆盖 TCP)。
118
+
119
+ ### 本机 IP:发现必须自己报送
120
+
121
+ `bind(0.0.0.0)` 只表示听所有网卡,不会告诉别人「该连哪个 IP」。所以设备发现要同时用两条地址:
122
+
123
+ 1. **数据报源地址**:`XUdpEvent.address / port`,回包用这个最准,不要信对端自称的 IP
124
+ 2. **本机优选局域网 IP**:`bind` 成功回带的 `localip`,写进自己的 announce 报文
125
+
126
+ 插件自己枚举网卡:只报 IPv4,跳过 loopback / 未启用 / 链路本地;优选顺序为 `wlan*` / `wifi` / `en0` > 其它非虚拟网卡 > 第一个可用地址。身份唯一键是 `fingerprint`,不是 IP——局域网 IP 会变,只作可达地址。
127
+
128
+ ### 在线状态:应用层心跳
129
+
130
+ UDP 无连接,没有「保持连接」这回事。在线是用周期性数据报 + 超时模拟的:客户端广播 `discover`,服务端单播 `announce`;之后服务端按间隔发 `ping`,客户端回 `pong` 或 `report`,超时没应答就标离线。一方主动关闭时应再发一帧 `bye`,对端立刻标离线,不要只靠超时。这些 `type` 是业务约定,走普通 `send`,插件本身只管 socket。
131
+
132
+ ### 错误码
133
+
134
+ `1001` 系统错误,`1002` 参数错误,`1004` 权限被拒绝,`1008` 当前平台不支持,`1011` 密钥无效,`1012` 验签失败,`1013` 尚未 bind,`1014` 重组超时,`1015` 校验和不一致,`1016` 消息超过上限,`1017` 缺片重传耗尽。
135
+
136
+ ### 平台差异
137
+
138
+ **Android**
139
+
140
+ - `DatagramSocket` 收发,收包在后台线程,事件 post 回主线程。
141
+ - 发送走每 socket 一条单线程队列,段间隔约 1.5ms,并把 `SO_SNDBUF` / `SO_RCVBUF` 提到 1MB。不限速时大文件(两千多段)会把对端内核 UDP 缓冲打满,进度停在一半左右。
142
+ - 网卡走 `NetworkInterface` 枚举。
143
+ - 需 `INTERNET`、`ACCESS_NETWORK_STATE`、`ACCESS_WIFI_STATE`、`CHANGE_WIFI_MULTICAST_STATE`。
144
+
145
+ **iOS**
146
+
147
+ - BSD socket(`socket` / `bind` / `sendto` / `recvfrom`)。没用 Network.framework 收发:`NWListener` 会给每个对端派生独立 `NWConnection`,而这里要的是「一个 socket 同时收所有来源 + 发广播」,POSIX 语义更直接。
148
+ - 网卡走 `getifaddrs`,收包线程与事件回调都 hop 回主线程。socket 绑到 Wi-Fi 网卡(`IP_BOUND_IF`),避免广播从蜂窝出去变成 `errno 65`。
149
+ - 发送走每 socket 一条后台串行队列:`sendText` 入队即返回,`sendto` 在后台跑、段间隔约 1.2ms,避免并发打满线程、对端收不齐。`SO_SNDBUF` / `SO_RCVBUF` 提到 1MB。
150
+ - 成帧 / Base64 / 整包 CRC / 收包重组在主线程 session 完成(不再像 1.0.3 那样搬后台队列,避免共享状态竞态),但重活都是原生:整包 CRC 走原生 Swift 查表、Base64 走 `uni.arrayBufferToBase64`。发文件时各端 `index.uts` 自己读文件,不要把拼接/切片做成插件公共函数。
151
+ - 发 `255.255.255.255` 时同时打各网卡定向广播(如 `192.168.1.255`),iOS 对有限广播经常直接失败。
152
+ - 需 `NSLocalNetworkUsageDescription` 与 `NSBonjourServices`(`_xudp._udp`)。纯 BSD 收发不会弹本地网络授权,`bind` 时会起一个 `NWBrowser` 把系统弹窗拉出来。首次请点「允许」,设置里也可再开「本地网络」。
153
+
154
+ **HarmonyOS**
155
+
156
+ - `@kit.NetworkKit` 的 `socket.constructUDPSocketInstance`。
157
+ - 发送分帧后按批限速交给 `udp.send`(每批 4 帧、批间隔 5ms,约 800 段/秒):入队即返回,绝不在主线程同步打数千个 `udp.send`。`receiveBufferSize` / `sendBufferSize` 提到 1MB。当客户端发 3.6MB(两三千段)不再打爆缓冲或闪退。
158
+ - 整包 / 分段 CRC 走原生 ArkTS 查表(`XUdpHarmonyNative.crc32Hex`),与 UTS / iOS 的 CRC-32/ISO-HDLC 完全一致;避免 UTS 在主线程对 4MB+ base64 逐字符算导致卡死。
159
+ - `bind` 不支持端口 0 自动分配,传 0 时由插件取一个高位随机端口。
160
+ - 需 `ohos.permission.INTERNET`、`ohos.permission.GET_NETWORK_INFO`。宿主 `entry/module.json5` 也应声明。
161
+
162
+ **微信小程序**
163
+
164
+ - `wx.createUDPSocket`,广播由每次 `send` 的 `setBroadcast` 打开;本机 IP 走 `wx.getLocalIPAddress`。
165
+ - 基础库 2.9.0+ 才支持 `255.255.255.255`;单个数据报需小于 4096,所以默认 `segmentSize` 1024。
166
+ - 不能对本机 IP 发包,必须两台设备联调。
167
+
168
+ **Web**
169
+
170
+ - 无原始 UDP,`bind` / `send` / `getLocalAddresses` 一律 `fail 1008`;`addEventListener` 可登记但不触发,`getState()` 固定 `idle`。
171
+
172
+ ### 版本
173
+
174
+ 版权归 https://xui.tmui.design 你不得修改及二次开发,仅供 TMUI4 会员商用使用。不得转给非 VIP 会员使用,一经查实数倍赔偿,并追究法律责任。
175
+
176
+ ## 更新日志
177
+
178
+ ### 1.0.4(2026-08-18)
179
+ * `send` 支持 `filePath` + `encoding`(binary / utf8 / base64):各端 `index.uts` 自己读文件,不再导出拼接/切片公共函数。收端 `event.fileName` 带文件名。
180
+ * 修复 iOS 选文件发送闪退:插件内不能调 `uni.getFileSystemManager()`。iOS 改为 `UTSiOS.convert2AbsFullPath` + 原生 `Data(contentsOf:)` / `ArrayBuffer.fromData`。
181
+ * `xUdpConcatBuffers` / `xUdpSliceBuffer` 不再作为插件公共 API:iOS `?uts-proxy` 不认再导出,Android 整包也会 `找不到名称`。
182
+ * 修复 HarmonyOS 当客户端发 3.6MB 文件闪退:整包 / 分段 CRC 改走原生 ArkTS 查表(`XUdpHarmonyNative.crc32Hex`),分帧按批限速(每批 4 帧、间隔 5ms,约 800 段/秒)交给 `udp.send`,`receiveBufferSize` / `sendBufferSize` 提到 1MB。
183
+ * 撤掉 1.0.3 的「iOS session 全量搬后台队列」——共享状态在多队列下有竞态。session 回主线程,只有原生 `sendto` 在后台串行队列限速;整包 CRC 仍走原生 Swift,`xUdpConcatBuffers` / `xUdpSliceBuffer` 用 `Uint8Array.set` / `ArrayBuffer.slice` 整段拷贝,不逐字节。
184
+ * 三端发送对齐为「主线程成帧(原生 CRC + 原生 Base64)+ 原生异步限速发」,收包都在原生后台线程重组回主线程,`SO_SNDBUF` / `SO_RCVBUF` 均 1MB;无论做服务端还是客户端,收发大文件走同一条路径。
185
+
186
+ ### 1.0.3(2026-08-18)
187
+ * 修复 iOS 发 3MB+ 文件主线程卡死:整包 CRC 走原生 Swift,重组用 `join` 代替反复 `+=`。(本版一度把整个 session 搬到后台队列,1.0.4 已回退为主线程 session。)
188
+
189
+ ### 1.0.2(2026-08-18)
190
+ * 修复 Android 大文件只收到一半:发送限速 1.5ms/段,并加大 socket 收发缓冲。
191
+ * FIN 丢失时也会在空闲后主动 NACK 要缺片,不再干等到重组超时。
192
+
193
+ ### 1.0.1(2026-08-18)
194
+ * `send` 新增 `encoding: "binary"` 与 `buffer: ArrayBuffer`,`readFile` 不传 encoding 的二进制可直接发出。
195
+ * `message` 事件增加扁平字段 `buffer`;binary 时 `data` 为空串,`totalBytes` 按原始字节计。
196
+ * 仍兼容 `utf8` / `base64` 字符串发送。
197
+ * 默认 `maxMessageBytes` 提到 16MB(最大可配 64MB),演示页不再按 1MB 提前拦截;`assembleTimeout` 默认 30s。
198
+
199
+ ### 1.0.0(2026-08-17)
200
+ * 新增 x-udp-s:局域网 UDP 客户端 / 服务端,多实例,回调主线程。
201
+ * 应用层 SAR 分段重组(XUDP v1 成帧)、段与整包 CRC32、单播缺片 NACK 重传。
202
+ * 指纹 + HMAC-SHA256 应用层验签,支持 allowFingerprints 白名单。
203
+ * 插件自带本机 IPv4 网卡枚举,bind 成功回带 localip 与全部地址。
204
+ * Android / iOS / HarmonyOS / 微信小程序为真实现;Web 无原始 UDP,统一 fail 1008。
@@ -0,0 +1,83 @@
1
+ # x-utils-s Base64与文件互转
2
+
3
+ Base64、ArrayBuffer、本地文件互转。由原 `x-base64toarraybuff-s`、`x-base642file-s` 合并,接口改为 DCloud 风格 `success / fail / complete`。
4
+
5
+ ### 兼容性
6
+
7
+ | Harmony | IOS | Android | WEB | 小程序 |
8
+ | --- | --- | --- | --- | --- |
9
+ | 支持 | 支持 | 支持 | 支持 | 支持 |
10
+
11
+ ### 调用
12
+
13
+ ```ts
14
+ import { base64ToArrayBuffer, arrayBufferToBase64, base64ToFile } from "@/uni_modules/x-utils-s"
15
+
16
+ base64ToArrayBuffer({
17
+ base64: "SGVsbG8gV29ybGQ=",
18
+ success: (res) => {
19
+ console.log(res.data.byteLength)
20
+ }
21
+ })
22
+
23
+ arrayBufferToBase64({
24
+ arrayBuffer: res.data,
25
+ success: (out) => {
26
+ console.log(out.base64)
27
+ }
28
+ })
29
+
30
+ base64ToFile({
31
+ base64: "data:image/png;base64,iVBORw0KGgo...",
32
+ fileName: "demo.png",
33
+ success: (file) => {
34
+ console.log(file.tempFilePath, file.size)
35
+ },
36
+ fail: (err) => {
37
+ console.log(err.errCode, err.errMsg)
38
+ }
39
+ })
40
+ ```
41
+
42
+ ### 方法
43
+
44
+ | 名称 | 说明 |
45
+ | --- | --- |
46
+ | base64ToArrayBuffer | Base64 转 ArrayBuffer,支持 `data:` 前缀 |
47
+ | arrayBufferToBase64 | ArrayBuffer 转 Base64 |
48
+ | base64ToFile | Base64 写入缓存文件。Web 返回 blob URL |
49
+
50
+ ### base64ToFile
51
+
52
+ | 字段 | 说明 |
53
+ | --- | --- |
54
+ | base64 | 必填,纯 Base64 或 data URI |
55
+ | fileName | 可选。不传则按 mime 生成 `x-utils-时间戳.ext` |
56
+
57
+ 成功结果:`tempFilePath`、`size`、`name`、`mimeType`。
58
+
59
+ - Android / Harmony:应用缓存目录 `x-utils/`
60
+ - iOS:应用 Caches
61
+ - 微信:`wx.env.USER_DATA_PATH`
62
+ - Web:`blob:` 地址
63
+
64
+ 不再强制重编码为 PNG,按原始字节落盘,扩展名跟 data URI 的 mime 走。
65
+
66
+ ### 错误码
67
+
68
+ | 码 | 含义 |
69
+ | --- | --- |
70
+ | 1001 | 系统错误 |
71
+ | 1002 | 参数错误 |
72
+ | 1009 | 转换或写入失败 |
73
+
74
+ ### 版本
75
+
76
+ 版权归 https://xui.tmui.design 你不得修改及二次开发,仅供 TMUI4 会员商用使用。不得转给非 VIP 会员使用,一经查实数倍赔偿,并追究法律责任。
77
+
78
+ ## 更新日志
79
+
80
+ ### 1.0.0(2026-08-16)
81
+ * 合并原 x-base64toarraybuff-s、x-base642file-s
82
+ * 统一为 DCloud 风格 success / fail / complete
83
+ * 提供 base64ToArrayBuffer、arrayBufferToBase64、base64ToFile
@@ -0,0 +1,115 @@
1
+ # x-vibrate-s 震动
2
+
3
+ 设备震动,对齐 DCloud `success / fail / complete` 函数式调用。
4
+
5
+ ### 兼容性
6
+
7
+ | Harmony | iOS | Android | WEB | 微信小程序 |
8
+ | --- | --- | --- | --- | --- |
9
+ | 支持 | 支持 | 支持 | 部分支持 | 支持 |
10
+
11
+ ### 调用
12
+
13
+ ```ts
14
+ import { vibrate, vibrateShort, vibrateLong, XVibrateOptions } from "@/uni_modules/x-vibrate-s"
15
+
16
+ vibrate({
17
+ duration: 50,
18
+ type: "medium",
19
+ success: (res) => {
20
+ console.log(res.errMsg)
21
+ },
22
+ fail: (err) => {
23
+ console.log(err.errCode, err.errMsg)
24
+ }
25
+ } as XVibrateOptions)
26
+
27
+ vibrateShort({ type: "light" } as XVibrateOptions)
28
+ vibrateLong({} as XVibrateOptions)
29
+ ```
30
+
31
+ 旧写法 `vibrator(50)` 已移除,请改为 `vibrate({ duration: 50 })`。
32
+
33
+ ### 方法
34
+
35
+ | 名称 | 说明 |
36
+ | --- | --- |
37
+ | vibrate | 自定义时长震动,默认 15ms |
38
+ | vibrateShort | 短震动,约 15ms,`type` 生效 |
39
+ | vibrateLong | 长震动,约 400ms |
40
+
41
+ ### 参数
42
+
43
+ `XVibrateOptions`
44
+
45
+ | 字段 | 说明 | 默认 |
46
+ | --- | --- | --- |
47
+ | duration | 时长 ms,仅 `vibrate` 使用,范围 1–10000 | 15 |
48
+ | type | `light` / `medium` / `heavy` | medium |
49
+ | success | 成功 | - |
50
+ | fail | 失败 | - |
51
+ | complete | 结束,成功带结果,失败为 null | - |
52
+
53
+ 错误码:`1001` 系统错误,`1002` 参数错误,`1003` 设备无震动器,`1004` 权限被拒绝,`1008` 当前平台不支持。
54
+
55
+ ### 平台差异
56
+
57
+ **Android**
58
+
59
+ - 需 `android.permission.VIBRATE`(普通权限,无需运行时申请)。
60
+ - API 21–25:`Vibrator.vibrate(long)`,忽略 `type`。
61
+ - API 26+:`VibrationEffect.createOneShot`;有振幅控制时 `light=64`、`medium=160`、`heavy=255`。
62
+ - API 31+:通过 `VibratorManager.getDefaultVibrator()` 取马达,低版本仍走 `VIBRATOR_SERVICE`。
63
+
64
+ **iOS**(deploymentTarget 12)
65
+
66
+ - 短震动:`UIImpactFeedbackGenerator`(iOS 10+ 即有;本插件最低 12)。
67
+ - `impactOccurred(intensity:)` 仅 iOS 13+。
68
+ - 自定义时长 / 长震动:iOS 13+ 且 `CHHapticEngine.supportsHaptics` 时用连续触感;否则一次系统震动,时长无法精确控制。
69
+ - 不再使用 `Thread.sleep` 循环挡线程。
70
+
71
+ **HarmonyOS**
72
+
73
+ - 已去掉本地 HAR,直接使用 `@kit.SensorServiceKit` 的 `vibrator.startVibration`。
74
+ - 需声明 `ohos.permission.VIBRATE`(普通权限,安装授予)。宿主 `entry/module.json5` 也应声明,不要只写在 HAR。
75
+ - 按官方开发指导:`type: 'time'` + `{ id: 0, deviceId: -1, usage: 'alarm' }` + callback。新系统 NAPI 会读 `deviceId`,缺了会 `Vibrate time failed, ret:-1`。
76
+ - 短震在鸿蒙最短 50ms(15ms 会被马达拒绝);`type` 不区分强度。失败时再试 `deviceId: 0` 和 `haptic.clock.timer`。
77
+ - 错误:201→1004,401→1002,801→1003,14600101→1001;fail.errMsg 带原生错误码。
78
+
79
+ **Web**
80
+
81
+ - `navigator.vibrate`。Safari iOS 等不支持时 `fail 1008`。忽略 `type`。
82
+
83
+ **微信小程序**
84
+
85
+ - 短震动走 `wx.vibrateShort({ type })`。
86
+ - 长震动或 `duration >= 400` 走 `wx.vibrateLong`。
87
+ - 不支持精确自定义时长。
88
+
89
+ ### 版本
90
+
91
+ 版权归 https://xui.tmui.design 你不得修改及二次开发,仅供 TMUI4 会员商用使用。不得转给非 VIP 会员使用,一经查实数倍赔偿,并追究法律责任。
92
+
93
+ ## 更新日志
94
+
95
+ ### 1.1.4(2026-08-16)
96
+ * 鸿蒙:VibrateAttribute 补 `deviceId`(系统日志 `Can not find deviceId property` 会导致 time 振动 ret:-1);短震最短 50ms;失败再试 `haptic.clock.timer`。
97
+ ### 1.1.3(2026-08-16)
98
+ * 鸿蒙按官方开发指导重写:`startVibration` 使用 callback、`id: 0`、`usage: 'alarm'`、`type: 'time'`;UTS/ETS 用 JSON 回传,避免错误码丢失成 1001 系统错误。
99
+ ### 1.1.2(2026-08-16)
100
+ * 鸿蒙震动:`usage` 不再用 `unknown`(触感开关关闭会 14600101→1001)。时长走 `notification`/`alarm`,短震预设先探测再回退 time。
101
+ ### 1.1.1(2026-08-16)
102
+ * 鸿蒙 fail.errMsg 改为必填字符串,避免 string | undefined
103
+ ### 1.1.0(2026-08-16)
104
+ * 改为 DCloud 函数式 API:`vibrate` / `vibrateShort` / `vibrateLong`,支持 success / fail / complete。
105
+ * 鸿蒙去掉本地 HAR,按系统 `SensorServiceKit.vibrator` 重写。
106
+ * Android 按 API 21/26/31 分支取马达与振幅;iOS 12 以下时长忽略,13+ 用 Core Haptics,去掉线程空转。
107
+ ### 1.0.3(2025-07-25)
108
+ * 兼容原生鸿蒙
109
+ ### 1.0.2(2025-04-13)
110
+ * IOS端现在支持指定震动频率.
111
+ ### 1.0.1(2025-02-10)
112
+ * 兼容微信
113
+ ### 1.0.0(2024-06-01)
114
+ 使用手机震动
115
+ 安卓,ios支持。
@@ -0,0 +1,93 @@
1
+ # x-webview-u 混合WebView
2
+
3
+ 混合开发 WebView。可加载网页,也可通过 `getManager()` 安装、打开本地小程序包。完整混合方案见 [开发文档](https://xui.tmui.design/70.混合开发/01.关于.html)。
4
+
5
+ ### 兼容性
6
+
7
+ | Harmony | IOS | Android | WEB | 小程序 |
8
+ | --- | --- | --- | --- | --- |
9
+ | 支持 | 支持 | 支持 | 支持 | 不支持 |
10
+
11
+ ### 调用
12
+
13
+ ```vue
14
+ <x-webview-u ref="wbRef" src="https://x-ui.design" :progressChanged="onProgress" @pageFinish="onFinish"></x-webview-u>
15
+ ```
16
+
17
+ ```ts
18
+ wbRef.value?.loadUrl("https://x-ui.design")
19
+ wbRef.value?.navback()
20
+ wbRef.value?.refresh()
21
+
22
+ const manager = wbRef.value?.getManager()
23
+ manager?.checkAppInstall("tmui.app.hybrid").then((res) => {
24
+ if (res == null) {
25
+ manager.installApp(appinfo, null).then((ok) => {
26
+ if (ok) manager.openMiniProgramHostUrl("tmui.app.hybrid")
27
+ })
28
+ } else {
29
+ manager.openMiniProgramHostUrl("tmui.app.hybrid")
30
+ }
31
+ })
32
+ ```
33
+
34
+ ### 参数
35
+
36
+ | 字段 | 说明 | 默认 |
37
+ | --- | --- | --- |
38
+ | src | 加载地址 | `https://x-ui.design` |
39
+ | width / height | 尺寸 | `100%` |
40
+ | schema | App 唤起协议白名单 | `[]` |
41
+ | allowLoadUrl | 外链是否放行。iOS 不支持 | 放行 |
42
+ | allowLoadUrlWhite | 外链白名单 | `[]` |
43
+ | showLoadProgress | 进度条 | `false` |
44
+ | loadProgressColor | 进度条颜色 | 主题色 |
45
+ | progressChanged | 加载进度 0~100 | - |
46
+ | callMethod | Web 调宿主 | - |
47
+ | webConfig | 注入 Web 的配置 | `{ sign: 'tmuiJssdk' }` |
48
+
49
+ ### 事件
50
+
51
+ | 名称 | 参数 | 说明 |
52
+ | --- | --- | --- |
53
+ | init | 无 | 原生视图初始化完成 |
54
+ | pageStart | 当前 url | 开始加载页面 |
55
+ | pageFinish | 当前 url | 页面加载完成 |
56
+ | pageError | 错误信息 | 页面加载失败 |
57
+ | contentheightchange | 内容高度 | 网页内容高度变化 |
58
+ | postMessage | `{ detail: string }` | 网页向宿主发消息 |
59
+ | donwload | `{ url, userAgent, contentDisposition, mimeType, contentLength }` | 触发下载。iOS 14.5+ |
60
+
61
+ ### 方法
62
+
63
+ | 名称 | 需要 | 说明 |
64
+ | --- | --- | --- |
65
+ | loadUrl | `url: string` | 加载指定地址 |
66
+ | navback | 无 | 后退一页 |
67
+ | forward | 无 | 前进一页 |
68
+ | refresh | 无 | 刷新当前页 |
69
+ | clearCache | 无 | 清除 WebView 缓存 |
70
+ | setUserAgent | `ua: string` | 设置 User-Agent |
71
+ | getUserAgent | 无 | 返回 Promise,当前 User-Agent |
72
+ | evaJs | `jsCode: string` | 执行网页 JS。Android 返回结果,其它端为 `null` |
73
+ | getManager | 无 | 返回小程序管理器,可 `checkAppInstall` / `installApp` / `openMiniProgramHostUrl` |
74
+
75
+ ### 平台差异
76
+
77
+ 1. 无微信实现。Web 为 iframe。
78
+ 2. `allowLoadUrl` 拦截 iOS 不支持。
79
+ 3. `evaJs`:Android 返回执行结果;其它端为 `null`。
80
+ 4. `donwload`:iOS 14.5+。
81
+
82
+ ### 版本
83
+
84
+ 版权归https://xui.tmui.design你不得修改及二次开发,仅供TMUI4会员商用使用。不得转给非VIP会员使用,一经查实数倍赔偿,并追究法律责任。
85
+
86
+ ## 更新日志
87
+
88
+ ### 1.0.2(2026-05-20)
89
+ * 重要更新,三个平台添加的相机和视频声音录制权限。请参考demo实现在网页上直接录制视频抓拍功能。
90
+ ### 1.0.1(2026-03-26)
91
+ * 【重要优化】x-webview-u,适配了web端,通过打补丁式引入额外的tmuiJssdkWebPack1.0.0.js来支持web端,即web套web。
92
+ ### 1.0.0(2026-02-01)
93
+ * 首次发布webview混合开发插件,三端app支持:鸿蒙,安卓,ios