tmui-cli 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -4
- package/data/components.json +1 -1
- package/data/config.json +4 -4
- package/data/doc-index.json +1 -1
- package/data/docs/alert.md +0 -0
- package/data/docs/avatar-group.md +0 -0
- package/data/docs/badge.md +2 -2
- package/data/docs/between-time.md +1 -1
- package/data/docs/button.md +0 -0
- package/data/docs/calendar-multiple.md +0 -0
- package/data/docs/cell.md +1 -1
- package/data/docs/checkbox-group.md +0 -0
- package/data/docs/checkbox.md +0 -0
- package/data/docs/circle-progress.md +0 -0
- package/data/docs/code-input.md +0 -0
- package/data/docs/col.md +1 -1
- package/data/docs/collapse-item.md +0 -0
- package/data/docs/collapse.md +0 -0
- package/data/docs/countdown.md +0 -0
- package/data/docs/date-view.md +0 -0
- package/data/docs/drawer.md +0 -0
- package/data/docs/dropdown-item.md +0 -0
- package/data/docs/dropdown-menu.md +0 -0
- package/data/docs/echart.md +0 -0
- package/data/docs/float-drawer.md +0 -0
- package/data/docs/form-item.md +0 -0
- package/data/docs/form.md +0 -0
- package/data/docs/html.md +0 -0
- package/data/docs/icon.md +0 -0
- package/data/docs/image.md +1 -0
- package/data/docs/input.md +0 -0
- package/data/docs/modal.md +0 -0
- package/data/docs/money.md +0 -0
- package/data/docs/more.md +0 -0
- package/data/docs/navbar.md +0 -0
- package/data/docs/picker-date.md +0 -0
- package/data/docs/picker-selected.md +0 -0
- package/data/docs/picker-time.md +0 -0
- package/data/docs/picker-view.md +0 -0
- package/data/docs/picker.md +0 -0
- package/data/docs/popover.md +0 -0
- package/data/docs/progress.md +0 -0
- package/data/docs/pull-refresh.md +0 -0
- package/data/docs/radio-group.md +0 -0
- package/data/docs/radio.md +0 -0
- package/data/docs/rate.md +0 -0
- package/data/docs/row.md +3 -3
- package/data/docs/sheet.md +0 -0
- package/data/docs/sign-board.md +0 -0
- package/data/docs/skeleton.md +0 -0
- package/data/docs/sku.md +0 -0
- package/data/docs/slider-double.md +0 -0
- package/data/docs/slider-menu.md +0 -0
- package/data/docs/slider.md +0 -0
- package/data/docs/stepper.md +0 -0
- package/data/docs/steps-item.md +0 -0
- package/data/docs/steps.md +0 -0
- package/data/docs/sticky-header.md +0 -0
- package/data/docs/sticky.md +0 -0
- package/data/docs/switch-slider.md +0 -0
- package/data/docs/switch.md +0 -0
- package/data/docs/tabbar.md +0 -0
- package/data/docs/tabs.md +21 -21
- package/data/docs/tag.md +0 -0
- package/data/docs/text.md +0 -0
- package/data/docs/upload-photo.md +0 -0
- package/data/docs/upload-video.md +0 -0
- package/data/docs//346/250/241/346/235/277.md +0 -0
- package/data/examples/alert.vue +0 -0
- package/data/examples/avatar-group.vue +0 -0
- package/data/examples/badge.vue +0 -0
- package/data/examples/between-time.vue +0 -0
- package/data/examples/button.vue +0 -0
- package/data/examples/calendar-multiple.vue +0 -0
- package/data/examples/cell.vue +0 -0
- package/data/examples/checkbox.vue +0 -0
- package/data/examples/circle-progress.vue +0 -0
- package/data/examples/code-input.vue +0 -0
- package/data/examples/collapse.vue +0 -0
- package/data/examples/countdown.vue +0 -0
- package/data/examples/drawer.vue +0 -0
- package/data/examples/dropdown-menu.vue +0 -0
- package/data/examples/echart.vue +0 -0
- package/data/examples/float-drawer.vue +0 -0
- package/data/examples/form.vue +11 -2
- package/data/examples/html.vue +0 -0
- package/data/examples/icon.vue +0 -0
- package/data/examples/image.vue +8 -8
- package/data/examples/input.vue +0 -0
- package/data/examples/modal.vue +0 -0
- package/data/examples/money.vue +0 -0
- package/data/examples/more.vue +0 -0
- package/data/examples/navbar.vue +0 -0
- package/data/examples/picker-date.vue +0 -0
- package/data/examples/picker-selected.vue +0 -0
- package/data/examples/picker-time.vue +0 -0
- package/data/examples/picker-view.vue +0 -0
- package/data/examples/picker.vue +0 -0
- package/data/examples/popover.vue +0 -0
- package/data/examples/progress.vue +0 -0
- package/data/examples/pull-refresh.vue +0 -0
- package/data/examples/radio.vue +0 -0
- package/data/examples/rate.vue +0 -0
- package/data/examples/row.vue +20 -15
- package/data/examples/sheet.vue +0 -0
- package/data/examples/sign-board.vue +0 -0
- package/data/examples/skeleton.vue +0 -0
- package/data/examples/sku.vue +0 -0
- package/data/examples/slider-menu.vue +0 -0
- package/data/examples/slider.vue +0 -0
- package/data/examples/stepper.vue +0 -0
- package/data/examples/steps.vue +0 -0
- package/data/examples/sticky.vue +0 -0
- package/data/examples/switch-slider.vue +0 -0
- package/data/examples/switch.vue +0 -0
- package/data/examples/tabbar.vue +0 -0
- package/data/examples/tabs.vue +0 -0
- package/data/examples/tag.vue +0 -0
- package/data/examples/text.vue +0 -0
- package/data/examples/upload-photo.vue +0 -0
- package/data/examples/upload-video.vue +0 -0
- package/data/guides/cli.md +0 -0
- package/data/guides//344/273/213/347/273/215.md +0 -0
- package/data/guides//345/205/274/345/256/271/346/200/247.md +0 -0
- package/data/guides//345/215/225/344/275/215/346/240/207/347/255/276/350/257/264/346/230/216.md +0 -0
- package/data/guides//345/233/275/351/231/205/345/214/226.md +0 -0
- package/data/guides//345/256/211/350/243/205.md +0 -0
- package/data/guides//345/260/217/347/250/213/345/272/217/345/210/206/344/272/253.md +0 -0
- package/data/guides//345/270/270/350/247/201/351/227/256/351/242/230.md +0 -0
- package/data/guides//345/277/253/351/200/237/344/270/212/346/211/213.md +0 -0
- package/data/guides//346/233/264/346/226/260/346/227/245/345/277/227.md +2 -0
- package/data/guides//350/264/241/347/214/256/350/200/205.md +0 -0
- package/data/tmui4x/01./346/225/231/347/250/213/01./345/205/263/344/272/216.md +38 -0
- 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
- package/data/tmui4x/01./346/225/231/347/250/213/03./350/201/224/347/263/273/346/210/221.md +14 -0
- package/data/tmui4x/01./346/225/231/347/250/213/04.DEMO/351/242/204/350/247/210.md +17 -0
- 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
- 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
- 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 +168 -0
- 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
- 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
- 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
- package/data/tmui4x/01./346/225/231/347/250/213/34.Pinia.md +260 -0
- package/data/tmui4x/01./346/225/231/347/250/213/35.Interface/347/261/273/345/236/213.md +1105 -0
- package/data/tmui4x/01./346/225/231/347/250/213/36./345/233/275/351/231/205/345/214/226.md +220 -0
- 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
- package/data/tmui4x/01./346/225/231/347/250/213/38./345/233/276/346/240/207/345/272/223.md +9 -0
- package/data/tmui4x/01./346/225/231/347/250/213/39.CSS/345/272/223.md +256 -0
- 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 +45 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xBluetoothS /350/223/235/347/211/231.md" +141 -0
- 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
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChatmarkdownU AI/350/201/212/345/244/251Markdown.md" +102 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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" +191 -0
- 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
- 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
- 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
- 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
- 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
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xLocationS /345/256/232/344/275/215.md" +104 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xModel3dU.md +88 -0
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMqttS MQTT/346/266/210/346/201/257.md" +129 -0
- 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
- 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
- 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
- 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
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPdfS PDF/345/220/210/346/210/220.md" +130 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPdfU PDF/351/242/204/350/247/210.md" +88 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPermissionS /346/235/203/351/231/220.md" +93 -0
- 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
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPreviewMediaS /345/233/276/347/211/207/350/247/206/351/242/221/346/267/267/345/220/210/351/242/204/350/247/210.md" +160 -0
- 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
- 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
- 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
- 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
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSkiaU Skia/347/224/273/345/270/203.md" +115 -0
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSseS SSE/346/216/250/351/200/201.md" +127 -0
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSvgU SVG/347/273/204/344/273/266.md" +26 -0
- 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
- 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
- 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
- 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
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xUdpS UDP/351/200/232/344/277/241.md" +204 -0
- 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
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xVibrateS /351/234/207/345/212/250.md" +115 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xWebviewU /346/267/267/345/220/210WebView.md" +93 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/01.Agent.md +40 -0
- package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/04.SKILL.md +16 -0
- package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/05.LLMS.md +9 -0
- 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
- 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
- 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
- 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
- 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
- package/data/tmui4x/70./346/267/267/345/220/210/345/274/200/345/217/221/05.jssdkApi.md +1421 -0
- 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
- 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
- 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
- package/data/tmui4x/80.Flutter/01./345/205/263/344/272/216.md +68 -0
- package/data/tmui4x/80.Flutter/02./347/273/204/344/273/266/347/233/256/345/275/225.md +155 -0
- package/data/tmui4x-doc-index.json +3464 -0
- package/dist/main.mjs +65 -54
- package/package.json +4 -3
|
@@ -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可用。
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xUdpS UDP/351/200/232/344/277/241.md"
ADDED
|
@@ -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
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xVibrateS /351/234/207/345/212/250.md"
ADDED
|
@@ -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
|