m8-framework-mcp 1.0.0
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 +175 -0
- package/build/index.js +963 -0
- package/docs/ejs-doc/404/404.html +9 -0
- package/docs/ejs-doc/_draft/sha1_salt.md +47 -0
- package/docs/ejs-doc/_include/config.php +10 -0
- package/docs/ejs-doc/_include/cssboot.inc.php +62 -0
- package/docs/ejs-doc/_include/jsboot.inc.php +7 -0
- package/docs/ejs-doc/api_app/api_app.md +43 -0
- package/docs/ejs-doc/api_audio/api_audio.md +225 -0
- package/docs/ejs-doc/api_auth/api_auth.md +256 -0
- package/docs/ejs-doc/api_basicCard/api_basicCard.md +69 -0
- package/docs/ejs-doc/api_card_ui/api_card_ui.md +37 -0
- package/docs/ejs-doc/api_contact/api_contact.md +295 -0
- package/docs/ejs-doc/api_contact/images/component_contact.jpg +0 -0
- package/docs/ejs-doc/api_device/api_device.md +761 -0
- package/docs/ejs-doc/api_event/api_event.md +244 -0
- package/docs/ejs-doc/api_global/api_global.md +440 -0
- package/docs/ejs-doc/api_io/api_io.md +369 -0
- package/docs/ejs-doc/api_miniH5/api_miniH5.md +279 -0
- package/docs/ejs-doc/api_navigator/api_navigator.md +654 -0
- package/docs/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
- package/docs/ejs-doc/api_navigator/images/navigator.title.png +0 -0
- package/docs/ejs-doc/api_page/api_page.md +261 -0
- package/docs/ejs-doc/api_runtime/api_runtime.md +788 -0
- package/docs/ejs-doc/api_storage/api_storage.md +320 -0
- package/docs/ejs-doc/api_stream/api_stream.md +152 -0
- package/docs/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
- package/docs/ejs-doc/api_ui/api_ui.md +836 -0
- package/docs/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_alert.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_confirm.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_picktime.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_prompt.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_select.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_select2.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_select3.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_toast.png +0 -0
- package/docs/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
- package/docs/ejs-doc/api_util/api_util.md +615 -0
- package/docs/ejs-doc/api_util/images/util.playvideo.png +0 -0
- package/docs/ejs-doc/api_util/images/util.previmage.png +0 -0
- package/docs/ejs-doc/api_util/images/util.selectfile.png +0 -0
- package/docs/ejs-doc/api_util/images/util.selectimage.png +0 -0
- package/docs/ejs-doc/authentication/authentication.md +28 -0
- package/docs/ejs-doc/changelog/changelog.md +290 -0
- package/docs/ejs-doc/component_invokeplugin/component_invokeplugin.md +54 -0
- package/docs/ejs-doc/component_outline/component_outline.md +71 -0
- package/docs/ejs-doc/guid_apiconstraint/guid_apiconstraint.md +30 -0
- package/docs/ejs-doc/guid_debugpage/guid_debugpage.md +53 -0
- package/docs/ejs-doc/guid_debugpage/images/client.jpg +0 -0
- package/docs/ejs-doc/guid_debugpage/images/room.png +0 -0
- package/docs/ejs-doc/guid_demodebug/guid_demodebug.md +59 -0
- package/docs/ejs-doc/guid_demodebug/images/qr_demo.png +0 -0
- package/docs/ejs-doc/guid_demodebug/images/qrcode-weex.png +0 -0
- package/docs/ejs-doc/guid_demodebug/images/qrcode.png +0 -0
- package/docs/ejs-doc/guid_demodebug/images/qrcode_ejs.png +0 -0
- package/docs/ejs-doc/guid_errorcode/guid_errorcode.md +27 -0
- package/docs/ejs-doc/guid_errorcode/images/5d38937fec5107c38502c3ee38ba5b2c.png +0 -0
- package/docs/ejs-doc/guid_getstart/guid_getstart.md +188 -0
- package/docs/ejs-doc/introduction/introduction.md +29 -0
- package/docs/ejs-doc/jsapi_h5_all/jsapi_h5_all.md +1231 -0
- package/docs/ejs-doc/jsapi_mini_all/jsapi_mini_all.md +1105 -0
- package/docs/ejs-doc/m7_mini_h5/images/001.png +0 -0
- package/docs/ejs-doc/m7_mini_h5/images/dev.png +0 -0
- package/docs/ejs-doc/m7_mini_h5/images/install.png +0 -0
- package/docs/ejs-doc/m7_mini_h5/images/mobile_dev.png +0 -0
- package/docs/ejs-doc/m7_mini_h5/images/setting.png +0 -0
- package/docs/ejs-doc/m7_mini_h5/images/update.png +0 -0
- package/docs/ejs-doc/m7_mini_h5/m7_mini_h5.md +410 -0
- package/docs/ejs-doc/promisesupport/promisesupport.md +84 -0
- package/docs/ejs-doc/structure/images/structure.jpg +0 -0
- package/docs/ejs-doc/structure/images/structure2.jpg +0 -0
- package/docs/ejs-doc/structure/structure.md +26 -0
- package/docs/ejs-doc/version/version.md +62 -0
- package/docs/m8mpdoc-develop/$navigation.md +343 -0
- package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/000-/346/241/206/346/236/266/347/256/200/344/273/213.md +61 -0
- package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/001-/346/241/206/346/236/266/346/236/266/346/236/204.md +60 -0
- package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/002-/347/233/256/345/275/225/345/217/212/346/226/207/344/273/266/347/273/204/347/273/207.md +106 -0
- package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/003-/345/206/205/347/275/256/347/254/254/344/270/211/346/226/271/345/272/223/350/257/264/346/230/216.md +25 -0
- package/docs/m8mpdoc-develop/000-/346/225/264/344/275/223/350/256/276/350/256/241/004-/345/267/245/347/250/213/350/207/252/345/256/232/344/271/211/351/205/215/347/275/256.md +97 -0
- package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/000-/347/216/257/345/242/203/345/207/206/345/244/207.md +186 -0
- package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/001-/345/237/272/347/241/200/350/257/255/346/263/225.md +218 -0
- package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/002-Vue/347/273/204/344/273/266/344/273/213/347/273/215.md +139 -0
- package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/004-VSCode/346/217/222/344/273/266.md +125 -0
- package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/005-pages.md +300 -0
- package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/006-manifest.md +173 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-CSS/350/257/255/346/263/225.md +217 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-ES6/346/224/257/346/214/201.md +14 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/344/273/200/344/271/210/346/230/257/346/235/241/344/273/266/347/274/226/350/257/221.md +176 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/200/345/217/221/350/247/204/350/214/203.md +167 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/225/347/224/250CSS.md +15 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/225/347/224/250JS.md +42 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/225/347/224/250/347/273/204/344/273/266.md +34 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/345/274/225/347/224/250/351/235/231/346/200/201/350/265/204/346/272/220.md +69 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/346/240/207/345/207/206js/345/222/214/346/265/217/350/247/210/345/231/250js/347/232/204/345/214/272/345/210/253.md +16 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/350/260/203/350/257/225.md +29 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/350/267/250/347/253/257/345/205/274/345/256/271.md +11 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/000-/350/277/220/350/241/214.md +50 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/001-/350/267/250/347/253/257/346/263/250/346/204/217.md +325 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/002-/346/241/206/346/236/266/350/216/267/345/217/226.md +38 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/002-/346/241/206/346/236/266/350/216/267/345/217/226vue3.md +39 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/003-/350/267/257/345/276/204/345/210/253/345/220/215.md +21 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/004-/345/274/200/345/247/213/345/274/200/345/217/221.md +105 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/005-/350/265/204/346/272/220/345/244/204/347/220/206/344/270/216/345/217/221/345/270/203.md +0 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/006-Boot/345/205/261/347/224/250/350/265/204/346/272/220.md +13 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/007-Config/344/270/232/345/212/241/351/205/215/347/275/256.md +325 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/008-/345/267/245/345/205/267/347/261/273/346/240/267/345/274/217.md +91 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/009-/347/224/237/345/221/275/345/221/250/346/234/237.md +119 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/009-/347/224/237/345/221/275/345/221/250/346/234/237vue3.md +100 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/010-/346/236/204/345/273/272.md +94 -0
- package/docs/m8mpdoc-develop/001-/351/241/265/351/235/242/345/274/200/345/217/221/011-/345/217/221/345/270/203.md +51 -0
- package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/000-token/347/232/204/344/275/277/347/224/250.md +5 -0
- package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/001-/344/273/243/347/240/201/350/247/204/350/214/203/350/207/252/345/212/250/346/243/200/346/265/213.md +0 -0
- package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/002-/345/211/215/345/220/216/347/253/257/346/225/260/346/215/256/344/272/244/344/272/222/345/274/200/345/217/221/346/250/241/345/274/217.md +5 -0
- package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003-style-guide.md +23 -0
- package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003.1-style-guide-a.md +872 -0
- package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003.2-style-guide-b.md +1041 -0
- package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003.3-style-guide-c.md +489 -0
- package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003.4-style-guide-d.md +372 -0
- package/docs/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205.md +247 -0
- package/docs/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205vue3.md +276 -0
- package/docs/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244.md +130 -0
- package/docs/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244vue3.md +115 -0
- package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/000-EJS2.X.md +5 -0
- package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS3.X.md +5 -0
- package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS4.X.md +5 -0
- package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS4.Xmp.md +5 -0
- package/docs/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/000-/346/240/270/345/277/203/346/226/271/346/263/225.md +398 -0
- package/docs/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/001-Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +456 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +128 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +142 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +210 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +85 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +21 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +36 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +128 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +148 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/010-Util/346/211/251/345/261/225/346/214/207/345/215/227.md +76 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +59 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +95 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +76 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +202 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +92 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +412 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +146 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +137 -0
- package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +363 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/000-/347/273/204/344/273/266/345/272/223/344/270/213/350/275/275/344/275/277/347/224/250.md +188 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +460 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +285 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +211 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +213 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +501 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +168 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +617 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +539 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +999 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +150 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +133 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +117 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +152 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +427 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +212 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +85 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +175 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +519 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +152 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +103 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +285 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +189 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +217 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +166 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +340 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +265 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +196 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +115 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +232 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +631 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +531 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +111 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +337 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +150 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +144 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +429 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +467 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +295 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +577 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +491 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +265 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +203 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +139 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +199 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +183 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +289 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +97 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +146 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +292 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +120 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +114 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +119 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +208 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +161 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +248 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +314 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +162 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +325 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +360 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +595 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +262 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +51 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +132 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +1538 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +261 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +161 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +381 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +531 -0
- package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +849 -0
- package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/001-/345/260/217/347/250/213/345/272/217/345/256/277/344/270/273/347/216/257/345/242/203.md +196 -0
- package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/002-/350/256/276/350/256/241.md +0 -0
- package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/003-/345/274/200/345/217/221/345/260/217/347/250/213/345/272/217.md +267 -0
- package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/004-/345/260/217/347/250/213/345/272/217/351/205/215/347/275/256.md +71 -0
- package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/005-/345/274/200/345/217/221/345/260/217/347/250/213/345/272/217/345/215/241/347/211/207.md +307 -0
- package/docs/m8mpdoc-develop/010-/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/006-/345/274/200/345/217/221/345/206/205/347/275/256/345/260/217/347/250/213/345/272/217.md +222 -0
- package/docs/m8mpdoc-develop/011-vuex/344/270/216router/347/232/204/344/275/277/347/224/250/router/347/232/204/344/275/277/347/224/250.md +275 -0
- package/docs/m8mpdoc-develop/011-vuex/344/270/216router/347/232/204/344/275/277/347/224/250/vuex/347/232/204/344/275/277/347/224/250.md +60 -0
- package/docs/m8mpdoc-develop/012-Mock/347/232/204/344/275/277/347/224/250/Mock/347/232/204/344/275/277/347/224/250.md +116 -0
- package/docs/m8mpdoc-develop/013-/350/247/243/345/206/263/346/234/254/345/234/260/350/267/250/345/237/237/devServer/350/267/250/345/237/237/351/205/215/347/275/256.md +81 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/DOM/346/223/215/344/275/234/346/227/266/346/234/272.md +45 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/M8.3/351/241/271/347/233/256/350/277/201/347/247/273/350/207/263M8.4.md +216 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/M8/350/200/201/351/241/271/347/233/256/350/277/201/347/247/273/350/267/250/347/253/257.md +55 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/install.md +91 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/pageopen.md +52 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/postcss/350/256/276/347/275/256.md +24 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/spechara.md +39 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/token/350/256/276/347/275/256.md +14 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/transpile_dependencies.md +18 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/webview/344/270/255/345/206/205/345/265/214H5/351/241/265/351/235/242.md +186 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//344/270/211/346/226/271APP/346/240/207/351/242/230/344/270/215/350/207/252/345/212/250/344/277/256/346/224/271.md +30 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//344/270/252/346/200/247/345/214/226/346/241/206/346/236/266/347/273/204/344/273/266.md +87 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//344/274/240/345/200/274/345/212/250/346/200/201/346/240/267/345/274/217.md +29 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//344/277/256/346/224/271/347/273/204/344/273/266/345/206/205/346/240/267/345/274/217.md +29 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//345/244/204/347/220/206/346/226/260/347/202/271/345/260/217/347/250/213/345/272/217/350/267/250/345/237/237/351/227/256/351/242/230.md +22 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//346/243/200/346/265/213/345/217/230/345/214/226/347/232/204/346/263/250/346/204/217/344/272/213/351/241/271.md +183 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//347/234/237/346/234/272/350/260/203/350/257/225.md +26 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//350/267/250/347/253/257/345/274/200/345/217/221/345/270/270/350/247/201/351/227/256/351/242/230.md +126 -0
- package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230//350/267/250/347/253/257/346/241/206/346/236/266/345/256/211/345/205/250/345/237/237/351/200/202/351/205/215.md +153 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/3thbuild.md +42 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/Pinia/347/232/204/344/275/277/347/224/250.md +88 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/custom_compts.md +60 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/customize.md +283 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/customtoken.md +74 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/i18n.md +220 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/modules.md +44 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/multiple.md +160 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/neui/345/272/224/347/224/250/346/236/204/345/273/272.md +111 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/pages.md +18 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/scss/345/217/230/351/207/217.md +132 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/subpage.md +107 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/weex/345/272/224/347/224/250/346/236/204/345/273/272.md +106 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/xmapp.md +77 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226//344/270/216/345/216/237/347/224/237/351/241/271/347/233/256/350/236/215/345/220/210.md +61 -0
- package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226//351/200/202/350/200/201/345/214/226/346/226/271/346/241/210.md +74 -0
- package/docs/m8mpdoc-develop/016-/350/247/206/350/247/211/350/247/204/350/214/203//347/247/273/345/212/250/350/247/206/350/247/211/350/256/276/350/256/241/350/247/204/350/214/2032.0.md +1 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/001-view.md +56 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/002-scroll-view.md +233 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/003-match-media.md +43 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/004-movable-view.md +118 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/005-cover-view.md +20 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/006-cover-image.md +154 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/007-audio.md +81 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/008-camera.md +70 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/009-image.md +197 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/010-video.md +196 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/011-live-player.md +139 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/012-live-pusher.md +274 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/013-canvas.md +90 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/014-web-view.md +151 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/015-vue/347/273/204/344/273/266.md +308 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/018-map.md +278 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/019-input.md +202 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/020-textarea.md +119 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/021-movable-area.md +25 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/022-page-meta.md +80 -0
- package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/023-navigation-bar.md +58 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/0-/344/273/213/347/273/215.md +92 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/000-/351/200/232/347/224/250/346/240/267/345/274/217.md +9 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/001-button/346/214/211/351/222/256.md +497 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/002-buttonedit/346/214/211/351/222/256/347/274/226/350/276/221.md +146 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/003-radio/345/215/225/351/200/211/346/241/206.md +476 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/004-checkbox/345/244/232/351/200/211/347/273/204.md +622 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/005-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +257 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/006-slider/346/273/221/345/235/227.md +420 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/007-badge/350/247/222/346/240/207.md +175 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/008-icon/345/233/276/346/240/207.md +133 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/009-overlay/351/201/256/347/275/251/345/261/202.md +111 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/010-drawer/346/212/275/345/261/211.md +369 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/011-dialog/345/274/271/345/207/272/345/261/202.md +430 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/015-steps/346/255/245/351/252/244/346/235/241.md +250 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/017-tooltip/346/226/207/345/255/227/346/217/220/347/244/272.md +101 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/018-progress/350/277/233/345/272/246/346/235/241.md +252 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/019-layout/345/270/203/345/261/200.md +324 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/023-toolbar/345/267/245/345/205/267/346/240/217.md +612 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/024-toolbarbtns/346/214/211/351/222/256/347/273/204.md +228 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/025-input/350/276/223/345/205/245/346/241/206.md +383 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/026-autocomplete/350/207/252/345/212/250/350/241/245/345/205/250/350/276/223/345/205/245/346/241/206.md +305 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/027-form/350/241/250/345/215/225.md +1343 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/028-cascader/347/272/247/350/201/224.md +695 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/029-image/345/233/276/347/211/207.md +211 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/031-datagrid/345/210/227/350/241/250.md +664 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/032-pagination/345/210/206/351/241/265.md +192 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/033-configprovider/345/205/250/345/261/200/351/205/215/347/275/256.md +417 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/034-switch/345/274/200/345/205/263.md +305 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/035-breadcrumb/351/235/242/345/214/205/345/261/221.md +90 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/036-empty/347/251/272/347/212/266/346/200/201.md +80 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/037-colorpalette/350/260/203/350/211/262/346/235/277.md +201 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/038-alert/346/217/220/347/244/272.md +206 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/039-scrollbar/346/273/232/345/212/250/346/235/241.md +256 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/040-skeleton/351/252/250/346/236/266/345/261/217.md +284 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/041-loading/345/212/240/350/275/275.md +183 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/042-verifycode/351/252/214/350/257/201/347/240/201.md +128 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/043-timeline/346/227/266/351/227/264/350/275/264.md +196 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/044-workflow/345/267/245/344/275/234/346/265/201.md +452 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/045-ewebeditor/345/257/214/346/226/207/346/234/254/347/274/226/350/276/221/345/231/250.md +236 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/046-tabs/346/240/207/347/255/276/351/241/265.md +388 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/047-notification/351/200/232/347/237/245.md +321 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/048-dropdown/344/270/213/346/213/211/350/217/234/345/215/225.md +400 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/049-tree/346/240/221/345/275/242/346/216/247/344/273/266.md +1567 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/050-popover/345/274/271/345/207/272/346/241/206.md +294 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/051-select/351/200/211/346/213/251/345/231/250.md +976 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/052-tree-select/346/240/221/345/275/242/351/200/211/346/213/251.md +918 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/053-inputnumber/346/225/260/345/255/227/350/276/223/345/205/245/346/241/206.md +206 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/054-tag/346/240/207/347/255/276.md +348 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/055-upload/344/270/212/344/274/240.md +718 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/056-message/346/266/210/346/201/257/346/217/220/347/244/272.md +287 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/057-segmented/345/210/206/346/256/265/346/216/247/345/210/266/345/231/250.md +222 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/058-progress/350/277/233/345/272/246/346/235/241.md +420 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/059-result/347/273/223/346/236/234.md +106 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/060-avatar/345/244/264/345/203/217.md +294 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/061-affix/345/233/272/351/222/211.md +120 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/062-popconfirm/346/260/224/346/263/241/347/241/256/350/256/244/346/241/206.md +139 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/063-input-tag/346/240/207/347/255/276/350/276/223/345/205/245/346/241/206.md +244 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/063-messagebox/346/266/210/346/201/257/345/274/271/346/241/206.md +527 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/064-rate/350/257/204/345/210/206.md +223 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/065-table/350/241/250/346/240/274.md +1417 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/066-link/351/223/276/346/216/245.md +177 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/067-file-upload/346/226/207/344/273/266/344/270/212/344/274/240.md +389 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/068-text/346/226/207/346/234/254.md +202 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/069-backtop/345/233/236/345/210/260/351/241/266/351/203/250.md +165 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/070-image-upload/345/233/276/347/211/207/344/270/212/344/274/240.md +388 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/071-file-list/346/226/207/344/273/266/345/210/227/350/241/250.md +94 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/072-sublist/345/255/220/350/241/250.md +729 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/073-carousel/350/265/260/351/251/254/347/201/257.md +306 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/075-date-picker/346/227/245/346/234/237/351/200/211/346/213/251.md +580 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/076-colorPicker/351/242/234/350/211/262/351/200/211/346/213/251/345/231/250.md +183 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/077-mention/346/217/220/345/217/212.md +390 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/079-timeselect/346/227/266/351/227/264/351/200/211/346/213/251/345/231/250.md +170 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/080-card/345/215/241/347/211/207.md +198 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/082-datetimepicker/346/227/266/351/227/264/351/200/211/346/213/251.md +392 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/085-timepicker/346/227/266/351/227/264/351/200/211/346/213/251/345/231/250.md +163 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/086-calendar/346/227/245/345/216/206.md +141 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/087-divider/345/210/206/345/211/262/347/272/277.md +77 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/090-upload-service/346/226/207/344/273/266/344/270/212/344/274/240.md +61 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/091-image-upload-service/345/233/276/347/211/207/344/270/212/344/274/240.md +49 -0
- package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/092-space/351/227/264/350/267/235.md +305 -0
- package/docs/m8mpdoc-develop/home-/351/246/226/351/241/265.md +612 -0
- package/docs/m8mpdoc-develop/home1-propose.md +45 -0
- package/package.json +54 -0
package/build/index.js
ADDED
|
@@ -0,0 +1,963 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{McpServer as Ne}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as Ve}from"@modelcontextprotocol/sdk/server/stdio.js";import{z as h}from"zod";import{fileURLToPath as Oe}from"url";import{dirname as Te,join as te}from"path";import{existsSync as Ee}from"fs";import*as C from"path";import*as w from"fs";import*as D from"path";function ne(e){try{return w.readFileSync(e,"utf-8")}catch(s){return console.error(`[Parser] \u8BFB\u53D6\u6587\u4EF6\u5931\u8D25: ${e}`,s),""}}function k(e){let s=[];try{if(!w.existsSync(e))return console.error(`[Parser] \u76EE\u5F55\u4E0D\u5B58\u5728: ${e}`),s;let t=w.readdirSync(e,{withFileTypes:!0});for(let n of t){let o=D.join(e,n.name);n.isDirectory()?s.push(...k(o)):n.isFile()&&n.name.endsWith(".md")&&s.push(o)}}catch(t){console.error(`[Parser] \u626B\u63CF\u76EE\u5F55\u5931\u8D25: ${e}`,t)}return s}function re(e){let s=[];for(let t of e){if(/^\|[\s\-:]+\|$/.test(t.trim()))continue;let n=t.split("|").map(o=>o.trim()).filter(o=>o!=="");n.length>0&&s.push(n)}return s}function j(e){let s=ne(e),t=[],n="",o=s.split(`
|
|
3
|
+
`),i=0;for(;i<o.length;){let a=o[i],r=a.match(/^(#{1,6})\s+(.+)$/);if(r){let l=r[1].length,p=r[2].trim();l===1&&!n&&(n=p),t.push({type:"heading",level:l,content:p}),i++;continue}if(a.startsWith("```")){let l=a.slice(3).trim(),p=[];for(i++;i<o.length&&!o[i].startsWith("```");)p.push(o[i]),i++;t.push({type:"code",content:p.join(`
|
|
4
|
+
`),language:l||"text"}),i++;continue}if(a.startsWith("|")){let l=[a];for(i++;i<o.length&&o[i].startsWith("|");)l.push(o[i]),i++;let p=re(l);t.push({type:"table",content:l.join(`
|
|
5
|
+
`),rows:p});continue}if(/^[\-\*\+]\s/.test(a)||/^\d+\.\s/.test(a)){let l=[a];for(i++;i<o.length&&(/^[\-\*\+]\s/.test(o[i])||/^\d+\.\s/.test(o[i])||/^\s+/.test(o[i]));)l.push(o[i]),i++;t.push({type:"list",content:l.join(`
|
|
6
|
+
`)});continue}if(a.trim()){let l=[a];for(i++;i<o.length&&o[i].trim()&&!o[i].startsWith("#")&&!o[i].startsWith("```")&&!o[i].startsWith("|");)l.push(o[i]),i++;t.push({type:"paragraph",content:l.join(`
|
|
7
|
+
`)});continue}i++}return{filePath:e,title:n,nodes:t,rawContent:s}}function b(e,s,t){let n=[],o=!1,i=0;for(let a of e){if(a.type==="heading"){if(a.content.toLowerCase().includes(s.toLowerCase())){if(!t||a.level===t){o=!0,i=a.level;continue}}else if(o&&a.level<=i)break}o&&n.push(a)}return n}function N(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}function ie(e){let s=e.replace(".md","").replace(/^\d+-/,""),t=s.match(/^([a-zA-Z\-]+)(.*)$/);return t?{name:t[1].toLowerCase(),displayName:t[2]||t[1]}:{name:s.toLowerCase(),displayName:s}}function ae(e){let s=e.split(C.sep);for(let t of s)if(t.includes("\u7EC4\u4EF6")||t.includes("UI"))return t.replace(/^\d+-/,"");return"\u5176\u4ED6"}function L(e){let s=[];if(e.length<2)return s;let t=e[0].map(r=>r.toLowerCase()),n=t.findIndex(r=>r.includes("\u53C2\u6570")||r.includes("name")||r.includes("\u5C5E\u6027")),o=t.findIndex(r=>r.includes("\u7C7B\u578B")||r.includes("type")),i=t.findIndex(r=>r.includes("\u9ED8\u8BA4")||r.includes("default")),a=t.findIndex(r=>r.includes("\u8BF4\u660E")||r.includes("\u63CF\u8FF0")||r.includes("description"));for(let r=1;r<e.length;r++){let l=e[r],p={name:n>=0&&l[n]?l[n].trim():"",type:o>=0&&l[o]?l[o].trim():"any",description:a>=0&&l[a]?l[a].trim():""};i>=0&&l[i]&&(p.default=l[i].trim()),p.name&&s.push(p)}return s}function le(e){let s=[];if(e.length<2)return s;let t=e[0].map(a=>a.toLowerCase()),n=t.findIndex(a=>a.includes("\u4E8B\u4EF6")||a.includes("name")||a.includes("\u540D")),o=t.findIndex(a=>a.includes("\u8BF4\u660E")||a.includes("\u63CF\u8FF0")),i=t.findIndex(a=>a.includes("\u53C2\u6570")||a.includes("\u56DE\u8C03"));for(let a=1;a<e.length;a++){let r=e[a],l={name:n>=0&&r[n]?r[n].trim():"",description:o>=0&&r[o]?r[o].trim():""};i>=0&&r[i]&&(l.params=r[i].trim()),l.name&&s.push(l)}return s}function pe(e){let s=N();if(e.length<2)return s;let t=e[0].map(i=>i.toLowerCase()),n=e[1],o=[{keywords:["ejs","h5 \u5E94\u7528","h5\u5E94\u7528"],key:"ejsH5"},{keywords:["\u65B0\u70B9\u5C0F\u7A0B\u5E8F","ejs\u5C0F\u7A0B\u5E8F"],key:"ejsMiniProgram"},{keywords:["h5"],key:"h5"},{keywords:["\u9489\u9489"],key:"dingtalk"},{keywords:["\u5FAE\u4FE1"],key:"wechat"},{keywords:["\u652F\u4ED8\u5B9D"],key:"alipay"},{keywords:["weex"],key:"weex"}];for(let i=0;i<t.length&&i<n.length;i++){let a=t[i],r=n[i].trim().toLowerCase();for(let{keywords:l,key:p}of o)if(l.some(c=>a.includes(c))){r==="\u652F\u6301"||r==="\u662F"||r==="true"||r==="yes"?s[p]=!0:r==="\u4E0D\u652F\u6301"||r==="\u5426"||r==="false"||r==="no"?s[p]=!1:r&&(s[p]=n[i].trim());break}}return s}function ce(e){let s=[],t="",n;for(let o of e)o.type==="heading"&&(t=o.content,o.content.includes("M8.3")||o.content.includes("vue2")?n="M8.3":(o.content.includes("M8.4")||o.content.includes("vue3"))&&(n="M8.4")),o.type==="code"&&o.language&&["html","vue","js","javascript","typescript"].includes(o.language.toLowerCase())&&s.push({title:t,code:o.content,language:o.language,frameworkVersion:n});return s}function ue(e){try{let s=j(e),t=C.basename(e),{name:n,displayName:o}=ie(t),i=ae(e),a="";for(let m of s.nodes)if(m.type==="paragraph"){a=m.content.split(`
|
|
8
|
+
`)[0];break}let r=[],l=b(s.nodes,"props");for(let m of l)if(m.type==="table"&&m.rows){r=L(m.rows);break}if(r.length===0){let m=b(s.nodes,"api");for(let f of m)if(f.type==="table"&&f.rows){r=L(f.rows);break}}let p=[],c=b(s.nodes,"events");for(let m of c)if(m.type==="table"&&m.rows){p=le(m.rows);break}let u=N();for(let m of s.nodes)if(m.type==="table"&&m.rows&&m.rows.length>=2){let f=m.rows[0].join(" ").toLowerCase();if(f.includes("\u5E73\u53F0")||f.includes("ejs")||f.includes("\u5FAE\u4FE1")){u=pe(m.rows);break}}let d=ce(s.nodes);return{name:n,displayName:o||s.title||n,description:a||s.title,category:i,props:r,events:p,examples:d,platformSupport:u,filePath:e}}catch(s){return console.error(`[ComponentParser] \u89E3\u6790\u7EC4\u4EF6\u6587\u6863\u5931\u8D25: ${e}`,s),null}}function V(e){let s=[],t=k(e);for(let n of t)if(n.includes("UI\u7EC4\u4EF6")||n.includes("009-")){let o=ue(n);o&&s.push(o)}return s}import*as v from"path";function T(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}function fe(e){let t=v.basename(e,".md").match(/api_(\w+)/);if(t)return t[1];let o=v.basename(v.dirname(e)).match(/api_(\w+)/);return o?o[1]:"unknown"}function E(e){let s=[];if(e.length<2)return s;let t=e[0].map(r=>r.toLowerCase()),n=t.findIndex(r=>r.includes("\u53C2\u6570")||r.includes("name")),o=t.findIndex(r=>r.includes("\u7C7B\u578B")||r.includes("type")),i=t.findIndex(r=>r.includes("\u8BF4\u660E")||r.includes("\u63CF\u8FF0")),a=t.findIndex(r=>r.includes("\u5E73\u53F0")||r.includes("\u5DEE\u5F02"));for(let r=1;r<e.length;r++){let l=e[r],p={name:n>=0&&l[n]?l[n].trim():"",type:o>=0&&l[o]?l[o].trim():"any",description:i>=0&&l[i]?l[i].trim():""};a>=0&&l[a]&&(p.platformNote=l[a].trim()),(p.description.includes("\u5FC5\u586B")||p.description.includes("required"))&&(p.required=!0),p.name&&s.push(p)}return s}function me(e){if(e.length<2)return;let s=E(e);if(s.length!==0)return{type:"object",description:"\u8FD4\u56DE\u503C\u5BF9\u8C61",fields:s}}function de(e){let s=T();if(e.length<2)return s;let t=e[0].map(i=>i.toLowerCase()),n=e[1],o=[{keywords:["ejs\uFF08h5 \u5E94\u7528","ejs\uFF08h5\u5E94\u7528","ejs(h5"],key:"ejsH5"},{keywords:["\u65B0\u70B9\u5C0F\u7A0B\u5E8F","ejs\uFF08\u65B0\u70B9"],key:"ejsMiniProgram"},{keywords:["h5"],key:"h5"},{keywords:["\u9489\u9489"],key:"dingtalk"},{keywords:["\u5FAE\u4FE1"],key:"wechat"},{keywords:["\u652F\u4ED8\u5B9D"],key:"alipay"},{keywords:["weex"],key:"weex"}];for(let i=0;i<t.length&&i<n.length;i++){let a=t[i],r=n[i].trim().toLowerCase();for(let{keywords:l,key:p}of o)if(l.some(c=>a.includes(c))){r==="\u652F\u6301"||r.includes("\u652F\u6301")?s[p]=!0:r==="\u4E0D\u652F\u6301"||r.includes("\u4E0D\u652F\u6301")?s[p]=!1:r&&(s[p]=n[i].trim());break}}return s}function he(e){let s=[/支持版本[::]\s*[`><=]*\s*([\d.]+)/,/版本\s*[`><=]*\s*([\d.]+)\s*开始支持/,/ejs\s*[><=]+\s*([\d.]+[a-z]*)/i,/v([\d.]+)\s*版本/];for(let t of s){let n=e.match(t);if(n)return n[1]}}function ge(e){let s=[];try{let t=j(e),n=fe(e),o=null,i="",a=[];for(let r of t.nodes)r.type==="heading"&&r.level===2?(o&&o.name&&(O(o,a),s.push(o)),o={module:n,name:r.content.replace(/[`*]/g,"").trim(),description:"",params:[],examples:[],platformSupport:T(),filePath:e},a=[],i=""):r.type==="heading"&&r.level===3&&o?i=r.content.toLowerCase():o&&(a.push({...r,_section:i}),r.type==="paragraph"&&!o.description&&(o.description=r.content.split(`
|
|
9
|
+
`)[0]));o&&o.name&&(O(o,a),s.push(o))}catch(t){console.error(`[EjsApiParser] \u89E3\u6790 API \u6587\u6863\u5931\u8D25: ${e}`,t)}return s}function O(e,s){for(let t of s){let n=t._section||"";if(t.type==="table"&&t.rows){let o=t.rows[0]?.join(" ").toLowerCase()||"";o.includes("\u5E73\u53F0")||o.includes("ejs")||o.includes("\u5FAE\u4FE1")?e.platformSupport=de(t.rows):n.includes("\u53C2\u6570")||o.includes("\u53C2\u6570")||o.includes("\u7C7B\u578B")?e.params=E(t.rows):(n.includes("\u8FD4\u56DE")||o.includes("\u8FD4\u56DE"))&&(e.returns=me(t.rows))}if(t.type==="code"&&t.language&&["js","javascript"].includes(t.language.toLowerCase())&&e.examples.push({title:n||"\u4F7F\u7528\u793A\u4F8B",code:t.content,language:t.language}),t.type==="paragraph"){let o=he(t.content);o&&!e.minVersion&&(e.minVersion=o)}}}function F(e){let s=[],t=k(e);for(let n of t){let o=v.basename(n);if(o.startsWith("api_")&&o.endsWith(".md")){let i=ge(n);s.push(...i)}}return s}async function W(e,s){console.error("[Index] \u5F00\u59CB\u6784\u5EFA\u7D22\u5F15..."),console.error(`[Index] EJS \u6587\u6863\u8DEF\u5F84: ${e}`),console.error(`[Index] M8 \u6587\u6863\u8DEF\u5F84: ${s}`);let t=V(s);console.error(`[Index] \u89E3\u6790\u5230 ${t.length} \u4E2A\u7EC4\u4EF6`);let n=F(e);console.error(`[Index] \u89E3\u6790\u5230 ${n.length} \u4E2A API`);let o={components:new Map,ejsApis:new Map,keywords:new Map,categories:new Map,buildTime:new Date};for(let i of t){let a=`component:${i.name}`;o.components.set(i.name,i);let r=_(i.name,i.displayName,i.description);for(let p of r){let c=o.keywords.get(p)||[];c.push(a),o.keywords.set(p,c)}let l=o.categories.get(i.category)||[];l.push(a),o.categories.set(i.category,l)}for(let i of n){let a=`api:${i.module}.${i.name}`;o.ejsApis.set(`${i.module}.${i.name}`,i);let r=_(i.name,i.module,i.description);for(let p of r){let c=o.keywords.get(p)||[];c.push(a),o.keywords.set(p,c)}let l=o.categories.get(`module:${i.module}`)||[];l.push(a),o.categories.set(`module:${i.module}`,l)}return console.error(`[Index] \u7D22\u5F15\u6784\u5EFA\u5B8C\u6210\uFF0C\u5173\u952E\u8BCD\u6570: ${o.keywords.size}`),o}function _(...e){let s=new Set;for(let t of e){if(!t)continue;let n=t.toLowerCase();s.add(n);let o=n.split(/[\s\-_,.,。、;:""''()【】]+/);for(let a of o)a.length>=2&&s.add(a);let i=t.match(/[\u4e00-\u9fa5]+/g);if(i)for(let a of i){s.add(a);for(let r of a)s.add(r)}}return Array.from(s)}function M(e,s,t){let n=e.toLowerCase(),o=s.toLowerCase();if(o===n)return 100;if(t&&o.includes(n))return 90;if(o.startsWith(n))return 80;if(o.includes(n))return 70;let i=0;for(let a of n)o.includes(a)&&i++;return Math.min(60,Math.floor(i/n.length*60))}function z(e,s){let n={ejsh5:"ejsH5",ejs:"ejsH5",ejsminiprogram:"ejsMiniProgram",h5:"h5",dingtalk:"dingtalk",wechat:"wechat",alipay:"alipay",weex:"weex"}[s.toLowerCase()];if(!n)return!0;let o=e[n];return o===!0||typeof o=="string"&&o.length>0}function P(e,s,t={}){let n=[],o=s.toLowerCase();for(let[i,a]of e.components){if(t.category&&a.category!==t.category||t.platform&&!z(a.platformSupport,t.platform))continue;let r=0;r=Math.max(r,M(s,i,!0)),r=Math.max(r,M(s,a.displayName,!0)),a.description.toLowerCase().includes(o)&&(r=Math.max(r,50)),e.keywords.get(o)?.includes(`component:${i}`)&&(r=Math.max(r,60)),r>0&&n.push({type:"component",id:`component:${i}`,name:i,displayName:a.displayName,description:a.description,score:r,platformSupport:a.platformSupport,category:a.category})}return n.sort((i,a)=>a.score-i.score),t.limit?n.slice(0,t.limit):n}function S(e,s,t={}){let n=[],o=s.toLowerCase();for(let[i,a]of e.ejsApis){if(t.module&&a.module!==t.module||t.platform&&!z(a.platformSupport,t.platform))continue;let r=0;r=Math.max(r,M(s,a.name,!0)),r=Math.max(r,M(s,`${a.module}.${a.name}`,!0)),a.module.toLowerCase()===o&&(r=Math.max(r,80)),a.description.toLowerCase().includes(o)&&(r=Math.max(r,50)),e.keywords.get(o)?.includes(`api:${i}`)&&(r=Math.max(r,60)),r>0&&n.push({type:"ejsApi",id:`api:${i}`,name:a.name,displayName:`ejs.${a.module}.${a.name}`,description:a.description,score:r,platformSupport:a.platformSupport,category:a.module})}return n.sort((i,a)=>a.score-i.score),t.limit?n.slice(0,t.limit):n}function H(e,s,t={}){let n=P(e,s,t),o=S(e,s,t),i=[...n,...o];return i.sort((a,r)=>r.score-a.score),t.limit?i.slice(0,t.limit):i}function J(e,s,t={}){return!s||s.trim().length===0?[]:P(e,s.trim(),{...t,limit:t.limit||20})}function R(e,s,t={}){return!s||s.trim().length===0?[]:S(e,s.trim(),{...t,limit:t.limit||20})}function U(e,s){if(!s||s.trim().length===0)return{found:!1,error:"\u8BF7\u63D0\u4F9B\u7EC4\u4EF6\u540D\u79F0"};let t=s.toLowerCase().trim(),n=e.components.get(t);if(n)return{found:!0,component:n};let o=[];for(let[i,a]of e.components)(i.includes(t)||t.includes(i)||a.displayName.toLowerCase().includes(t))&&o.push(i);return{found:!1,error:`\u672A\u627E\u5230\u7EC4\u4EF6: ${s}`,suggestions:o.slice(0,5)}}function K(e,s,t){if(!s||!t)return{found:!1,error:"\u8BF7\u63D0\u4F9B\u6A21\u5757\u540D\u548C API \u540D\u79F0"};let n=`${s.toLowerCase()}.${t.toLowerCase()}`,o=e.ejsApis.get(n);if(o){let a=[];for(let[r,l]of e.ejsApis)l.module===o.module&&r!==n&&a.push(l.name);return{found:!0,api:o,relatedApis:a.slice(0,5)}}let i=[];for(let[a,r]of e.ejsApis)(a.includes(t.toLowerCase())||r.name.toLowerCase().includes(t.toLowerCase()))&&i.push(`${r.module}.${r.name}`);return{found:!1,error:`\u672A\u627E\u5230 API: ejs.${s}.${t}`,suggestions:i.slice(0,5)}}var Y={\u8868\u5355:{components:["form","field","input"],apis:[]},\u8F93\u5165:{components:["field","input","textarea"],apis:[]},\u9009\u62E9:{components:["picker","select","radio","checkbox"],apis:["ui.select"]},\u65E5\u671F:{components:["datepicker","calendar"],apis:["ui.pickDate","ui.pickDateTime"]},\u65F6\u95F4:{components:["datepicker"],apis:["ui.pickTime","ui.pickDateTime"]},\u4E0A\u4F20:{components:["uploader"],apis:["io.chooseImage","io.uploadFile"]},\u6587\u4EF6:{components:["uploader"],apis:["io.chooseFile","io.downloadFile"]},\u5217\u8868:{components:["cell","minirefresh"],apis:[]},\u4E0B\u62C9\u5237\u65B0:{components:["minirefresh"],apis:[]},\u52A0\u8F7D\u66F4\u591A:{components:["minirefresh"],apis:[]},\u5F39\u7A97:{components:["dialog","popup"],apis:["ui.alert","ui.confirm"]},\u63D0\u793A:{components:["toast","notify"],apis:["ui.toast","ui.alert"]},\u786E\u8BA4:{components:["dialog"],apis:["ui.confirm"]},\u52A0\u8F7D:{components:["loading"],apis:["ui.showWaiting","ui.closeWaiting"]},\u5BFC\u822A:{components:["header","tabbar","tab"],apis:["navigator.push","navigator.pop"]},\u6807\u7B7E\u9875:{components:["tab"],apis:[]},\u5E95\u90E8\u680F:{components:["tabbar"],apis:[]},\u62CD\u7167:{components:[],apis:["device.camera","io.chooseImage"]},\u626B\u7801:{components:[],apis:["device.scan"]},\u5B9A\u4F4D:{components:["amap"],apis:["device.getLocation"]},\u5730\u56FE:{components:["amap"],apis:["device.getLocation"]},\u7535\u8BDD:{components:[],apis:["device.callPhone"]},\u5206\u4EAB:{components:[],apis:["device.sendTo"]},\u5B58\u50A8:{components:[],apis:["storage.setItem","storage.getItem"]},\u7F13\u5B58:{components:[],apis:["storage.setItem","storage.getItem","storage.clear"]},\u56FE\u7247:{components:["image","imagepreview"],apis:["io.chooseImage"]},\u8F6E\u64AD:{components:["swipe"],apis:[]},\u6B65\u9AA4:{components:["steps"],apis:[]},\u8FDB\u5EA6:{components:["progress","circle"],apis:[]},\u8BC4\u5206:{components:["rate"],apis:[]},\u641C\u7D22:{components:["search"],apis:[]},\u5F00\u5173:{components:["switch"],apis:[]},\u6ED1\u5757:{components:["slider"],apis:[]},\u6298\u53E0:{components:["collapse"],apis:[]},\u6807\u7B7E:{components:["tag"],apis:[]},\u5FBD\u6807:{components:["badge"],apis:[]},\u7A7A\u72B6\u6001:{components:["empty"],apis:[]},\u9AA8\u67B6\u5C4F:{components:["skeleton"],apis:[]}};function ye(e){let s=[],t=e.toLowerCase();for(let n of Object.keys(Y))t.includes(n)&&s.push(n);return s}function B(e,s){if(!s)return!0;let n={ejsh5:"ejsH5",ejs:"ejsH5",h5:"h5",wechat:"wechat",alipay:"alipay",dingtalk:"dingtalk"}[s.toLowerCase()];if(!n)return!0;let o=e[n];return o===!0||typeof o=="string"&&o.length>0}function G(e,s,t){let n=[],o=[],i=new Set,a=new Set,r=ye(s);for(let p of r){let c=Y[p];if(c){for(let u of c.components){if(i.has(u))continue;let d=e.components.get(u);d&&B(d.platformSupport,t)&&(i.add(u),n.push({type:"component",name:u,displayName:d.displayName,description:d.description,reason:`\u5339\u914D\u9700\u6C42\u5173\u952E\u8BCD: ${p}`,score:80,platformSupport:d.platformSupport}))}for(let u of c.apis){if(a.has(u))continue;let[d,m]=u.split("."),f=e.ejsApis.get(`${d}.${m}`);f&&B(f.platformSupport,t)&&(a.add(u),o.push({type:"ejsApi",name:f.name,displayName:`ejs.${f.module}.${f.name}`,description:f.description,reason:`\u5339\u914D\u9700\u6C42\u5173\u952E\u8BCD: ${p}`,score:80,platformSupport:f.platformSupport}))}}}if(n.length<3||o.length<2){let p=H(e,s,{limit:10,platform:t});for(let c of p)if(c.type==="component"&&!i.has(c.name)){if(n.length<5){i.add(c.name);let u=e.components.get(c.name);u&&n.push({type:"component",name:c.name,displayName:u.displayName,description:u.description,reason:"\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u641C\u7D22\u5339\u914D",score:c.score,platformSupport:u.platformSupport})}}else if(c.type==="ejsApi"&&!a.has(c.name)&&o.length<5){let u=c.id.replace("api:","");a.add(c.name);let d=e.ejsApis.get(u);d&&o.push({type:"ejsApi",name:d.name,displayName:`ejs.${d.module}.${d.name}`,description:d.description,reason:"\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u641C\u7D22\u5339\u914D",score:c.score,platformSupport:d.platformSupport})}}n.sort((p,c)=>c.score-p.score),o.sort((p,c)=>c.score-p.score);let l="";return n.length>0||o.length>0?(l=`\u6839\u636E\u60A8\u7684\u9700\u6C42"${s}"\uFF0C\u63A8\u8350\u4EE5\u4E0B\u65B9\u6848\uFF1A
|
|
10
|
+
|
|
11
|
+
`,n.length>0&&(l+=`**UI \u7EC4\u4EF6\uFF1A** ${n.map(p=>p.displayName||p.name).join("\u3001")}
|
|
12
|
+
`),o.length>0&&(l+=`**EJS API\uFF1A** ${o.map(p=>p.displayName).join("\u3001")}
|
|
13
|
+
`),t&&(l+=`
|
|
14
|
+
\u4EE5\u4E0A\u63A8\u8350\u5747\u652F\u6301 ${t} \u5E73\u53F0\u3002`)):l=`\u672A\u627E\u5230\u4E0E"${s}"\u76F4\u63A5\u76F8\u5173\u7684\u7EC4\u4EF6\u6216 API\uFF0C\u5EFA\u8BAE\u5C1D\u8BD5\u66F4\u5177\u4F53\u7684\u63CF\u8FF0\u6216\u4F7F\u7528\u641C\u7D22\u529F\u80FD\u3002`,{components:n,apis:o,summary:l}}function we(e,s,t){return s==="M8.4"?$e(e,t):ve(e,t)}function ve(e,s){let t=`ne-${e.name}`,n=`<template>
|
|
15
|
+
<div class="${e.name}-container">
|
|
16
|
+
<!-- ${e.displayName}\u7EC4\u4EF6 -->
|
|
17
|
+
<${t}`,o=e.props.slice(0,3);for(let r of o)r.name==="value"||r.name==="v-model"?n+=`
|
|
18
|
+
v-model="${e.name}Value"`:r.type==="boolean"?n+=`
|
|
19
|
+
:${r.name}="${r.default||"false"}"`:r.type==="string"&&(n+=`
|
|
20
|
+
${r.name}="${r.default||""}"`);if(e.events.length>0){let r=e.events[0];n+=`
|
|
21
|
+
@${r.name}="on${g(r.name)}"`}n+=`
|
|
22
|
+
/>
|
|
23
|
+
</div>
|
|
24
|
+
</template>`,s&&(n=Q(n,s));let i=`<script>
|
|
25
|
+
/**
|
|
26
|
+
* ${e.displayName}\u7EC4\u4EF6\u793A\u4F8B
|
|
27
|
+
* \u6846\u67B6\u7248\u672C: M8.3 (Vue2)
|
|
28
|
+
*/
|
|
29
|
+
export default {
|
|
30
|
+
name: '${g(e.name)}Demo',
|
|
31
|
+
|
|
32
|
+
data() {
|
|
33
|
+
return {
|
|
34
|
+
// ${e.displayName}\u7684\u503C
|
|
35
|
+
${e.name}Value: ${X(e.props[0])}
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
methods: {
|
|
40
|
+
/**
|
|
41
|
+
* ${e.events[0]?.description||"\u4E8B\u4EF6\u5904\u7406"}
|
|
42
|
+
*/
|
|
43
|
+
on${g(e.events[0]?.name||"Change")}(value) {
|
|
44
|
+
console.log('${e.displayName}\u503C\u53D8\u5316:', value);
|
|
45
|
+
// TODO: \u5904\u7406${e.displayName}\u4E8B\u4EF6
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
</script>`,a=`<style scoped>
|
|
50
|
+
.${e.name}-container {
|
|
51
|
+
padding: 16px;
|
|
52
|
+
}
|
|
53
|
+
</style>`;return{template:n,script:i,style:a,imports:[`import Ne${g(e.name)} from '@anthropic/ne-ui/lib/${e.name}';`],explanation:`\u8FD9\u662F ${e.displayName} \u7EC4\u4EF6\u7684 M8.3 (Vue2) \u793A\u4F8B\u4EE3\u7801\u3002
|
|
54
|
+
- \u4F7F\u7528 Options API \u98CE\u683C
|
|
55
|
+
- \u5305\u542B\u57FA\u672C\u7684\u6570\u636E\u7ED1\u5B9A\u548C\u4E8B\u4EF6\u5904\u7406
|
|
56
|
+
- \u53EF\u6839\u636E\u5B9E\u9645\u9700\u6C42\u4FEE\u6539\u5C5E\u6027\u548C\u4E8B\u4EF6`,frameworkVersion:"M8.3"}}function $e(e,s){let t=`ne-${e.name}`,n=`<template>
|
|
57
|
+
<div class="${e.name}-container">
|
|
58
|
+
<!-- ${e.displayName}\u7EC4\u4EF6 -->
|
|
59
|
+
<${t}`,o=e.props.slice(0,3);for(let r of o)r.name==="value"||r.name==="v-model"?n+=`
|
|
60
|
+
v-model="${e.name}Value"`:r.type==="boolean"?n+=`
|
|
61
|
+
:${r.name}="${r.default||"false"}"`:r.type==="string"&&(n+=`
|
|
62
|
+
${r.name}="${r.default||""}"`);if(e.events.length>0){let r=e.events[0];n+=`
|
|
63
|
+
@${r.name}="on${g(r.name)}"`}n+=`
|
|
64
|
+
/>
|
|
65
|
+
</div>
|
|
66
|
+
</template>`,s&&(n=Q(n,s));let i=`<script setup>
|
|
67
|
+
/**
|
|
68
|
+
* ${e.displayName}\u7EC4\u4EF6\u793A\u4F8B
|
|
69
|
+
* \u6846\u67B6\u7248\u672C: M8.4 (Vue3 Composition API)
|
|
70
|
+
*/
|
|
71
|
+
import { ref } from 'vue';
|
|
72
|
+
|
|
73
|
+
// ${e.displayName}\u7684\u503C
|
|
74
|
+
const ${e.name}Value = ref(${X(e.props[0])});
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* ${e.events[0]?.description||"\u4E8B\u4EF6\u5904\u7406"}
|
|
78
|
+
*/
|
|
79
|
+
function on${g(e.events[0]?.name||"Change")}(value) {
|
|
80
|
+
console.log('${e.displayName}\u503C\u53D8\u5316:', value);
|
|
81
|
+
// TODO: \u5904\u7406${e.displayName}\u4E8B\u4EF6
|
|
82
|
+
}
|
|
83
|
+
</script>`,a=`<style scoped>
|
|
84
|
+
.${e.name}-container {
|
|
85
|
+
padding: 16px;
|
|
86
|
+
}
|
|
87
|
+
</style>`;return{template:n,script:i,style:a,imports:[],explanation:`\u8FD9\u662F ${e.displayName} \u7EC4\u4EF6\u7684 M8.4 (Vue3) \u793A\u4F8B\u4EE3\u7801\u3002
|
|
88
|
+
- \u4F7F\u7528 Composition API \u548C <script setup> \u8BED\u6CD5
|
|
89
|
+
- \u5305\u542B\u54CD\u5E94\u5F0F\u6570\u636E\u548C\u4E8B\u4EF6\u5904\u7406
|
|
90
|
+
- \u53EF\u6839\u636E\u5B9E\u9645\u9700\u6C42\u4FEE\u6539\u5C5E\u6027\u548C\u4E8B\u4EF6`,frameworkVersion:"M8.4"}}function ke(e,s){let t=`ejs.${e.module}.${e.name}`,n=[];for(let a of e.params)a.required&&n.push(` ${a.name}: ${xe(a.type)} // ${a.description}`);let o=`/**
|
|
91
|
+
* \u8C03\u7528 ${t}
|
|
92
|
+
* ${e.description}
|
|
93
|
+
*/
|
|
94
|
+
${t}({
|
|
95
|
+
${n.join(`,
|
|
96
|
+
`)},
|
|
97
|
+
success: function(result) {
|
|
98
|
+
// \u6210\u529F\u56DE\u8C03
|
|
99
|
+
console.log('${e.name} \u6210\u529F:', result);
|
|
100
|
+
// TODO: \u5904\u7406\u6210\u529F\u7ED3\u679C
|
|
101
|
+
},
|
|
102
|
+
error: function(err) {
|
|
103
|
+
// \u9519\u8BEF\u56DE\u8C03
|
|
104
|
+
console.error('${e.name} \u5931\u8D25:', err);
|
|
105
|
+
// TODO: \u5904\u7406\u9519\u8BEF
|
|
106
|
+
}
|
|
107
|
+
});`,i=`/**
|
|
108
|
+
* \u8C03\u7528 ${t} (Promise \u98CE\u683C)
|
|
109
|
+
* ${e.description}
|
|
110
|
+
*/
|
|
111
|
+
async function call${g(e.name)}() {
|
|
112
|
+
try {
|
|
113
|
+
const result = await ${t}({
|
|
114
|
+
${n.join(`,
|
|
115
|
+
`)}
|
|
116
|
+
});
|
|
117
|
+
// \u6210\u529F\u5904\u7406
|
|
118
|
+
console.log('${e.name} \u6210\u529F:', result);
|
|
119
|
+
return result;
|
|
120
|
+
} catch (err) {
|
|
121
|
+
// \u9519\u8BEF\u5904\u7406
|
|
122
|
+
console.error('${e.name} \u5931\u8D25:', err);
|
|
123
|
+
throw err;
|
|
124
|
+
}
|
|
125
|
+
}`;return s==="M8.4"?{script:`<script setup>
|
|
126
|
+
/**
|
|
127
|
+
* EJS API \u8C03\u7528\u793A\u4F8B: ${t}
|
|
128
|
+
* \u6846\u67B6\u7248\u672C: M8.4 (Vue3)
|
|
129
|
+
*/
|
|
130
|
+
import { ref } from 'vue';
|
|
131
|
+
|
|
132
|
+
// \u7ED3\u679C\u6570\u636E
|
|
133
|
+
const result = ref(null);
|
|
134
|
+
const loading = ref(false);
|
|
135
|
+
const error = ref(null);
|
|
136
|
+
|
|
137
|
+
${i}
|
|
138
|
+
|
|
139
|
+
// \u5728\u7EC4\u4EF6\u4E2D\u8C03\u7528
|
|
140
|
+
async function handleAction() {
|
|
141
|
+
loading.value = true;
|
|
142
|
+
error.value = null;
|
|
143
|
+
try {
|
|
144
|
+
result.value = await call${g(e.name)}();
|
|
145
|
+
} catch (e) {
|
|
146
|
+
error.value = e;
|
|
147
|
+
} finally {
|
|
148
|
+
loading.value = false;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
</script>`,explanation:`\u8FD9\u662F ${t} \u7684 M8.4 (Vue3) \u8C03\u7528\u793A\u4F8B\u3002
|
|
152
|
+
- \u4F7F\u7528 async/await \u548C Promise \u98CE\u683C
|
|
153
|
+
- \u5305\u542B\u5B8C\u6574\u7684\u9519\u8BEF\u5904\u7406
|
|
154
|
+
- \u4F7F\u7528\u54CD\u5E94\u5F0F\u72B6\u6001\u7BA1\u7406\u52A0\u8F7D\u548C\u9519\u8BEF\u72B6\u6001`,frameworkVersion:"M8.4"}:{script:`<script>
|
|
155
|
+
/**
|
|
156
|
+
* EJS API \u8C03\u7528\u793A\u4F8B: ${t}
|
|
157
|
+
* \u6846\u67B6\u7248\u672C: M8.3 (Vue2)
|
|
158
|
+
*/
|
|
159
|
+
export default {
|
|
160
|
+
data() {
|
|
161
|
+
return {
|
|
162
|
+
result: null,
|
|
163
|
+
loading: false,
|
|
164
|
+
error: null
|
|
165
|
+
};
|
|
166
|
+
},
|
|
167
|
+
|
|
168
|
+
methods: {
|
|
169
|
+
/**
|
|
170
|
+
* \u8C03\u7528 ${e.name} API
|
|
171
|
+
*/
|
|
172
|
+
call${g(e.name)}() {
|
|
173
|
+
this.loading = true;
|
|
174
|
+
this.error = null;
|
|
175
|
+
|
|
176
|
+
${o.split(`
|
|
177
|
+
`).map(a=>" "+a).join(`
|
|
178
|
+
`)}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
</script>`,explanation:`\u8FD9\u662F ${t} \u7684 M8.3 (Vue2) \u8C03\u7528\u793A\u4F8B\u3002
|
|
183
|
+
- \u4F7F\u7528\u56DE\u8C03\u51FD\u6570\u98CE\u683C
|
|
184
|
+
- \u5305\u542B success \u548C error \u56DE\u8C03\u5904\u7406
|
|
185
|
+
- \u53EF\u6839\u636E\u9700\u8981\u6539\u4E3A Promise \u98CE\u683C`,frameworkVersion:"M8.3"}}function Q(e,s){return`<!-- #ifdef ${{wechat:"MP-WEIXIN",alipay:"MP-ALIPAY",h5:"H5",ejs:"APP-PLUS",dingtalk:"MP-DINGTALK"}[s.toLowerCase()]||s.toUpperCase()} -->
|
|
186
|
+
${e}
|
|
187
|
+
<!-- #endif -->`}function g(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""}function X(e){if(!e)return"''";if(e.default)return e.default;switch(e.type.toLowerCase()){case"string":return"''";case"number":return"0";case"boolean":return"false";case"array":return"[]";case"object":return"{}";default:return"null"}}function xe(e){switch(e.toLowerCase()){case"string":return"'\u8BF7\u586B\u5199'";case"number":return"0";case"boolean":return"true";case"array":return"[]";case"object":return"{}";case"function":return"() => {}";default:return"null"}}function Z(e,s){let t=s.options?.frameworkVersion||"M8.4",n=s.options?.platform;if(s.type==="component"){let o=e.components.get(s.name.toLowerCase());return o?we(o,t,n):{explanation:`\u672A\u627E\u5230\u7EC4\u4EF6: ${s.name}`,frameworkVersion:t}}if(s.type==="ejsApi"){let o="",i=s.name;s.name.includes(".")&&([o,i]=s.name.split("."));let a;if(o)a=e.ejsApis.get(`${o}.${i}`);else for(let[r,l]of e.ejsApis)if(l.name===i){a=l;break}return a?ke(a,t):{explanation:`\u672A\u627E\u5230 API: ${s.name}`,frameworkVersion:t}}return{explanation:`\u4E0D\u652F\u6301\u7684\u751F\u6210\u7C7B\u578B: ${s.type}`,frameworkVersion:t}}var A={ejsH5:"EJS H5 \u5E94\u7528",ejsMiniProgram:"EJS \u65B0\u70B9\u5C0F\u7A0B\u5E8F",h5:"H5",dingtalk:"\u9489\u9489",wechat:"\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F",alipay:"\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F",weex:"Weex"},je={ejsh5:"ejsH5",ejs:"ejsH5",ejsminiprogram:"ejsMiniProgram",h5:"h5",dingtalk:"dingtalk",wechat:"wechat",alipay:"alipay",weex:"weex"};function be(e,s){let t=[],n=[];for(let o of s){let i=je[o.toLowerCase()];if(!i)continue;let a=e[i],r=A[i]||o;a===!1?t.push(r):typeof a=="string"&&n.push(`${r}: ${a}`)}return{unsupported:t,limitations:n}}function Ce(e,s,t,n){let o=[];if(t==="component"){let i=e.components.get(s.toLowerCase());if(i)for(let[a,r]of e.components){if(a===s.toLowerCase()||r.category!==i.category)continue;let l=!0;for(let p of n){let c=Object.entries(A).find(([u,d])=>d===p)?.[0];if(c&&r.platformSupport[c]===!1){l=!1;break}}l&&o.push(`${r.displayName} (${a})`)}}else{let i=s.split("."),a=i.length>1?i[0]:"";for(let[r,l]of e.ejsApis){if(r===s||l.module!==a)continue;let p=!0;for(let c of n){let u=Object.entries(A).find(([d,m])=>m===c)?.[0];if(u&&l.platformSupport[u]===!1){p=!1;break}}p&&o.push(`ejs.${l.module}.${l.name}`)}}return o.slice(0,3)}function q(e,s,t){let n={items:[],allCompatible:!0,issues:[],suggestions:[]};for(let o of s){let i=o.toLowerCase(),a=!1,r="component",l,p=o,c=e.components.get(i);if(c&&(a=!0,r="component",l=c.platformSupport,p=c.displayName),!a){let f=e.ejsApis.get(i);if(f)a=!0,r="ejsApi",l=f.platformSupport,p=`ejs.${f.module}.${f.name}`;else for(let[oe,x]of e.ejsApis)if(x.name.toLowerCase()===i||oe===i){a=!0,r="ejsApi",l=x.platformSupport,p=`ejs.${x.module}.${x.name}`;break}}if(!a||!l){n.items.push({name:o,type:"component",platformSupport:Me(),unsupportedPlatforms:[],limitations:[`\u672A\u627E\u5230: ${o}`]}),n.issues.push(`\u672A\u627E\u5230\u7EC4\u4EF6\u6216 API: ${o}`);continue}let{unsupported:u,limitations:d}=be(l,t),m={name:p,type:r,platformSupport:l,unsupportedPlatforms:u,limitations:d};if(u.length>0){n.allCompatible=!1,n.issues.push(`${p} \u4E0D\u652F\u6301: ${u.join(", ")}`);let f=Ce(e,o,r,u);f.length>0&&(m.alternatives=f,n.suggestions.push(`${p} \u7684\u66FF\u4EE3\u65B9\u6848: ${f.join(", ")}`))}d.length>0&&n.issues.push(...d.map(f=>`${p} - ${f}`)),n.items.push(m)}return n.allCompatible?n.suggestions.push("\u6240\u6709\u7EC4\u4EF6\u548C API \u5728\u76EE\u6807\u5E73\u53F0\u4E0A\u5747\u5B8C\u5168\u652F\u6301\u3002"):n.suggestions.push("\u5EFA\u8BAE\u5728\u5F00\u53D1\u65F6\u4F7F\u7528\u6761\u4EF6\u7F16\u8BD1 (#ifdef) \u5904\u7406\u5E73\u53F0\u5DEE\u5F02\u3002"),n}function Me(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}var I={\u5217\u8868\u8BE6\u60C5:{name:"\u5217\u8868\u8BE6\u60C5",description:"\u5217\u8868\u9875\u9762\u70B9\u51FB\u8FDB\u5165\u8BE6\u60C5\u9875\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u4E0B\u62C9\u5237\u65B0\u3001\u52A0\u8F7D\u66F4\u591A\u3001\u9875\u9762\u8DF3\u8F6C\u7B49\u529F\u80FD",components:["cell","minirefresh","loading"],apis:["navigator.push","navigator.pop"],vue2Code:Pe(),vue3Code:Se(),keyPoints:["\u4F7F\u7528 minirefresh \u7EC4\u4EF6\u5B9E\u73B0\u4E0B\u62C9\u5237\u65B0\u548C\u52A0\u8F7D\u66F4\u591A","\u4F7F\u7528 cell \u7EC4\u4EF6\u5C55\u793A\u5217\u8868\u9879","\u4F7F\u7528 navigator.push \u8DF3\u8F6C\u5230\u8BE6\u60C5\u9875","\u8BE6\u60C5\u9875\u4F7F\u7528 navigator.pop \u8FD4\u56DE\u5217\u8868\u9875"]},\u8868\u5355\u63D0\u4EA4:{name:"\u8868\u5355\u63D0\u4EA4",description:"\u8868\u5355\u586B\u5199\u548C\u63D0\u4EA4\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u8868\u5355\u9A8C\u8BC1\u3001\u6570\u636E\u63D0\u4EA4\u3001\u7ED3\u679C\u53CD\u9988\u7B49\u529F\u80FD",components:["form","field","button","picker","datepicker"],apis:["ui.toast","ui.showWaiting","ui.closeWaiting"],vue2Code:Ae(),vue3Code:Ie(),keyPoints:["\u4F7F\u7528 form \u7EC4\u4EF6\u5305\u88F9\u8868\u5355\u5143\u7D20","\u4F7F\u7528 field \u7EC4\u4EF6\u5B9E\u73B0\u8F93\u5165\u6846","\u4F7F\u7528 picker/datepicker \u5B9E\u73B0\u9009\u62E9\u5668","\u63D0\u4EA4\u524D\u8FDB\u884C\u8868\u5355\u9A8C\u8BC1","\u4F7F\u7528 loading \u63D0\u793A\u7528\u6237\u7B49\u5F85","\u4F7F\u7528 toast \u53CD\u9988\u63D0\u4EA4\u7ED3\u679C"]},\u56FE\u7247\u4E0A\u4F20:{name:"\u56FE\u7247\u4E0A\u4F20",description:"\u56FE\u7247\u9009\u62E9\u548C\u4E0A\u4F20\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u56FE\u7247\u9009\u62E9\u3001\u9884\u89C8\u3001\u538B\u7F29\u3001\u4E0A\u4F20\u7B49\u529F\u80FD",components:["uploader","imagepreview"],apis:["io.chooseImage","io.uploadFile"],vue2Code:De(),vue3Code:Le(),keyPoints:["\u4F7F\u7528 uploader \u7EC4\u4EF6\u6216 io.chooseImage \u9009\u62E9\u56FE\u7247","\u652F\u6301\u56FE\u7247\u9884\u89C8\u529F\u80FD","\u4E0A\u4F20\u524D\u53EF\u8FDB\u884C\u56FE\u7247\u538B\u7F29","\u663E\u793A\u4E0A\u4F20\u8FDB\u5EA6"]}};function Pe(){return{template:`<template>
|
|
188
|
+
<div class="list-page">
|
|
189
|
+
<!-- \u4E0B\u62C9\u5237\u65B0\u5217\u8868 -->
|
|
190
|
+
<ne-minirefresh
|
|
191
|
+
ref="minirefresh"
|
|
192
|
+
:use-body-scroll="true"
|
|
193
|
+
@pulldown="onRefresh"
|
|
194
|
+
@pullup="onLoadMore"
|
|
195
|
+
>
|
|
196
|
+
<!-- \u5217\u8868\u5185\u5BB9 -->
|
|
197
|
+
<ne-cell
|
|
198
|
+
v-for="item in list"
|
|
199
|
+
:key="item.id"
|
|
200
|
+
:title="item.title"
|
|
201
|
+
:label="item.description"
|
|
202
|
+
is-link
|
|
203
|
+
@click="goDetail(item)"
|
|
204
|
+
/>
|
|
205
|
+
|
|
206
|
+
<!-- \u7A7A\u72B6\u6001 -->
|
|
207
|
+
<ne-empty v-if="list.length === 0 && !loading" description="\u6682\u65E0\u6570\u636E" />
|
|
208
|
+
</ne-minirefresh>
|
|
209
|
+
</div>
|
|
210
|
+
</template>`,script:`<script>
|
|
211
|
+
/**
|
|
212
|
+
* \u5217\u8868\u8BE6\u60C5\u6A21\u5F0F - \u5217\u8868\u9875
|
|
213
|
+
* \u6846\u67B6\u7248\u672C: M8.3 (Vue2)
|
|
214
|
+
*/
|
|
215
|
+
export default {
|
|
216
|
+
name: 'ListPage',
|
|
217
|
+
|
|
218
|
+
data() {
|
|
219
|
+
return {
|
|
220
|
+
list: [], // \u5217\u8868\u6570\u636E
|
|
221
|
+
page: 1, // \u5F53\u524D\u9875\u7801
|
|
222
|
+
pageSize: 10, // \u6BCF\u9875\u6761\u6570
|
|
223
|
+
loading: false, // \u52A0\u8F7D\u72B6\u6001
|
|
224
|
+
finished: false // \u662F\u5426\u52A0\u8F7D\u5B8C\u6210
|
|
225
|
+
};
|
|
226
|
+
},
|
|
227
|
+
|
|
228
|
+
mounted() {
|
|
229
|
+
// \u9875\u9762\u52A0\u8F7D\u65F6\u83B7\u53D6\u6570\u636E
|
|
230
|
+
this.loadData();
|
|
231
|
+
},
|
|
232
|
+
|
|
233
|
+
methods: {
|
|
234
|
+
/**
|
|
235
|
+
* \u52A0\u8F7D\u6570\u636E
|
|
236
|
+
*/
|
|
237
|
+
async loadData() {
|
|
238
|
+
if (this.loading) return;
|
|
239
|
+
this.loading = true;
|
|
240
|
+
|
|
241
|
+
try {
|
|
242
|
+
// TODO: \u66FF\u6362\u4E3A\u5B9E\u9645\u7684 API \u8C03\u7528
|
|
243
|
+
const res = await this.$api.getList({
|
|
244
|
+
page: this.page,
|
|
245
|
+
pageSize: this.pageSize
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
if (this.page === 1) {
|
|
249
|
+
this.list = res.data;
|
|
250
|
+
} else {
|
|
251
|
+
this.list = [...this.list, ...res.data];
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// \u5224\u65AD\u662F\u5426\u8FD8\u6709\u66F4\u591A\u6570\u636E
|
|
255
|
+
this.finished = res.data.length < this.pageSize;
|
|
256
|
+
} catch (err) {
|
|
257
|
+
console.error('\u52A0\u8F7D\u6570\u636E\u5931\u8D25:', err);
|
|
258
|
+
ejs.ui.toast({ message: '\u52A0\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5' });
|
|
259
|
+
} finally {
|
|
260
|
+
this.loading = false;
|
|
261
|
+
this.$refs.minirefresh.endPulldown();
|
|
262
|
+
this.$refs.minirefresh.endPullup(this.finished);
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* \u4E0B\u62C9\u5237\u65B0
|
|
268
|
+
*/
|
|
269
|
+
onRefresh() {
|
|
270
|
+
this.page = 1;
|
|
271
|
+
this.finished = false;
|
|
272
|
+
this.loadData();
|
|
273
|
+
},
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* \u52A0\u8F7D\u66F4\u591A
|
|
277
|
+
*/
|
|
278
|
+
onLoadMore() {
|
|
279
|
+
if (this.finished) return;
|
|
280
|
+
this.page++;
|
|
281
|
+
this.loadData();
|
|
282
|
+
},
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* \u8DF3\u8F6C\u8BE6\u60C5\u9875
|
|
286
|
+
*/
|
|
287
|
+
goDetail(item) {
|
|
288
|
+
// \u4F7F\u7528 EJS \u5BFC\u822A\u8DF3\u8F6C
|
|
289
|
+
ejs.navigator.push({
|
|
290
|
+
url: \`/pages/detail/detail?id=\${item.id}\`,
|
|
291
|
+
success: () => {
|
|
292
|
+
console.log('\u8DF3\u8F6C\u6210\u529F');
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
</script>`,style:`<style scoped>
|
|
299
|
+
.list-page {
|
|
300
|
+
min-height: 100vh;
|
|
301
|
+
background: #f5f5f5;
|
|
302
|
+
}
|
|
303
|
+
</style>`,explanation:"\u5217\u8868\u8BE6\u60C5\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u4E0B\u62C9\u5237\u65B0\u3001\u52A0\u8F7D\u66F4\u591A\u3001\u8DF3\u8F6C\u8BE6\u60C5\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function Se(){return{template:`<template>
|
|
304
|
+
<div class="list-page">
|
|
305
|
+
<!-- \u4E0B\u62C9\u5237\u65B0\u5217\u8868 -->
|
|
306
|
+
<ne-minirefresh
|
|
307
|
+
ref="minirefreshRef"
|
|
308
|
+
:use-body-scroll="true"
|
|
309
|
+
@pulldown="onRefresh"
|
|
310
|
+
@pullup="onLoadMore"
|
|
311
|
+
>
|
|
312
|
+
<!-- \u5217\u8868\u5185\u5BB9 -->
|
|
313
|
+
<ne-cell
|
|
314
|
+
v-for="item in list"
|
|
315
|
+
:key="item.id"
|
|
316
|
+
:title="item.title"
|
|
317
|
+
:label="item.description"
|
|
318
|
+
is-link
|
|
319
|
+
@click="goDetail(item)"
|
|
320
|
+
/>
|
|
321
|
+
|
|
322
|
+
<!-- \u7A7A\u72B6\u6001 -->
|
|
323
|
+
<ne-empty v-if="list.length === 0 && !loading" description="\u6682\u65E0\u6570\u636E" />
|
|
324
|
+
</ne-minirefresh>
|
|
325
|
+
</div>
|
|
326
|
+
</template>`,script:`<script setup>
|
|
327
|
+
/**
|
|
328
|
+
* \u5217\u8868\u8BE6\u60C5\u6A21\u5F0F - \u5217\u8868\u9875
|
|
329
|
+
* \u6846\u67B6\u7248\u672C: M8.4 (Vue3 Composition API)
|
|
330
|
+
*/
|
|
331
|
+
import { ref, onMounted } from 'vue';
|
|
332
|
+
|
|
333
|
+
// \u54CD\u5E94\u5F0F\u6570\u636E
|
|
334
|
+
const list = ref([]);
|
|
335
|
+
const page = ref(1);
|
|
336
|
+
const pageSize = ref(10);
|
|
337
|
+
const loading = ref(false);
|
|
338
|
+
const finished = ref(false);
|
|
339
|
+
const minirefreshRef = ref(null);
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* \u52A0\u8F7D\u6570\u636E
|
|
343
|
+
*/
|
|
344
|
+
async function loadData() {
|
|
345
|
+
if (loading.value) return;
|
|
346
|
+
loading.value = true;
|
|
347
|
+
|
|
348
|
+
try {
|
|
349
|
+
// TODO: \u66FF\u6362\u4E3A\u5B9E\u9645\u7684 API \u8C03\u7528
|
|
350
|
+
const res = await api.getList({
|
|
351
|
+
page: page.value,
|
|
352
|
+
pageSize: pageSize.value
|
|
353
|
+
});
|
|
354
|
+
|
|
355
|
+
if (page.value === 1) {
|
|
356
|
+
list.value = res.data;
|
|
357
|
+
} else {
|
|
358
|
+
list.value = [...list.value, ...res.data];
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
// \u5224\u65AD\u662F\u5426\u8FD8\u6709\u66F4\u591A\u6570\u636E
|
|
362
|
+
finished.value = res.data.length < pageSize.value;
|
|
363
|
+
} catch (err) {
|
|
364
|
+
console.error('\u52A0\u8F7D\u6570\u636E\u5931\u8D25:', err);
|
|
365
|
+
ejs.ui.toast({ message: '\u52A0\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5' });
|
|
366
|
+
} finally {
|
|
367
|
+
loading.value = false;
|
|
368
|
+
minirefreshRef.value?.endPulldown();
|
|
369
|
+
minirefreshRef.value?.endPullup(finished.value);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* \u4E0B\u62C9\u5237\u65B0
|
|
375
|
+
*/
|
|
376
|
+
function onRefresh() {
|
|
377
|
+
page.value = 1;
|
|
378
|
+
finished.value = false;
|
|
379
|
+
loadData();
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
* \u52A0\u8F7D\u66F4\u591A
|
|
384
|
+
*/
|
|
385
|
+
function onLoadMore() {
|
|
386
|
+
if (finished.value) return;
|
|
387
|
+
page.value++;
|
|
388
|
+
loadData();
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* \u8DF3\u8F6C\u8BE6\u60C5\u9875
|
|
393
|
+
*/
|
|
394
|
+
function goDetail(item) {
|
|
395
|
+
ejs.navigator.push({
|
|
396
|
+
url: \`/pages/detail/detail?id=\${item.id}\`,
|
|
397
|
+
success: () => {
|
|
398
|
+
console.log('\u8DF3\u8F6C\u6210\u529F');
|
|
399
|
+
}
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// \u9875\u9762\u52A0\u8F7D\u65F6\u83B7\u53D6\u6570\u636E
|
|
404
|
+
onMounted(() => {
|
|
405
|
+
loadData();
|
|
406
|
+
});
|
|
407
|
+
</script>`,style:`<style scoped>
|
|
408
|
+
.list-page {
|
|
409
|
+
min-height: 100vh;
|
|
410
|
+
background: #f5f5f5;
|
|
411
|
+
}
|
|
412
|
+
</style>`,explanation:"\u5217\u8868\u8BE6\u60C5\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u548C <script setup> \u8BED\u6CD5",frameworkVersion:"M8.4"}}function Ae(){return{template:`<template>
|
|
413
|
+
<div class="form-page">
|
|
414
|
+
<ne-form ref="form" :model="formData" :rules="rules">
|
|
415
|
+
<!-- \u6587\u672C\u8F93\u5165 -->
|
|
416
|
+
<ne-field
|
|
417
|
+
v-model="formData.name"
|
|
418
|
+
label="\u59D3\u540D"
|
|
419
|
+
placeholder="\u8BF7\u8F93\u5165\u59D3\u540D"
|
|
420
|
+
required
|
|
421
|
+
:rules="[{ required: true, message: '\u8BF7\u8F93\u5165\u59D3\u540D' }]"
|
|
422
|
+
/>
|
|
423
|
+
|
|
424
|
+
<!-- \u624B\u673A\u53F7 -->
|
|
425
|
+
<ne-field
|
|
426
|
+
v-model="formData.phone"
|
|
427
|
+
label="\u624B\u673A\u53F7"
|
|
428
|
+
type="tel"
|
|
429
|
+
placeholder="\u8BF7\u8F93\u5165\u624B\u673A\u53F7"
|
|
430
|
+
:rules="[
|
|
431
|
+
{ required: true, message: '\u8BF7\u8F93\u5165\u624B\u673A\u53F7' },
|
|
432
|
+
{ pattern: /^1[3-9]\\d{9}$/, message: '\u624B\u673A\u53F7\u683C\u5F0F\u4E0D\u6B63\u786E' }
|
|
433
|
+
]"
|
|
434
|
+
/>
|
|
435
|
+
|
|
436
|
+
<!-- \u65E5\u671F\u9009\u62E9 -->
|
|
437
|
+
<ne-field
|
|
438
|
+
v-model="formData.date"
|
|
439
|
+
label="\u65E5\u671F"
|
|
440
|
+
placeholder="\u8BF7\u9009\u62E9\u65E5\u671F"
|
|
441
|
+
readonly
|
|
442
|
+
is-link
|
|
443
|
+
@click="showDatePicker = true"
|
|
444
|
+
/>
|
|
445
|
+
|
|
446
|
+
<!-- \u9009\u62E9\u5668 -->
|
|
447
|
+
<ne-field
|
|
448
|
+
v-model="formData.typeName"
|
|
449
|
+
label="\u7C7B\u578B"
|
|
450
|
+
placeholder="\u8BF7\u9009\u62E9\u7C7B\u578B"
|
|
451
|
+
readonly
|
|
452
|
+
is-link
|
|
453
|
+
@click="showPicker = true"
|
|
454
|
+
/>
|
|
455
|
+
|
|
456
|
+
<!-- \u63D0\u4EA4\u6309\u94AE -->
|
|
457
|
+
<div class="form-actions">
|
|
458
|
+
<ne-button type="primary" block @click="onSubmit">\u63D0\u4EA4</ne-button>
|
|
459
|
+
</div>
|
|
460
|
+
</ne-form>
|
|
461
|
+
|
|
462
|
+
<!-- \u65E5\u671F\u9009\u62E9\u5668\u5F39\u7A97 -->
|
|
463
|
+
<ne-datepicker
|
|
464
|
+
v-model="showDatePicker"
|
|
465
|
+
:value="formData.date"
|
|
466
|
+
@confirm="onDateConfirm"
|
|
467
|
+
/>
|
|
468
|
+
|
|
469
|
+
<!-- \u9009\u62E9\u5668\u5F39\u7A97 -->
|
|
470
|
+
<ne-picker
|
|
471
|
+
v-model="showPicker"
|
|
472
|
+
:columns="typeOptions"
|
|
473
|
+
@confirm="onTypeConfirm"
|
|
474
|
+
/>
|
|
475
|
+
</div>
|
|
476
|
+
</template>`,script:`<script>
|
|
477
|
+
/**
|
|
478
|
+
* \u8868\u5355\u63D0\u4EA4\u6A21\u5F0F
|
|
479
|
+
* \u6846\u67B6\u7248\u672C: M8.3 (Vue2)
|
|
480
|
+
*/
|
|
481
|
+
export default {
|
|
482
|
+
name: 'FormPage',
|
|
483
|
+
|
|
484
|
+
data() {
|
|
485
|
+
return {
|
|
486
|
+
formData: {
|
|
487
|
+
name: '',
|
|
488
|
+
phone: '',
|
|
489
|
+
date: '',
|
|
490
|
+
type: '',
|
|
491
|
+
typeName: ''
|
|
492
|
+
},
|
|
493
|
+
showDatePicker: false,
|
|
494
|
+
showPicker: false,
|
|
495
|
+
typeOptions: [
|
|
496
|
+
{ text: '\u7C7B\u578B\u4E00', value: '1' },
|
|
497
|
+
{ text: '\u7C7B\u578B\u4E8C', value: '2' },
|
|
498
|
+
{ text: '\u7C7B\u578B\u4E09', value: '3' }
|
|
499
|
+
],
|
|
500
|
+
rules: {
|
|
501
|
+
name: [{ required: true, message: '\u8BF7\u8F93\u5165\u59D3\u540D' }],
|
|
502
|
+
phone: [
|
|
503
|
+
{ required: true, message: '\u8BF7\u8F93\u5165\u624B\u673A\u53F7' },
|
|
504
|
+
{ pattern: /^1[3-9]\\d{9}$/, message: '\u624B\u673A\u53F7\u683C\u5F0F\u4E0D\u6B63\u786E' }
|
|
505
|
+
]
|
|
506
|
+
}
|
|
507
|
+
};
|
|
508
|
+
},
|
|
509
|
+
|
|
510
|
+
methods: {
|
|
511
|
+
/**
|
|
512
|
+
* \u65E5\u671F\u9009\u62E9\u786E\u8BA4
|
|
513
|
+
*/
|
|
514
|
+
onDateConfirm(value) {
|
|
515
|
+
this.formData.date = value;
|
|
516
|
+
this.showDatePicker = false;
|
|
517
|
+
},
|
|
518
|
+
|
|
519
|
+
/**
|
|
520
|
+
* \u7C7B\u578B\u9009\u62E9\u786E\u8BA4
|
|
521
|
+
*/
|
|
522
|
+
onTypeConfirm(value) {
|
|
523
|
+
this.formData.type = value.value;
|
|
524
|
+
this.formData.typeName = value.text;
|
|
525
|
+
this.showPicker = false;
|
|
526
|
+
},
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* \u63D0\u4EA4\u8868\u5355
|
|
530
|
+
*/
|
|
531
|
+
async onSubmit() {
|
|
532
|
+
try {
|
|
533
|
+
// \u8868\u5355\u9A8C\u8BC1
|
|
534
|
+
await this.$refs.form.validate();
|
|
535
|
+
|
|
536
|
+
// \u663E\u793A\u52A0\u8F7D\u63D0\u793A
|
|
537
|
+
ejs.ui.showWaiting({ message: '\u63D0\u4EA4\u4E2D...' });
|
|
538
|
+
|
|
539
|
+
// TODO: \u66FF\u6362\u4E3A\u5B9E\u9645\u7684 API \u8C03\u7528
|
|
540
|
+
await this.$api.submitForm(this.formData);
|
|
541
|
+
|
|
542
|
+
// \u5173\u95ED\u52A0\u8F7D\u63D0\u793A
|
|
543
|
+
ejs.ui.closeWaiting();
|
|
544
|
+
|
|
545
|
+
// \u6210\u529F\u63D0\u793A
|
|
546
|
+
ejs.ui.toast({
|
|
547
|
+
message: '\u63D0\u4EA4\u6210\u529F',
|
|
548
|
+
success: () => {
|
|
549
|
+
// \u8FD4\u56DE\u4E0A\u4E00\u9875
|
|
550
|
+
ejs.navigator.pop();
|
|
551
|
+
}
|
|
552
|
+
});
|
|
553
|
+
} catch (err) {
|
|
554
|
+
ejs.ui.closeWaiting();
|
|
555
|
+
if (err.errors) {
|
|
556
|
+
// \u8868\u5355\u9A8C\u8BC1\u5931\u8D25
|
|
557
|
+
ejs.ui.toast({ message: err.errors[0].message });
|
|
558
|
+
} else {
|
|
559
|
+
// \u63D0\u4EA4\u5931\u8D25
|
|
560
|
+
ejs.ui.toast({ message: '\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5' });
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
};
|
|
566
|
+
</script>`,style:`<style scoped>
|
|
567
|
+
.form-page {
|
|
568
|
+
padding: 16px;
|
|
569
|
+
background: #fff;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
.form-actions {
|
|
573
|
+
margin-top: 24px;
|
|
574
|
+
padding: 0 16px;
|
|
575
|
+
}
|
|
576
|
+
</style>`,explanation:"\u8868\u5355\u63D0\u4EA4\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u8868\u5355\u9A8C\u8BC1\u3001\u9009\u62E9\u5668\u3001\u63D0\u4EA4\u53CD\u9988\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function Ie(){return{template:`<template>
|
|
577
|
+
<div class="form-page">
|
|
578
|
+
<ne-form ref="formRef" :model="formData" :rules="rules">
|
|
579
|
+
<!-- \u6587\u672C\u8F93\u5165 -->
|
|
580
|
+
<ne-field
|
|
581
|
+
v-model="formData.name"
|
|
582
|
+
label="\u59D3\u540D"
|
|
583
|
+
placeholder="\u8BF7\u8F93\u5165\u59D3\u540D"
|
|
584
|
+
required
|
|
585
|
+
/>
|
|
586
|
+
|
|
587
|
+
<!-- \u624B\u673A\u53F7 -->
|
|
588
|
+
<ne-field
|
|
589
|
+
v-model="formData.phone"
|
|
590
|
+
label="\u624B\u673A\u53F7"
|
|
591
|
+
type="tel"
|
|
592
|
+
placeholder="\u8BF7\u8F93\u5165\u624B\u673A\u53F7"
|
|
593
|
+
/>
|
|
594
|
+
|
|
595
|
+
<!-- \u65E5\u671F\u9009\u62E9 -->
|
|
596
|
+
<ne-field
|
|
597
|
+
v-model="formData.date"
|
|
598
|
+
label="\u65E5\u671F"
|
|
599
|
+
placeholder="\u8BF7\u9009\u62E9\u65E5\u671F"
|
|
600
|
+
readonly
|
|
601
|
+
is-link
|
|
602
|
+
@click="showDatePicker = true"
|
|
603
|
+
/>
|
|
604
|
+
|
|
605
|
+
<!-- \u9009\u62E9\u5668 -->
|
|
606
|
+
<ne-field
|
|
607
|
+
v-model="formData.typeName"
|
|
608
|
+
label="\u7C7B\u578B"
|
|
609
|
+
placeholder="\u8BF7\u9009\u62E9\u7C7B\u578B"
|
|
610
|
+
readonly
|
|
611
|
+
is-link
|
|
612
|
+
@click="showPicker = true"
|
|
613
|
+
/>
|
|
614
|
+
|
|
615
|
+
<!-- \u63D0\u4EA4\u6309\u94AE -->
|
|
616
|
+
<div class="form-actions">
|
|
617
|
+
<ne-button type="primary" block @click="onSubmit">\u63D0\u4EA4</ne-button>
|
|
618
|
+
</div>
|
|
619
|
+
</ne-form>
|
|
620
|
+
|
|
621
|
+
<!-- \u65E5\u671F\u9009\u62E9\u5668\u5F39\u7A97 -->
|
|
622
|
+
<ne-datepicker
|
|
623
|
+
v-model="showDatePicker"
|
|
624
|
+
:value="formData.date"
|
|
625
|
+
@confirm="onDateConfirm"
|
|
626
|
+
/>
|
|
627
|
+
|
|
628
|
+
<!-- \u9009\u62E9\u5668\u5F39\u7A97 -->
|
|
629
|
+
<ne-picker
|
|
630
|
+
v-model="showPicker"
|
|
631
|
+
:columns="typeOptions"
|
|
632
|
+
@confirm="onTypeConfirm"
|
|
633
|
+
/>
|
|
634
|
+
</div>
|
|
635
|
+
</template>`,script:`<script setup>
|
|
636
|
+
/**
|
|
637
|
+
* \u8868\u5355\u63D0\u4EA4\u6A21\u5F0F
|
|
638
|
+
* \u6846\u67B6\u7248\u672C: M8.4 (Vue3 Composition API)
|
|
639
|
+
*/
|
|
640
|
+
import { ref, reactive } from 'vue';
|
|
641
|
+
|
|
642
|
+
// \u8868\u5355\u5F15\u7528
|
|
643
|
+
const formRef = ref(null);
|
|
644
|
+
|
|
645
|
+
// \u8868\u5355\u6570\u636E
|
|
646
|
+
const formData = reactive({
|
|
647
|
+
name: '',
|
|
648
|
+
phone: '',
|
|
649
|
+
date: '',
|
|
650
|
+
type: '',
|
|
651
|
+
typeName: ''
|
|
652
|
+
});
|
|
653
|
+
|
|
654
|
+
// \u5F39\u7A97\u72B6\u6001
|
|
655
|
+
const showDatePicker = ref(false);
|
|
656
|
+
const showPicker = ref(false);
|
|
657
|
+
|
|
658
|
+
// \u9009\u9879\u6570\u636E
|
|
659
|
+
const typeOptions = [
|
|
660
|
+
{ text: '\u7C7B\u578B\u4E00', value: '1' },
|
|
661
|
+
{ text: '\u7C7B\u578B\u4E8C', value: '2' },
|
|
662
|
+
{ text: '\u7C7B\u578B\u4E09', value: '3' }
|
|
663
|
+
];
|
|
664
|
+
|
|
665
|
+
// \u8868\u5355\u9A8C\u8BC1\u89C4\u5219
|
|
666
|
+
const rules = {
|
|
667
|
+
name: [{ required: true, message: '\u8BF7\u8F93\u5165\u59D3\u540D' }],
|
|
668
|
+
phone: [
|
|
669
|
+
{ required: true, message: '\u8BF7\u8F93\u5165\u624B\u673A\u53F7' },
|
|
670
|
+
{ pattern: /^1[3-9]\\d{9}$/, message: '\u624B\u673A\u53F7\u683C\u5F0F\u4E0D\u6B63\u786E' }
|
|
671
|
+
]
|
|
672
|
+
};
|
|
673
|
+
|
|
674
|
+
/**
|
|
675
|
+
* \u65E5\u671F\u9009\u62E9\u786E\u8BA4
|
|
676
|
+
*/
|
|
677
|
+
function onDateConfirm(value) {
|
|
678
|
+
formData.date = value;
|
|
679
|
+
showDatePicker.value = false;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
* \u7C7B\u578B\u9009\u62E9\u786E\u8BA4
|
|
684
|
+
*/
|
|
685
|
+
function onTypeConfirm(value) {
|
|
686
|
+
formData.type = value.value;
|
|
687
|
+
formData.typeName = value.text;
|
|
688
|
+
showPicker.value = false;
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
/**
|
|
692
|
+
* \u63D0\u4EA4\u8868\u5355
|
|
693
|
+
*/
|
|
694
|
+
async function onSubmit() {
|
|
695
|
+
try {
|
|
696
|
+
// \u8868\u5355\u9A8C\u8BC1
|
|
697
|
+
await formRef.value?.validate();
|
|
698
|
+
|
|
699
|
+
// \u663E\u793A\u52A0\u8F7D\u63D0\u793A
|
|
700
|
+
ejs.ui.showWaiting({ message: '\u63D0\u4EA4\u4E2D...' });
|
|
701
|
+
|
|
702
|
+
// TODO: \u66FF\u6362\u4E3A\u5B9E\u9645\u7684 API \u8C03\u7528
|
|
703
|
+
await api.submitForm(formData);
|
|
704
|
+
|
|
705
|
+
// \u5173\u95ED\u52A0\u8F7D\u63D0\u793A
|
|
706
|
+
ejs.ui.closeWaiting();
|
|
707
|
+
|
|
708
|
+
// \u6210\u529F\u63D0\u793A
|
|
709
|
+
ejs.ui.toast({
|
|
710
|
+
message: '\u63D0\u4EA4\u6210\u529F',
|
|
711
|
+
success: () => {
|
|
712
|
+
ejs.navigator.pop();
|
|
713
|
+
}
|
|
714
|
+
});
|
|
715
|
+
} catch (err) {
|
|
716
|
+
ejs.ui.closeWaiting();
|
|
717
|
+
if (err.errors) {
|
|
718
|
+
ejs.ui.toast({ message: err.errors[0].message });
|
|
719
|
+
} else {
|
|
720
|
+
ejs.ui.toast({ message: '\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5' });
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
</script>`,style:`<style scoped>
|
|
725
|
+
.form-page {
|
|
726
|
+
padding: 16px;
|
|
727
|
+
background: #fff;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
.form-actions {
|
|
731
|
+
margin-top: 24px;
|
|
732
|
+
padding: 0 16px;
|
|
733
|
+
}
|
|
734
|
+
</style>`,explanation:"\u8868\u5355\u63D0\u4EA4\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u548C reactive \u7BA1\u7406\u8868\u5355\u72B6\u6001",frameworkVersion:"M8.4"}}function De(){return{template:`<template>
|
|
735
|
+
<div class="upload-page">
|
|
736
|
+
<ne-uploader
|
|
737
|
+
v-model="fileList"
|
|
738
|
+
:max-count="9"
|
|
739
|
+
:max-size="5 * 1024 * 1024"
|
|
740
|
+
accept="image/*"
|
|
741
|
+
@oversize="onOversize"
|
|
742
|
+
@delete="onDelete"
|
|
743
|
+
>
|
|
744
|
+
<template #preview-cover="{ file }">
|
|
745
|
+
<div v-if="file.status === 'uploading'" class="upload-progress">
|
|
746
|
+
{{ file.progress }}%
|
|
747
|
+
</div>
|
|
748
|
+
</template>
|
|
749
|
+
</ne-uploader>
|
|
750
|
+
|
|
751
|
+
<ne-button type="primary" block @click="uploadAll">\u4E0A\u4F20\u5168\u90E8</ne-button>
|
|
752
|
+
</div>
|
|
753
|
+
</template>`,script:`<script>
|
|
754
|
+
/**
|
|
755
|
+
* \u56FE\u7247\u4E0A\u4F20\u6A21\u5F0F
|
|
756
|
+
* \u6846\u67B6\u7248\u672C: M8.3 (Vue2)
|
|
757
|
+
*/
|
|
758
|
+
export default {
|
|
759
|
+
name: 'UploadPage',
|
|
760
|
+
|
|
761
|
+
data() {
|
|
762
|
+
return {
|
|
763
|
+
fileList: []
|
|
764
|
+
};
|
|
765
|
+
},
|
|
766
|
+
|
|
767
|
+
methods: {
|
|
768
|
+
/**
|
|
769
|
+
* \u6587\u4EF6\u8D85\u51FA\u5927\u5C0F\u9650\u5236
|
|
770
|
+
*/
|
|
771
|
+
onOversize(file) {
|
|
772
|
+
ejs.ui.toast({ message: '\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC7 5MB' });
|
|
773
|
+
},
|
|
774
|
+
|
|
775
|
+
/**
|
|
776
|
+
* \u5220\u9664\u6587\u4EF6
|
|
777
|
+
*/
|
|
778
|
+
onDelete(file, detail) {
|
|
779
|
+
console.log('\u5220\u9664\u6587\u4EF6:', file, detail);
|
|
780
|
+
},
|
|
781
|
+
|
|
782
|
+
/**
|
|
783
|
+
* \u4E0A\u4F20\u5355\u4E2A\u6587\u4EF6
|
|
784
|
+
*/
|
|
785
|
+
async uploadFile(file) {
|
|
786
|
+
return new Promise((resolve, reject) => {
|
|
787
|
+
ejs.io.uploadFile({
|
|
788
|
+
url: '/api/upload',
|
|
789
|
+
filePath: file.url,
|
|
790
|
+
name: 'file',
|
|
791
|
+
success: (res) => {
|
|
792
|
+
const data = JSON.parse(res.data);
|
|
793
|
+
resolve(data.url);
|
|
794
|
+
},
|
|
795
|
+
error: (err) => {
|
|
796
|
+
reject(err);
|
|
797
|
+
},
|
|
798
|
+
progress: (progress) => {
|
|
799
|
+
file.progress = progress;
|
|
800
|
+
}
|
|
801
|
+
});
|
|
802
|
+
});
|
|
803
|
+
},
|
|
804
|
+
|
|
805
|
+
/**
|
|
806
|
+
* \u4E0A\u4F20\u5168\u90E8\u6587\u4EF6
|
|
807
|
+
*/
|
|
808
|
+
async uploadAll() {
|
|
809
|
+
const pendingFiles = this.fileList.filter(f => !f.uploaded);
|
|
810
|
+
|
|
811
|
+
if (pendingFiles.length === 0) {
|
|
812
|
+
ejs.ui.toast({ message: '\u6CA1\u6709\u9700\u8981\u4E0A\u4F20\u7684\u6587\u4EF6' });
|
|
813
|
+
return;
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
ejs.ui.showWaiting({ message: '\u4E0A\u4F20\u4E2D...' });
|
|
817
|
+
|
|
818
|
+
try {
|
|
819
|
+
for (const file of pendingFiles) {
|
|
820
|
+
file.status = 'uploading';
|
|
821
|
+
const url = await this.uploadFile(file);
|
|
822
|
+
file.url = url;
|
|
823
|
+
file.status = 'done';
|
|
824
|
+
file.uploaded = true;
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
ejs.ui.closeWaiting();
|
|
828
|
+
ejs.ui.toast({ message: '\u4E0A\u4F20\u6210\u529F' });
|
|
829
|
+
} catch (err) {
|
|
830
|
+
ejs.ui.closeWaiting();
|
|
831
|
+
ejs.ui.toast({ message: '\u4E0A\u4F20\u5931\u8D25' });
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
};
|
|
836
|
+
</script>`,style:`<style scoped>
|
|
837
|
+
.upload-page {
|
|
838
|
+
padding: 16px;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
.upload-progress {
|
|
842
|
+
position: absolute;
|
|
843
|
+
bottom: 0;
|
|
844
|
+
left: 0;
|
|
845
|
+
right: 0;
|
|
846
|
+
background: rgba(0, 0, 0, 0.5);
|
|
847
|
+
color: #fff;
|
|
848
|
+
text-align: center;
|
|
849
|
+
font-size: 12px;
|
|
850
|
+
padding: 2px 0;
|
|
851
|
+
}
|
|
852
|
+
</style>`,explanation:"\u56FE\u7247\u4E0A\u4F20\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u591A\u56FE\u4E0A\u4F20\u3001\u8FDB\u5EA6\u663E\u793A\u3001\u5927\u5C0F\u9650\u5236\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function Le(){return{template:`<template>
|
|
853
|
+
<div class="upload-page">
|
|
854
|
+
<ne-uploader
|
|
855
|
+
v-model="fileList"
|
|
856
|
+
:max-count="9"
|
|
857
|
+
:max-size="5 * 1024 * 1024"
|
|
858
|
+
accept="image/*"
|
|
859
|
+
@oversize="onOversize"
|
|
860
|
+
@delete="onDelete"
|
|
861
|
+
>
|
|
862
|
+
<template #preview-cover="{ file }">
|
|
863
|
+
<div v-if="file.status === 'uploading'" class="upload-progress">
|
|
864
|
+
{{ file.progress }}%
|
|
865
|
+
</div>
|
|
866
|
+
</template>
|
|
867
|
+
</ne-uploader>
|
|
868
|
+
|
|
869
|
+
<ne-button type="primary" block @click="uploadAll">\u4E0A\u4F20\u5168\u90E8</ne-button>
|
|
870
|
+
</div>
|
|
871
|
+
</template>`,script:`<script setup>
|
|
872
|
+
/**
|
|
873
|
+
* \u56FE\u7247\u4E0A\u4F20\u6A21\u5F0F
|
|
874
|
+
* \u6846\u67B6\u7248\u672C: M8.4 (Vue3 Composition API)
|
|
875
|
+
*/
|
|
876
|
+
import { ref } from 'vue';
|
|
877
|
+
|
|
878
|
+
// \u6587\u4EF6\u5217\u8868
|
|
879
|
+
const fileList = ref([]);
|
|
880
|
+
|
|
881
|
+
/**
|
|
882
|
+
* \u6587\u4EF6\u8D85\u51FA\u5927\u5C0F\u9650\u5236
|
|
883
|
+
*/
|
|
884
|
+
function onOversize(file) {
|
|
885
|
+
ejs.ui.toast({ message: '\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC7 5MB' });
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
/**
|
|
889
|
+
* \u5220\u9664\u6587\u4EF6
|
|
890
|
+
*/
|
|
891
|
+
function onDelete(file, detail) {
|
|
892
|
+
console.log('\u5220\u9664\u6587\u4EF6:', file, detail);
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
/**
|
|
896
|
+
* \u4E0A\u4F20\u5355\u4E2A\u6587\u4EF6
|
|
897
|
+
*/
|
|
898
|
+
function uploadFile(file) {
|
|
899
|
+
return new Promise((resolve, reject) => {
|
|
900
|
+
ejs.io.uploadFile({
|
|
901
|
+
url: '/api/upload',
|
|
902
|
+
filePath: file.url,
|
|
903
|
+
name: 'file',
|
|
904
|
+
success: (res) => {
|
|
905
|
+
const data = JSON.parse(res.data);
|
|
906
|
+
resolve(data.url);
|
|
907
|
+
},
|
|
908
|
+
error: (err) => {
|
|
909
|
+
reject(err);
|
|
910
|
+
},
|
|
911
|
+
progress: (progress) => {
|
|
912
|
+
file.progress = progress;
|
|
913
|
+
}
|
|
914
|
+
});
|
|
915
|
+
});
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
/**
|
|
919
|
+
* \u4E0A\u4F20\u5168\u90E8\u6587\u4EF6
|
|
920
|
+
*/
|
|
921
|
+
async function uploadAll() {
|
|
922
|
+
const pendingFiles = fileList.value.filter(f => !f.uploaded);
|
|
923
|
+
|
|
924
|
+
if (pendingFiles.length === 0) {
|
|
925
|
+
ejs.ui.toast({ message: '\u6CA1\u6709\u9700\u8981\u4E0A\u4F20\u7684\u6587\u4EF6' });
|
|
926
|
+
return;
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
ejs.ui.showWaiting({ message: '\u4E0A\u4F20\u4E2D...' });
|
|
930
|
+
|
|
931
|
+
try {
|
|
932
|
+
for (const file of pendingFiles) {
|
|
933
|
+
file.status = 'uploading';
|
|
934
|
+
const url = await uploadFile(file);
|
|
935
|
+
file.url = url;
|
|
936
|
+
file.status = 'done';
|
|
937
|
+
file.uploaded = true;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
ejs.ui.closeWaiting();
|
|
941
|
+
ejs.ui.toast({ message: '\u4E0A\u4F20\u6210\u529F' });
|
|
942
|
+
} catch (err) {
|
|
943
|
+
ejs.ui.closeWaiting();
|
|
944
|
+
ejs.ui.toast({ message: '\u4E0A\u4F20\u5931\u8D25' });
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
</script>`,style:`<style scoped>
|
|
948
|
+
.upload-page {
|
|
949
|
+
padding: 16px;
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
.upload-progress {
|
|
953
|
+
position: absolute;
|
|
954
|
+
bottom: 0;
|
|
955
|
+
left: 0;
|
|
956
|
+
right: 0;
|
|
957
|
+
background: rgba(0, 0, 0, 0.5);
|
|
958
|
+
color: #fff;
|
|
959
|
+
text-align: center;
|
|
960
|
+
font-size: 12px;
|
|
961
|
+
padding: 2px 0;
|
|
962
|
+
}
|
|
963
|
+
</style>`,explanation:"\u56FE\u7247\u4E0A\u4F20\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u7BA1\u7406\u6587\u4EF6\u5217\u8868\u548C\u4E0A\u4F20\u72B6\u6001",frameworkVersion:"M8.4"}}function ee(e,s){let t=I[e];if(!t){let n=e.toLowerCase();for(let[o,i]of Object.entries(I))if(o.toLowerCase().includes(n)||n.includes(o.toLowerCase()))return i;return{error:`\u672A\u627E\u5230\u573A\u666F: ${e}`,availablePatterns:Object.keys(I)}}if(s){let n=s==="M8.4"?t.vue3Code:t.vue2Code;return{...t,vue2Code:s==="M8.3"?t.vue2Code:{explanation:"\u8BF7\u4F7F\u7528 M8.3 \u7248\u672C\u67E5\u770B",frameworkVersion:"M8.3"},vue3Code:s==="M8.4"?t.vue3Code:{explanation:"\u8BF7\u4F7F\u7528 M8.4 \u7248\u672C\u67E5\u770B",frameworkVersion:"M8.4"}}}return t}var $=null,Fe=Oe(import.meta.url),_e=Te(Fe),We=te(_e,"..");function se(e,s,t){if(process.env[e])return process.env[e];let n=te(We,"docs",s);return Ee(n)?n:t}var ze=se("EJS_DOC_PATH","ejs-doc","ejs-doc"),He=se("M8_DOC_PATH","m8mpdoc-develop","m8mpdoc-develop");async function Je(){console.error("[M8 MCP] \u6B63\u5728\u521D\u59CB\u5316\u6587\u6863\u7D22\u5F15...");try{$=await W(ze,He),console.error(`[M8 MCP] \u7D22\u5F15\u6784\u5EFA\u5B8C\u6210: ${$.components.size} \u4E2A\u7EC4\u4EF6, ${$.ejsApis.size} \u4E2A API`)}catch(e){console.error("[M8 MCP] \u7D22\u5F15\u6784\u5EFA\u5931\u8D25:",e),$={components:new Map,ejsApis:new Map,keywords:new Map,categories:new Map,buildTime:new Date}}}function y(){if(!$)throw new Error("\u6587\u6863\u7D22\u5F15\u5C1A\u672A\u521D\u59CB\u5316");return $}function Re(){let e=new Ne({name:"M8FrameworkMCP",version:"1.0.0"});return e.tool("search_component","\u641C\u7D22 M8 \u6846\u67B6 UI \u7EC4\u4EF6\uFF0C\u652F\u6301\u6309\u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0\u641C\u7D22",{query:h.string().describe("\u641C\u7D22\u5173\u952E\u8BCD\uFF0C\u5982\u7EC4\u4EF6\u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0"),category:h.string().optional().describe('\u53EF\u9009\u7684\u5206\u7C7B\u8FC7\u6EE4\uFF0C\u5982"\u8868\u5355\u7EC4\u4EF6"\u3001"\u53CD\u9988\u7EC4\u4EF6"'),platform:h.string().optional().describe('\u53EF\u9009\u7684\u5E73\u53F0\u8FC7\u6EE4\uFF0C\u5982"wechat"\u3001"alipay"')},async({query:s,category:t,platform:n})=>{let o=J(y(),s,{category:t,platform:n});return{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}),e.tool("search_ejs_api","\u641C\u7D22 EJS \u539F\u751F API\uFF0C\u652F\u6301\u6309\u6A21\u5757\u6216\u529F\u80FD\u63CF\u8FF0\u641C\u7D22",{query:h.string().describe("\u641C\u7D22\u5173\u952E\u8BCD\uFF0C\u5982 API \u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0"),module:h.string().optional().describe('\u53EF\u9009\u7684\u6A21\u5757\u8FC7\u6EE4\uFF0C\u5982"ui"\u3001"device"\u3001"storage"')},async({query:s,module:t})=>{let n=R(y(),s,{module:t});return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e.tool("get_component_detail","\u83B7\u53D6 M8 \u6846\u67B6 UI \u7EC4\u4EF6\u7684\u5B8C\u6574\u6587\u6863\uFF0C\u5305\u62EC Props\u3001Events\u3001\u793A\u4F8B\u4EE3\u7801",{name:h.string().describe('\u7EC4\u4EF6\u540D\u79F0\uFF0C\u5982"button"\u3001"form"\u3001"picker"')},async({name:s})=>{let t=U(y(),s);return{content:[{type:"text",text:JSON.stringify(t,null,2)}]}}),e.tool("get_api_detail","\u83B7\u53D6 EJS API \u7684\u5B8C\u6574\u6587\u6863\uFF0C\u5305\u62EC\u53C2\u6570\u3001\u8FD4\u56DE\u503C\u3001\u5E73\u53F0\u5DEE\u5F02",{module:h.string().describe('\u6A21\u5757\u540D\uFF0C\u5982"ui"\u3001"device"'),name:h.string().describe('API \u540D\u79F0\uFF0C\u5982"toast"\u3001"alert"')},async({module:s,name:t})=>{let n=K(y(),s,t);return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e.tool("recommend","\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u667A\u80FD\u63A8\u8350\u5408\u9002\u7684\u7EC4\u4EF6\u548C API",{requirement:h.string().describe('\u9700\u6C42\u63CF\u8FF0\uFF0C\u5982"\u5B9E\u73B0\u4E00\u4E2A\u5E26\u65E5\u671F\u9009\u62E9\u7684\u8868\u5355"'),platform:h.string().optional().describe('\u76EE\u6807\u5E73\u53F0\uFF0C\u5982"wechat"\u3001"h5"')},async({requirement:s,platform:t})=>{let n=G(y(),s,t);return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e.tool("generate_code","\u751F\u6210\u7B26\u5408 M8 \u6846\u67B6\u89C4\u8303\u7684\u4EE3\u7801\uFF0C\u652F\u6301 M8.3(Vue2) \u548C M8.4(Vue3)",{type:h.enum(["component","ejsApi","pattern"]).describe("\u751F\u6210\u7C7B\u578B"),name:h.string().describe("\u7EC4\u4EF6/API/\u6A21\u5F0F\u540D\u79F0"),frameworkVersion:h.enum(["M8.3","M8.4"]).describe("\u6846\u67B6\u7248\u672C\uFF0CM8.3=Vue2, M8.4=Vue3"),platform:h.string().optional().describe("\u76EE\u6807\u5E73\u53F0\uFF0C\u7528\u4E8E\u751F\u6210\u6761\u4EF6\u7F16\u8BD1\u4EE3\u7801")},async({type:s,name:t,frameworkVersion:n,platform:o})=>{let i=Z(y(),{type:s,name:t,options:{frameworkVersion:n,platform:o}});return{content:[{type:"text",text:JSON.stringify(i,null,2)}]}}),e.tool("check_compatibility","\u68C0\u67E5\u7EC4\u4EF6\u6216 API \u5728\u76EE\u6807\u5E73\u53F0\u7684\u517C\u5BB9\u6027",{items:h.array(h.string()).describe("\u8981\u68C0\u67E5\u7684\u7EC4\u4EF6\u6216 API \u5217\u8868"),targetPlatforms:h.array(h.string()).describe('\u76EE\u6807\u5E73\u53F0\u5217\u8868\uFF0C\u5982["wechat", "alipay", "h5"]')},async({items:s,targetPlatforms:t})=>{let n=q(y(),s,t);return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e.tool("get_pattern","\u83B7\u53D6\u5E38\u89C1\u573A\u666F\u7684\u5B9E\u73B0\u6A21\u5F0F\uFF0C\u5982\u5217\u8868\u8BE6\u60C5\u3001\u8868\u5355\u63D0\u4EA4",{scenario:h.string().describe('\u573A\u666F\u540D\u79F0\uFF0C\u5982"\u5217\u8868\u8BE6\u60C5"\u3001"\u8868\u5355\u63D0\u4EA4"'),frameworkVersion:h.enum(["M8.3","M8.4"]).optional().describe("\u6846\u67B6\u7248\u672C\uFF0C\u4E0D\u6307\u5B9A\u5219\u8FD4\u56DE\u4E24\u4E2A\u7248\u672C")},async({scenario:s,frameworkVersion:t})=>{let n=ee(s,t);return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e}async function Ue(){await Je();let e=Re(),s=new Ve;console.error("[M8 MCP] \u670D\u52A1\u5668\u542F\u52A8\u4E2D..."),await e.connect(s),console.error("[M8 MCP] \u670D\u52A1\u5668\u5DF2\u542F\u52A8\uFF0C\u7B49\u5F85\u8FDE\u63A5...")}Ue().catch(e=>{console.error("[M8 MCP] \u670D\u52A1\u5668\u542F\u52A8\u5931\u8D25:",e),process.exit(1)});
|