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,212 @@
1
+ # x-crypto-s 加解密
2
+
3
+ ### 开发文档
4
+ [TMUI4.0文档](https://xui.tmui.design/)
5
+ [TMUI4.0组件库](https://ext.dcloud.net.cn/plugin?id=16369)
6
+
7
+ 加密插件
8
+
9
+ ### 说明
10
+ 这是tmui4.0|XUI的原生插件附赠插件,提供了多种加密算法的实现,包括MD5、Base64、SHA系列、AES、DES、RSA、RC4 以及国密 SM2/SM3/SM4。国际算法与 CryptoJS 对齐;国密默认与 sm-crypto / 微信小程序对齐,五端可交叉加解密和验签。
11
+
12
+ ### 兼容性
13
+
14
+ | Harmony | IOS | Android | WEB | 小程序 |
15
+ | --- | --- | --- | --- | --- |
16
+ | 支持 | 支持 | 支持 | 支持 | 支持 |
17
+
18
+ ### API说明
19
+
20
+ #### MD5加密
21
+ ```ts
22
+ function md5(str: string): string
23
+ ```
24
+ - 参数:
25
+ - str: 待加密的字符串
26
+ - 返回值:MD5加密后的字符串
27
+
28
+ #### Base64编解码
29
+ ```ts
30
+ function base64Encode(str: string): string
31
+ function base64Decode(str: string): string
32
+ ```
33
+ - 参数:
34
+ - str: 待编码/解码的字符串
35
+ - 返回值:Base64编码/解码后的字符串
36
+ - 注意:在Web端加密中文字符时,需要先使用encodeURI处理
37
+
38
+ #### SHA系列加密
39
+ ```ts
40
+ function sha256(str: string): string
41
+ function sha512(str: string): string
42
+ function sha1(str: string): string
43
+ function hmacSha256(key: string, data: string): string
44
+ function hmacSha512(key: string, data: string): string
45
+ ```
46
+ - 参数:
47
+ - str/data: 待加密的字符串
48
+ - key: HMAC加密的密钥
49
+ - 返回值:对应算法加密后的字符串
50
+
51
+ #### AES加密
52
+ ```ts
53
+ function aesEncrypt(key: string, data: string, mode: string = "ECB", iv: string|null = null, keySize: number|null = null): string
54
+ function aesDecrypt(key: string, data: string, mode: string = "ECB", iv: string|null = null, keySize: number|null = null): string
55
+ ```
56
+ - 参数:
57
+ - key: 加密密钥(UTF-8字符串,根据keySize截取和补足)
58
+ - data: 待加密/解密的数据(base64字符串)
59
+ - mode: 加密模式,支持ECB和CBC
60
+ - iv: 初始化向量
61
+ - keySize: 密钥长度(16=128位, 24=192位, 32=256位)
62
+ - 返回值:加密(经过base64字符串)/解密后的字符串
63
+
64
+ #### DES加密
65
+ ```ts
66
+ function desEncrypt(key: string, data: string, mode: string = "ECB", iv: string|null = null): string
67
+ function desDecrypt(key: string, data: string, mode: string = "ECB", iv: string|null = null): string
68
+ ```
69
+ - 参数:
70
+ - key: 加密密钥
71
+ - data: 待加密/解密的数据
72
+ - mode: 加密模式,支持ECB和CBC
73
+ - iv: 初始化向量
74
+ - 返回值:加密/解密后的字符串
75
+
76
+ #### RSA加密
77
+ ```ts
78
+ function generateRSAKeyPair(keySize: number = 2048): RSARANDOMKEY
79
+ function rsaEncrypt(publicKey: string, data: string): string
80
+ function rsaDecrypt(privateKey: string, data: string): string
81
+ ```
82
+ - 参数:
83
+ - keySize: RSA密钥长度
84
+ - publicKey: 公钥
85
+ - privateKey: 私钥
86
+ - data: 待加密/解密的数据
87
+ - 返回值:
88
+ - generateRSAKeyPair: 返回包含publicKey和privateKey的对象
89
+ - rsaEncrypt/rsaDecrypt: 加密/解密后的字符串
90
+
91
+ #### RC4加密
92
+ ```ts
93
+ function rc4Encrypt(key: string, data: string): string
94
+ function rc4Decrypt(key: string, data: string): string
95
+ ```
96
+ - 参数:
97
+ - key: 加密密钥
98
+ - data: 待加密/解密的数据
99
+ - 返回值:加密/解密后的字符串(hex格式)
100
+
101
+ #### 国密 SM3
102
+ ```ts
103
+ function sm3(str: string): string
104
+ function hmacSm3(key: string, data: string): string
105
+ ```
106
+ - 参数:
107
+ - str/data: 待摘要的 UTF-8 字符串
108
+ - key: HMAC 密钥(UTF-8)
109
+ - 返回值:小写 hex。`sm3("abc")` 固定为 `66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0`
110
+
111
+ #### 国密 SM4
112
+ ```ts
113
+ function sm4Encrypt(key: string, data: string, mode: string = "ECB", iv: string|null = null): string
114
+ function sm4Decrypt(key: string, data: string, mode: string = "ECB", iv: string|null = null): string
115
+ ```
116
+ - 参数:
117
+ - key/iv: UTF-8 字符串,按字节补 0 或截断到 16 字节(与 AES 相同)
118
+ - data: 加密为明文;解密为 **hex 密文**
119
+ - mode: `ECB` 或 `CBC`
120
+ - 返回值:加密为小写 hex(注意:不是 AES 的 Base64);解密为 UTF-8 明文
121
+ - 填充:PKCS7,密钥长度固定 128 位
122
+
123
+ #### 国密 SM2
124
+ ```ts
125
+ function generateSM2KeyPair(): SM2RANDOMKEY
126
+ function sm2Encrypt(publicKey: string, data: string, cipherMode?: number): string
127
+ function sm2Decrypt(privateKey: string, data: string, cipherMode?: number): string
128
+ function sm2Sign(privateKey: string, data: string, userId?: string): string
129
+ function sm2Verify(publicKey: string, data: string, signHex: string, userId?: string): boolean
130
+ ```
131
+ - 密钥:`publicKey` 为未压缩 `04||X||Y`(130 hex),`privateKey` 为 64 hex
132
+ - 密文:裸 hex,默认 `cipherMode=1` 即 C1C3C2,与 sm-crypto 一致;C1 为 `X||Y`(128 hex,**无 04**)。`0` 为 C1C2C3。解密时若带 `04` 前缀会自动去掉
133
+ - 签名:`r||s` 裸 hex(128 hex),`userId` 默认 `1234567812345678`
134
+ - 失败返回 `""` / `false`,不抛异常
135
+
136
+ ### 使用示例
137
+
138
+ ```ts
139
+ import {
140
+ md5, sha256, sha512, sha1, hmacSha256, hmacSha512,
141
+ base64Encode, base64Decode,
142
+ aesEncrypt, aesDecrypt,
143
+ desEncrypt, desDecrypt,
144
+ rsaEncrypt, rsaDecrypt,
145
+ rc4Encrypt, rc4Decrypt,
146
+ generateRSAKeyPair,
147
+ sm3, hmacSm3, sm4Encrypt, sm4Decrypt,
148
+ generateSM2KeyPair, sm2Encrypt, sm2Decrypt, sm2Sign, sm2Verify
149
+ } from '@/uni_modules/x-crypto-s'
150
+
151
+ // MD5加密
152
+ const md5Result = md5("TMUI4.0X")
153
+
154
+ // Base64编解码
155
+ const base64Result = base64Encode("TMUI4.0X")
156
+ const decodedText = base64Decode(base64Result)
157
+
158
+ // SHA系列加密
159
+ const sha256Result = sha256("TMUI4.0X")
160
+ const hmacResult = hmacSha256("密钥", "TMUI4.0X")
161
+
162
+ // AES加密(CBC模式)
163
+ const aesResult = aesEncrypt(
164
+ "1234567890abcdef",
165
+ "TMUI4.0X",
166
+ "CBC",
167
+ "1234567890abcdef"
168
+ )
169
+ const aesDecrypted = aesDecrypt(
170
+ "1234567890abcdef",
171
+ aesResult,
172
+ "CBC",
173
+ "1234567890abcdef"
174
+ )
175
+
176
+ // RSA加密
177
+ const rsaKeys = generateRSAKeyPair()
178
+ const encrypted = rsaEncrypt(rsaKeys.publicKey, "TMUI4.0X")
179
+ const decrypted = rsaDecrypt(rsaKeys.privateKey, encrypted)
180
+
181
+ // 国密 SM3 / SM4 / SM2
182
+ const sm3Hex = sm3("abc")
183
+ const sm4Hex = sm4Encrypt("1234567890abcdef", "TMUI4.0X", "CBC", "1234567890abcdef")
184
+ const sm4Plain = sm4Decrypt("1234567890abcdef", sm4Hex, "CBC", "1234567890abcdef")
185
+ const sm2Keys = generateSM2KeyPair()
186
+ const sm2Hex = sm2Encrypt(sm2Keys.publicKey, "TMUI4.0X")
187
+ const sm2Plain = sm2Decrypt(sm2Keys.privateKey, sm2Hex)
188
+ const signHex = sm2Sign(sm2Keys.privateKey, "TMUI4.0X")
189
+ const pass = sm2Verify(sm2Keys.publicKey, "TMUI4.0X", signHex)
190
+ ```
191
+
192
+ 更多使用示例和在线加密对比工具:
193
+ - MD5/SHA对比:https://www.mklab.cn/utils/md5
194
+ - DES对比:https://www.mklab.cn/utils/des
195
+
196
+ ## 更新日志
197
+
198
+ ### 1.1.0(2026-08-16)
199
+ * 五端补齐国密 SM2 / SM3 / SM4,默认对齐 sm-crypto:SM3/HMAC-SM3 小写 hex,SM4 密文 hex + PKCS7,SM2 裸 hex C1C3C2(C1 无 04 前缀)、签名 r||s,userId 默认 1234567812345678。
200
+ * iOS 不再依赖 GMObjC CocoaPods,改为内置 SM3/SM4/SM2 实现,避免本机 trunk 找不到 pod。
201
+ ### 1.0.5(2026-03-15)
202
+ * 鸿蒙端aes加密ecb模式修复加密内容为空的问题。
203
+ ### 1.0.4(2026-01-31)
204
+ * 根据网友反馈的自己搭的环境打包修改了两行代码兼容。如果你是云打包,可以不升级,因为云打包是没问题的。只是他们部分人自己搭的环境打包不了。
205
+ ### 1.0.3(2025-08-17)
206
+ * 兼容支持鸿蒙 Next
207
+ ### 1.0.2(2025-03-15)
208
+ * 更新所有端都支持同样的加密方案。
209
+ ### 1.0.1(2025-02-28)
210
+ * 补齐hmacSha512,sha512,aesEncrypt,aesDecrypt增加keySize加密位,增加了generateRSAKeyPair生成RSA密钥对.
211
+ ### 1.0.0(2024-12-24)
212
+ * 常用 加密 三端可用.暂不支持sm2,sm3,sm4,下个版本提供.
@@ -0,0 +1,70 @@
1
+ # x-desktopcard-s 桌面卡片与实况
2
+
3
+ 桌面卡片与实况的 **API 服务插件**。没有 uvue 组件,也不用 `native-view`。页面只 `import` 函数推数据。
4
+
5
+ 第一期模板:
6
+
7
+ - `info`:标题 / 副标题 / 图
8
+ - `progress`:标题 / 进度 / 状态
9
+
10
+ ### 兼容性
11
+
12
+ | Harmony | iOS | Android | WEB | 小程序 |
13
+ | --- | --- | --- | --- | --- |
14
+ | 卡片 + 实况(实况需华为权益) | 不支持 | 卡片 AppWidget;实况 ongoing 通知,16+ 可提升 | 1008 | 1008 |
15
+
16
+ ### 调用
17
+
18
+ ```ts
19
+ import { updateCard, requestPinCard, startLive, updateLive, endLive, getCardSupport } from "@/uni_modules/x-desktopcard-s"
20
+
21
+ updateCard({
22
+ cardId: "home-info",
23
+ kind: "info",
24
+ title: "今日待办",
25
+ subtitle: "还剩 3 项",
26
+ cardHeight: 0,
27
+ success: (res) => {
28
+ console.log(res.errMsg, res.cardId)
29
+ }
30
+ })
31
+
32
+ startLive({
33
+ cardId: "order-1",
34
+ kind: "progress",
35
+ title: "配送中",
36
+ progress: 40,
37
+ status: "骑手已取餐",
38
+ progressColor: "#317AF7",
39
+ progressStartImage: "/static/live-start.png",
40
+ progressEndImage: "/static/live-end.png",
41
+ progressIndicatorImage: "/static/live-pin.png"
42
+ })
43
+ ```
44
+
45
+ ### 方法
46
+
47
+ 卡片:`isCardSupported`、`getCardSupport`、`updateCard`、`requestPinCard`、`getPinnedCards`
48
+
49
+ 实况:`isLiveSupported`、`isLiveEnabled`、`startLive`、`updateLive`、`endLive`
50
+
51
+ ### 各端注意
52
+
53
+ - Android:长按桌面或 `requestPinCard` 加卡片。桌面进度卡与鸿蒙对齐:标题 + 进度条 + 状态;信息卡是标题 + 副标题。卡片默认 2 行高,已钉成 1 行的请拖高或删掉重加,否则状态会被裁掉。实况是通知,不是主屏卡片。进度实况只用自定义通知行(左图 / 进度条 / 右图,中间指示叠在条上),不再叠加系统 `setProgress` 底栏。Android 12+ 折叠态自定义区只有 48dp,折叠/横幅用矮布局(标题+一行进度),展开才带状态文案。进度条与三张图在同一行垂直居中。
54
+ - iOS:卡片和实况都不支持。需要独立 Widget Extension、App Group,以及给扩展单独出一份描述文件,流程偏复杂,先不做。调用会走 `1008`。
55
+ - 鸿蒙:服务卡片放在工程 `harmony-configs/entry` 的 `FormExtensionAbility`。刷新走 `getPublishedRunningFormInfos` + `updateForm`。实况走 `@kit.LiveViewKit`,`event=DELIVERY`,没申请华为即时配送权益或没打开实况窗开关会 `1003`,文案里带 `ohos=` 原始码。左右节点、中间指示、进度颜色与 Live View Kit 最对齐;图空时仍用系统蓝点/蓝针。
56
+ - 实况进度外观参数(Android / 鸿蒙同一字段):`progressStartImage`、`progressEndImage`、`progressIndicatorImage` 为正方形 PNG(本地路径或 `https`),`progressColor` 为 `#RGB` / `#RRGGBB` / `#AARRGGBB`。空图时鸿蒙回退生成图标,Android 左右用色块圆点。请优先 `https`。
57
+ - `cardHeight`(vp):桌面卡片**内容**高度。`0` 按内容自适应,不再撑满格子。桌面格子本身由系统规格决定,已钉卡片不能改格子。鸿蒙新加默认 `1*2`(矮卡),仍可选 `2*2` / `2*4`。Android 新卡默认 1 行高,可拖高。实况窗高度不能改。
58
+ - 不能程序化从桌面卸卡片。
59
+
60
+ ### 错误码
61
+
62
+ `1001` 系统错误,`1002` 参数错误,`1003` 服务未开启,`1004` 权限被拒绝,`1008` 当前平台不支持,`1009` 实况未开始。
63
+
64
+ ## 更新日志
65
+
66
+ ### 1.0.0(2026-08-17)
67
+ - 新增桌面卡片与实况 API:info / progress 两套模板
68
+ - Android AppWidget + ongoing / Live Update 通知
69
+ - iOS ActivityKit + Widget Extension 源码
70
+ - HarmonyOS Form 服务卡片 + LiveViewKit
@@ -0,0 +1,162 @@
1
+ # x-editor-u 富文本编辑
2
+
3
+ 多端富文本编辑容器。接口对齐微信 [`editor`](https://developers.weixin.qq.com/miniprogram/dev/component/editor.html) / [`EditorContext`](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.html),内容走自有受限 HTML(不跟微信 Delta 对齐)。
4
+
5
+ ### 兼容性
6
+
7
+ | Harmony | IOS | Android | WEB | 小程序 |
8
+ | --- | --- | --- | --- | --- |
9
+ | 支持 | 支持 | 支持 | 支持 | 支持 |
10
+
11
+ App:系统编辑控件。Web:宿主 DIV 挂 Quill。微信:官方 `editor`。
12
+
13
+ ### 调用
14
+
15
+ ```vue
16
+ <x-editor-u
17
+ ref="editorRef"
18
+ placeholder="请输入"
19
+ :height="280"
20
+ @ready="onReady"
21
+ @input="onInput"
22
+ @statuschange="onStatus"
23
+ @linkchange="onLink"
24
+ ></x-editor-u>
25
+ ```
26
+
27
+ ```uts
28
+ const proxy = getCurrentInstance()!.proxy!
29
+
30
+ function getEditor() : XEditorUComponentPublicInstance | null {
31
+ return proxy.$refs["editorRef"] as XEditorUComponentPublicInstance | null
32
+ }
33
+
34
+ const editor = getEditor()
35
+ if (editor == null) return
36
+ editor.format("bold", "true")
37
+ const htmlOpts : XEditorSetContentsOptions = { html: "<p>hello</p>" }
38
+ editor.setContents(htmlOpts)
39
+ const readOpts : XEditorGetContentsOptions = {
40
+ success: (res : XEditorContents) : void => {
41
+ console.log(res.html, res.text)
42
+ }
43
+ } as XEditorGetContentsOptions
44
+ editor.getContents(readOpts)
45
+ ```
46
+
47
+ ### 参数
48
+
49
+ 对齐微信 `<editor>` 属性。
50
+
51
+ | 字段 | 说明 | 默认 |
52
+ | --- | --- | --- |
53
+ | placeholder | 占位文字 | `请输入` |
54
+ | readOnly | 只读 | `false` |
55
+ | dark | 深色 | `false` |
56
+ | height | 整体高度 px(含内置工具栏) | `350` |
57
+ | html | 初始 / 受控 HTML | `""` |
58
+ | showToolbar | 是否显示内置工具栏 | `true` |
59
+ | showLinkToolbar | 光标在链接上时显示编辑条。微信小程序无 `insertLink`,工具栏链接入口仅该端隐藏 | `true` |
60
+ | showImgSize | 点选图片显示宽高 | `true` |
61
+ | showImgToolbar | 点选图片显示删除 | `true` |
62
+ | showImgResize | 点选图片拖角缩放(鸿蒙为放大/缩小按钮)。App 端点选图片自动收键盘方便拖手柄,已选中的图片再点一下取消选中 | `true` |
63
+ | enterkeyhint | 键盘回车键文案 | `enter` |
64
+ | confirmHold | 回车是否保持键盘 | `true` |
65
+
66
+ ### 事件
67
+
68
+ 对齐微信 `bindready` / `bindfocus` / `bindblur` / `bindinput` / `bindstatuschange`。
69
+
70
+ | 名称 | 说明 |
71
+ | --- | --- |
72
+ | ready | 内核就绪 |
73
+ | focus / blur | `{ html, text }` |
74
+ | input | `{ html, text }` |
75
+ | statuschange | 当前光标/选区样式,供工具栏高亮。含 `bold` `italic` `underline` `strike` `link` `linkText` `linkIndex` `linkLength` 等 |
76
+ | linkchange | 进入或离开链接时触发,`{ href, text, index, length }`,方便自绘工具栏填链接 |
77
+ | mentionclick | 点击提及芯片时触发,`{ id, name }`。微信端提及为纯文本,不触发 |
78
+ | tableclick | 点击表格时触发,`{ id, rows, cols, cells }`。目前仅 Web 端触发(App 端表格为行内编辑,点击即进入单元格);微信端不支持表格,不触发 |
79
+ | chooseimage | 内置工具栏点插图。宿主选图、上传后调用 `insertImage({ src })` |
80
+ | error | 失败 |
81
+
82
+ ### 方法
83
+
84
+ 对齐微信 `EditorContext`:
85
+
86
+ `format` `setContents` `getContents` `insertImage` `insertText` `insertDivider` `insertLink` `updateLink` `removeLink` `insertMention` `insertTable` `updateTable` `removeTable` `undo` `redo` `clear` `removeFormat` `blur` `scrollIntoView` `getSelectionText` `getHistoryState` `getSelection` `setSelection` `deleteText` `getBounds`
87
+
88
+ 另提供同步读取:`getHtml` `getText`。
89
+
90
+ 不实现微信 `insertCustomBlock`(自定义区块仅官方内核支持)。`delta` 不作为跨端数据。微信端 `getSelection` / `setSelection` / `deleteText` / `getBounds` 受官方类型限制,能力以各端内核为准。
91
+
92
+ ### format
93
+
94
+ 名对齐微信 `EditorContext.format`:
95
+
96
+ `bold` `italic` `underline` `strike` `ins` `script` `color` `backgroundColor` `fontSize` `fontWeight` `fontStyle` `align` `direction` `header` `list` `indent` `textIndent` `letterSpacing` `lineHeight` `textDecoration` `margin` `marginTop` `marginBottom` `marginLeft` `marginRight` `padding` `paddingTop` `paddingBottom` `paddingLeft` `paddingRight`
97
+
98
+ 另支持历史别名 `background`(等于 `backgroundColor`)和 `link`。kebab-case 写法(如 `margin-left`)会自动归一。
99
+
100
+ margin / padding 为段落级样式,再次应用相同值会取消。各端能力:
101
+
102
+ | 名称 | 微信 | Web | iOS | Android | 鸿蒙 |
103
+ | --- | --- | --- | --- | --- | --- |
104
+ | marginLeft / paddingLeft | 原生 | 支持 | 支持 | 支持(缩进实现) | 支持(缩进实现) |
105
+ | marginTop / paddingTop | 原生 | 支持 | 支持(段前距) | 不支持 | 不支持 |
106
+ | marginBottom / paddingBottom | 原生 | 支持 | 支持(段后距) | 不支持 | 不支持 |
107
+ | margin / padding(四向简写) | 原生 | 支持 | 不支持 | 不支持 | 不支持 |
108
+
109
+ `list` 取值:`ordered` / `bullet` / `check`(待办)。`indent` 取值:`-1` / `+1`。`script` 取值:`sub` / `super`。再点同一样式会取消(与微信一致)。微信官方只有 `check` 一种待办,且基础库 3.9.3+ 常画成黑点(与无序相同),小程序工具栏因此只保留有序/无序。
110
+
111
+ 列表按整行加前缀,回车自动续写(有序 `1.` → `2.`)。空列表项再回车退出列表。
112
+
113
+ ### insertMention
114
+
115
+ 插入提及芯片 `@名字`,整体删除(退格从中间删会整块删掉),点击触发 `mentionclick`。
116
+
117
+ ```uts
118
+ const opts : XEditorInsertMentionOptions = {
119
+ name: "张三",
120
+ id: "1001",
121
+ color: "#1677ff", // 可选,文字色
122
+ background: "#e6f3ff", // 可选,背景色
123
+ radius: "4px" // 可选,圆角;Android/iOS 绘制为方角,仅参与 HTML 回写
124
+ }
125
+ editor.insertMention(opts)
126
+ ```
127
+
128
+ HTML 回写为 `<span data-mention-id="1001" data-mention-name="张三" style="color:...;background-color:...;border-radius:...">@张三</span>`,`setContents` 灌入同构 HTML 会还原成芯片。微信端降级为纯文本 `@名字`(官方内核无自定义节点),无样式、无点击事件。
129
+
130
+ ### 表格(insertTable / updateTable / removeTable)
131
+
132
+ 类 iOS 备忘录的表格交互:
133
+
134
+ - 工具栏表格按钮直接插入 2x2 空表,不弹输入框。App 端插入后不自动聚焦格子、不弹键盘,用户自行点格子开始输入。
135
+ - 表格在正文里行内直接编辑(全端一致,无弹层):点格子即打字。
136
+ - 光标在某格时,该列顶部、该行左侧出现 `•••` 手柄:点一下选中整列/整行(高亮)并收起键盘,选中态再点弹出菜单——删除列/右侧加一列、删除行/下方加一行。
137
+ - 光标在最后一格再按回车,自动在下方续一行。
138
+
139
+ ```uts
140
+ const opts : XEditorInsertTableOptions = {
141
+ rows: 2,
142
+ cols: 2,
143
+ cells: [["姓名", "分工"], ["张三", "前端"]] // 可选,缺省为空格子
144
+ }
145
+ editor.insertTable(opts)
146
+ // 之后可用 updateTable({ id, cells }) 改内容,removeTable({ id }) 删除
147
+ ```
148
+
149
+ HTML 回写为 `<table class="x-table"><tr><td>…</td></tr></table>`,`setContents` 灌入同构 HTML 会还原。上限 20 行 x 8 列,单元格为纯文本。各端形态:
150
+
151
+ | 端 | 呈现 | 编辑方式 |
152
+ | --- | --- | --- |
153
+ | Web | Quill 原生表格 | 表格内直接打字 + 行内 `•••` 手柄增删行列 + 末格回车加行 |
154
+ | Android / iOS | 行内真实网格(块式内核:正文与表格块混排) | 格内直接打字 + `•••` 手柄增删行列 + 末格回车加行 |
155
+ | 鸿蒙 | 行内真实网格(块式内核:多 RichEditor 文本块 + 表格块混排) | 同上 |
156
+ | 微信 | 不支持(官方内核无表格),工具栏隐藏按钮,API 走 `fail`(错误码 3006) | - |
157
+
158
+ `insertImage` 对齐微信:`src` `alt` `width` `height` `nowrap` `extClass` `data`。默认插图后换行,`nowrap: true` 不换行。
159
+
160
+ 点选图片后出现尺寸、删除和缩放,对齐微信 `show-img-size` / `show-img-toolbar` / `show-img-resize`。App / Web 自绘浮层;微信走官方控件;鸿蒙因无可靠坐标,用编辑区顶栏放大、缩小、删除。设为 `false` 可关闭。
161
+
162
+ 内置工具栏默认显示,布局、配色和 Remix 图标对齐 tmx-ui `x-editor`(`x-icon` / `x-popover`)。字号、颜色、标题用同样的气泡菜单。多出来的缩进、上下标、分割线、插图、链接、撤销重做、去格式沿用同一组按钮样式。微信小程序没有可用的 `insertLink`,该端隐藏链接按钮和编辑条;App / Web 正常显示。光标落在已有样式上时对应按钮高亮。点进链接会出现编辑条。点插图会触发 `chooseimage`,由宿主选图、上传后调用 `insertImage({ src })`,插件不内置上传。`:show-toolbar="false"` 后只留编辑面。工具栏用 `view` 点击,避免抢焦点丢掉选区。需要工程里已有 `tmx-ui`。
@@ -0,0 +1,63 @@
1
+ # x-facedetect-alibaba-s 阿里云实人认证
2
+
3
+ 阿里云实人认证。先向阿里云后台换 `certifyId`,再调起原生核身。
4
+
5
+ ### 兼容性
6
+
7
+ | Harmony | IOS | Android | WEB | 小程序 |
8
+ | --- | --- | --- | --- | --- |
9
+ | 支持 | 支持 | 支持 | 不支持 | 不支持 |
10
+
11
+ ### 调用
12
+
13
+ ```ts
14
+ import { getMetaInfos, xFaceVerify } from "@/uni_modules/x-facedetect-alibaba-s"
15
+
16
+ getMetaInfos({
17
+ success: (res) => {
18
+ console.log(res.value)
19
+ }
20
+ })
21
+
22
+ xFaceVerify({
23
+ certifyId: "从服务端获取",
24
+ success: (res) => {
25
+ console.log(res.code, res.reason)
26
+ },
27
+ fail: (res) => {
28
+ console.log(res)
29
+ }
30
+ })
31
+ ```
32
+
33
+ ### 方法
34
+
35
+ | 名称 | 需要 | 说明 |
36
+ | --- | --- | --- |
37
+ | getMetaInfos | 可选 `success` / `fail` / `complete` | 取设备元信息 `res.value`,交给服务端换 `certifyId` |
38
+ | xFaceVerify | `certifyId`,可选 `useMsgBox`、`extParams` | 调起原生核身,成功返回 `code` / `reason` |
39
+
40
+ ### 参数
41
+
42
+ `xFaceVerify`
43
+
44
+ | 字段 | 说明 | 默认 |
45
+ | --- | --- | --- |
46
+ | certifyId | 认证 ID,与 metaInfos 二选一 | - |
47
+ | useMsgBox | 是否用系统提示框 | - |
48
+ | extParams | 扩展参数 | - |
49
+ | success / fail / complete | 回调 | - |
50
+
51
+ `XFaceDetectResult`:`code`、`reason`。
52
+
53
+ H5 核身需自行接阿里云 Web 方案,本插件不覆盖。
54
+
55
+ ### 版本
56
+
57
+ 版权归https://xui.tmui.design你不得修改及二次开发,仅供TMUI4会员商用使用。不得转给非VIP会员使用,一经查实数倍赔偿,并追究法律责任。
58
+
59
+ ## 更新日志
60
+
61
+ ### 1.0.0(2026-07-31)
62
+
63
+ - 支持安卓 ,Ios,HarmonyOs
@@ -0,0 +1,164 @@
1
+ # x-facerec-u 离线人脸识别
2
+
3
+ 离线人脸识别:检测、入录、图片 / 相机帧 1:N 匹配,并提供嵌入式实时识别 UI 组件。可选用内置模型,不必自备。
4
+
5
+ ### 兼容性
6
+
7
+ | Harmony | IOS | Android | WEB | 小程序 |
8
+ | --- | --- | --- | --- | --- |
9
+ | 支持 | 支持 | 支持 | 不支持 | 不支持 |
10
+
11
+ ### 组件(推荐)
12
+
13
+ `<x-facerec-u>` 是标准 UI 组件,直接嵌入页面即可实时识别:相机采集、SCRFD 检测、ArcFace 1:N、跟踪、人脸框绘制全在原生层闭环,帧不跨插件搬运。命中底库绘绿框标「人名 可信度%」,未命中绘橙框标「未识别」。识别依赖 `loadModels` 先就绪(组件与 API 共享同一原生单例与底库)。
14
+
15
+ ```html
16
+ <x-facerec-u ref="facerecRef" style="width:100%;height:320px"
17
+ :auto-open="true" camera-position="front" :detect-interval="120" :draw-box="true"
18
+ @ready="onReady" @recognize="onRecognize" @capture="onCapture" @error="onError"></x-facerec-u>
19
+ ```
20
+
21
+ | 属性 | 说明 | 默认 |
22
+ | --- | --- | --- |
23
+ | camera-position | `front` / `back`,运行中改值热切换 | `front` |
24
+ | torch | 闪光灯(前置通常不支持) | `false` |
25
+ | detect-interval | 相邻两次识别最小间隔 ms,框由原生插值平滑跟随 | `120` |
26
+ | draw-box | 是否绘制人脸框与人名标签 | `true` |
27
+ | auto-open | 视图初始化后自动请求权限并开流 | `true` |
28
+
29
+ | 事件 | 说明 |
30
+ | --- | --- |
31
+ | @ready | 相机开流成功(含切换镜头重开) |
32
+ | @recognize | 识别结果(`faces`:`trackId`/`name`/`score`/`recognized`/`box`) |
33
+ | @capture | `takePhoto()` 抓拍完成,含 `imagePath` 与最近识别结果 |
34
+ | @error | 权限/相机/抓拍错误 |
35
+
36
+ 组件方法(`ref` 调用):`open()` / `close()` / `takePhoto()` / `setTorch(on)` / `setDetecting(on)` / `isDetecting()` / `switchCamera()`。开相机即开始检测,`setDetecting(false)` / `close()` 都会关掉相机,不再保留「预览在、识别停」的中间态。
37
+
38
+ ### 调用
39
+
40
+ ```ts
41
+ import { loadModels, enroll, recognizeImage, recognizeFrame } from "@/uni_modules/x-facerec-u"
42
+
43
+ loadModels({
44
+ detModel: "det_500m",
45
+ recModel: "w600k_mbf",
46
+ similarityThresh: 0.4,
47
+ confidenceThresh: 0.5,
48
+ maxFaces: 1,
49
+ success: (res) => {
50
+ console.log(res.gallerySize)
51
+ }
52
+ })
53
+
54
+ enroll({
55
+ userId: "u1001",
56
+ name: "张三",
57
+ imagePath: facePath,
58
+ success: (res) => {
59
+ console.log(res.quality)
60
+ }
61
+ })
62
+
63
+ recognizeImage({
64
+ imagePath: probePath,
65
+ success: (res) => {
66
+ if (res.matches.length > 0) {
67
+ console.log(res.matches[0].userId, res.matches[0].score)
68
+ }
69
+ }
70
+ })
71
+
72
+ recognizeFrame({
73
+ width: 640,
74
+ height: 480,
75
+ format: "nv21",
76
+ frameBuffer: data,
77
+ rotation: 90,
78
+ success: (res) => {
79
+ console.log(res.matches)
80
+ }
81
+ })
82
+ ```
83
+
84
+ 实时识别优先用上方 `<x-facerec-u>` 组件或 `openCamera` 弹层,二者均在原生层闭环,无需自己搬帧。
85
+
86
+ ### 方法
87
+
88
+ | 名称 | 需要 | 说明 |
89
+ | --- | --- | --- |
90
+ | loadModels | `detModel?`、`recModel?`、`modelRoot?`、阈值等,见下方 | 加载模型,不传 `modelRoot` 用内置 |
91
+ | unloadModels | 可选回调 | 卸载模型 |
92
+ | detectFaces | `imagePath` | 只检测人脸框和关键点,不比对底库 |
93
+ | enroll | `userId`、`imagePath`,可选 `name`、`replace` | 入录到底库;`replace=true` 覆盖该用户旧样本 |
94
+ | recognizeImage | `imagePath` | 用图片做 1:N 识别,返回 `matches` / `unknownFaces` |
95
+ | recognizeFrame | `width`、`height`、`format`、`frameBuffer` 或 `frameBase64`、`rotation?` | 用相机帧做 1:N 识别 |
96
+ | listUsers | 可选回调 | 列出底库用户 |
97
+ | removeUser | `userId` | 删除指定用户 |
98
+ | clearGallery | 可选回调 | 清空底库 |
99
+ | setOptions | `confidenceThresh?`、`similarityThresh?`、`livenessThresh?`、`maxFaces?` | 运行中改阈值 |
100
+ | openCamera | `cameraPosition?`、`torch?`、`detectInterval?`、`drawBox?`、事件回调 | 打开原生全屏弹层实时识别(不想改页面布局时用) |
101
+ | getRuntimeInfo | 无 | 同步返回运行时与是否已就绪 |
102
+ | getState | 无 | 返回 `idle` / `loading` / `ready` / `error` |
103
+
104
+ ### 参数
105
+
106
+ `loadModels`
107
+
108
+ | 字段 | 说明 | 默认 |
109
+ | --- | --- | --- |
110
+ | modelRoot | 自定义模型目录,空则用内置 | 内置 |
111
+ | detModel | `det_500m` / `det_2.5g` / `det_10g` | `det_500m` |
112
+ | recModel | `w600k_mbf`;`w600k_r50` 需自备 | `w600k_mbf` |
113
+ | confidenceThresh | 检测阈值 | `0.5` |
114
+ | similarityThresh | 识别阈值 | `0.4` |
115
+ | livenessThresh | 活体阈值 | `0.5` |
116
+ | enrollMinQuality | 入录最低质量 | `0.6` |
117
+ | maxFaces | 每帧最多人脸 | `1` |
118
+ | galleryDir | 底库目录 | 应用私有目录 |
119
+
120
+ `recognizeFrame`:`width` / `height` / `format`(`nv21` / `bgra` / `rgba`)/ `frameBuffer` 或 `frameBase64` / `rotation` / `orientation`。
121
+
122
+ ### 平台差异
123
+
124
+ 1. 无 Web / 微信。
125
+ 2. 帧格式与 `x-camrea-u` 对齐:Android `nv21`,iOS `bgra`,鸿蒙 `rgba`。前置镜头注意 `mirrored` / `orientation`。
126
+
127
+ ### 版本
128
+
129
+ 版权归https://xui.tmui.design你不得修改及二次开发,仅供TMUI4会员商用使用。不得转给非VIP会员使用,一经查实数倍赔偿,并追究法律责任。
130
+
131
+ ## 更新日志
132
+
133
+ ### 0.3.0(2026-08-20)
134
+
135
+ - 模块更名 `x-facerec-s` → `x-facerec-u`:由 API 插件升级为「标准 UI 组件 + API」双形态
136
+ - 新增 `<x-facerec-u>` 嵌入式组件:相机预览 + 人脸框 overlay 直接嵌页面,
137
+ 采集/检测/识别/跟踪/绘框全在原生层闭环,不再依赖 `x-camrea-u` 跨插件搬帧
138
+ - 组件属性 `camera-position` / `torch` / `detect-interval` / `draw-box` / `auto-open`,
139
+ 事件 `@ready` / `@recognize` / `@capture` / `@error`,
140
+ 方法 `open` / `close` / `takePhoto` / `setTorch` / `setDetecting` / `switchCamera`
141
+ - 原有全部 API(loadModels / enroll / recognizeImage / recognizeFrame / openCamera 等)保留,组件与 API 共享同一原生单例与底库
142
+ - 修复 Android 打开测试页闪退、鸿蒙实时识别延迟大且检不出人:
143
+ 移除 ORT XNNPACK 执行提供器(Android 上建会话原生段错误、鸿蒙上反而更慢),回归纯 CPU EP(NEON),与 iOS 63ms 同款配置
144
+ - 原生库更名 `libx_facerec_u.so`,JNI/NAPI 符号与 Kotlin 包名同步更新
145
+ - 修复 Android / Harmony 实时检得出人脸却对不上底库、检测框反着跑:
146
+ 前摄不再把镜像写进推理像素(与相册录入同朝向),只在 overlay 水平翻转框
147
+ - Android 实时分析帧不再开 CameraX 输出旋转:该选项会裁掉 FOV 且打乱 YUV 平面,导致预览在、检不出人
148
+ - 修复 Android 嵌入式检测框偏小(只框到眼嘴):自行按预览尺寸建 ViewPort(native-view 里 getViewPort 常为空),
149
+ 分析帧 16:9 + cropRect;嵌入式 TextureView;CSS 盒×像素比校正 overlay 尺度
150
+
151
+ ### 0.2.0(2026-08-08)
152
+
153
+ - 接入 ONNX Runtime 真实推理(SCRFD 检测 + 5 点对齐 + ArcFace 特征)
154
+ - 三端各自准备 ORT:Android Maven 1.28 / iOS xcframework 1.28 / Harmony OHOS 1.27
155
+ - 构建脚本步骤 `[0]` 调用 `third_party/onnxruntime/prepare_*.sh`(不再从 sherpa 顺手抽库)
156
+ - 内置模型:`det_500m` / `det_2.5g` / `det_10g` + `w600k_mbf`(约 35MB)
157
+ - `loadModels()` 可不传 `modelRoot`,自动使用内置模型
158
+ - Android aar / Harmony har / iOS Frameworks 均含对应平台 ORT + 模型
159
+
160
+ ### 0.1.0(2026-08-08)
161
+
162
+ - 初版框架:Android / iOS / HarmonyOS 三端骨架
163
+ - 共享 C++ 核心 + JSON Bridge;交叉编译脚本
164
+ - API:loadModels / enroll / detectFaces / recognizeImage / recognizeFrame / 底库管理