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
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# 移动端二次个性化开发机制
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## 背景:
|
|
5
|
+
|
|
6
|
+
产品与项目开发过程中,会存在一些个性化需求,往往是侵入式修改产品代码,导致产品代码不可维护,升级产品时需要重新修改个性化代码,增加维护成本。
|
|
7
|
+
|
|
8
|
+
移动前端跨端框架在`v8.3.10`版本之后提供个性化代码隔离方案,可以将个性化代码与产品代码隔离,不侵入产品代码进行个性化修改,便于升级产品时不需要重新修改个性化代码。
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
::: ifdef M84
|
|
13
|
+
## 1.个性化实现路径:
|
|
14
|
+
|
|
15
|
+
- config.js中提供`isCustomize`配置,配置为`true`时开启个性化功能,默认为`false`
|
|
16
|
+
|
|
17
|
+
- 移动前端工程下提供`custom`个性化目录,与src目录、node_modules目录同级
|
|
18
|
+
|
|
19
|
+
- 支持个性化 `src` 目录和 `node_modules/@epoint-mrc` 目录,用于个性化工程代码和框架依赖代码
|
|
20
|
+
|
|
21
|
+
## 2.个性化功能:
|
|
22
|
+
|
|
23
|
+
- 代码工程构建时 `src`、`node_modules/@epoint-mrc` 路径下文件与 `custom` 文件匹配,存在同路径同名文件时进行读取 `custom` 文件内容。
|
|
24
|
+
|
|
25
|
+
## 3.目录结构
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
├── node_modules
|
|
29
|
+
│ ├── @epoint-mrc
|
|
30
|
+
│ │ ├── em-components
|
|
31
|
+
| │ │ ├── xxx.vue
|
|
32
|
+
├── custom // 个性化目录
|
|
33
|
+
│ ├── src
|
|
34
|
+
│ │ ├── pages
|
|
35
|
+
│ │ │ ├── index
|
|
36
|
+
│ │ │ │ ├── index.vue // 个性化覆盖代码工程同路径index.vue文件
|
|
37
|
+
│ ├── node_modules
|
|
38
|
+
│ │ ├── @epoint-mrc
|
|
39
|
+
│ │ │ ├── em-components
|
|
40
|
+
| │ │ │ ├── xxx.vue // 个性化覆盖框架xxx组件
|
|
41
|
+
├── src
|
|
42
|
+
│ ├── pages
|
|
43
|
+
│ │ ├── index
|
|
44
|
+
│ │ │ ├── index.vue // 个性化覆盖代码工程同路径index.vue文件
|
|
45
|
+
├── package.json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
::: endif
|
|
50
|
+
::: ifdef M83
|
|
51
|
+
## 1.个性化实现路径:
|
|
52
|
+
|
|
53
|
+
- config.js中提供`isCustomize`配置,配置为`true`时开启个性化功能,默认为`false`
|
|
54
|
+
|
|
55
|
+
- 移动前端工程下提供`customize`个性化目录,与src目录同级
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
ejs.m8.mobileframe
|
|
59
|
+
├─build
|
|
60
|
+
├─customize // 新增:个性化开发路径customize
|
|
61
|
+
├─public
|
|
62
|
+
├─src
|
|
63
|
+
├─.editorconfig
|
|
64
|
+
├─.eslintignore
|
|
65
|
+
├─.eslintrc.js
|
|
66
|
+
├─.gitignore
|
|
67
|
+
├─plugin.json
|
|
68
|
+
├─package.json
|
|
69
|
+
├─README.md
|
|
70
|
+
└─vue.config.js
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
- 代码工程构建加载src路径下文件时会与`customize`文件进行匹配,存在同路径同名文件时进行**构建过程处理**,不对原始文件进行修改,无需变动页面路由。
|
|
74
|
+
|
|
75
|
+
<!-- img -->
|
|
76
|
+

|
|
77
|
+
|
|
78
|
+
## 2.个性化文件类型支持功能:
|
|
79
|
+
|
|
80
|
+
### 2.1 vue文件:
|
|
81
|
+
|
|
82
|
+
- 支持全局替换
|
|
83
|
+
|
|
84
|
+
- script支持替换、方法支持重写
|
|
85
|
+
|
|
86
|
+
- template支持替换
|
|
87
|
+
|
|
88
|
+
- style支持替换、插入
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
### 2.2 js文件:
|
|
92
|
+
|
|
93
|
+
- 支持全局替换
|
|
94
|
+
|
|
95
|
+
- 支持导入源文件继承修改后导出
|
|
96
|
+
|
|
97
|
+
### 2.3 css文件:
|
|
98
|
+
|
|
99
|
+
- 全局替换
|
|
100
|
+
|
|
101
|
+
- 支持插入
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
### 2.4 其他文件:
|
|
105
|
+
|
|
106
|
+
- 全局替换
|
|
107
|
+
|
|
108
|
+
## 3.个性化文件代码开发:
|
|
109
|
+
|
|
110
|
+
### 3.1 js文件:
|
|
111
|
+
|
|
112
|
+
#### 3.1.1 全局替换
|
|
113
|
+
|
|
114
|
+
默认会将个性化文件替换原始文件。
|
|
115
|
+
|
|
116
|
+
#### 3.1.2 继承:
|
|
117
|
+
|
|
118
|
+
支持`import`或`require`源文件,使用`{{@originalFilePath}}`,在构建时框架会将`{{@originalFilePath}}`替换为源文件路径,例如:
|
|
119
|
+
|
|
120
|
+
```js
|
|
121
|
+
// 使用{{@originalFilePath}},在构建时框架会将{{@originalFilePath}}替换为源文件路径
|
|
122
|
+
import routerDefault from '{{@originalFilePath}}';
|
|
123
|
+
|
|
124
|
+
routerDefault.routes.push({
|
|
125
|
+
path: 'pages/xxx/xxx', // 注意个性化文件的路径定义仍然为src下的路径
|
|
126
|
+
style: {
|
|
127
|
+
navigationBarTitleText: 'xxx'
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
// 导出路由文件
|
|
132
|
+
export default routerDefault;
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 3.2 css文件:
|
|
136
|
+
|
|
137
|
+
在个性化css文件头部添加注释,明确个性化类型。例如全局替换还是插入等。
|
|
138
|
+
|
|
139
|
+
#### 3.2.1 全局替换
|
|
140
|
+
|
|
141
|
+
```css
|
|
142
|
+
/* {'customMixType': 'global'} */
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
#### 3.2.2 插入
|
|
146
|
+
|
|
147
|
+
```css
|
|
148
|
+
/* {'customMixType': 'append'} */
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
插入类型时,会将个性化css文件插入到原始css文件后面。
|
|
152
|
+
|
|
153
|
+
### 3.3 vue文件:
|
|
154
|
+
|
|
155
|
+
#### 3.3.1 全局替换
|
|
156
|
+
|
|
157
|
+
按照正常开发vue组件,框架会将个性化vue组件替换原始文件。
|
|
158
|
+
|
|
159
|
+
#### 3.3.2 部分替换
|
|
160
|
+
|
|
161
|
+
可以单独只写需要替换的SFC部分,只替换对应部分。
|
|
162
|
+
|
|
163
|
+
例如:
|
|
164
|
+
|
|
165
|
+
1. 只需要替换template部分,script、style部分不需要修改,无需写script、style部分
|
|
166
|
+
|
|
167
|
+
```html
|
|
168
|
+
<template>
|
|
169
|
+
<!-- xxx -->
|
|
170
|
+
</template>
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
2. 只需要替换script部分,template、style部分不需要修改,无需写template、style部分
|
|
174
|
+
|
|
175
|
+
```html
|
|
176
|
+
<script>
|
|
177
|
+
// xxx
|
|
178
|
+
</script>
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
script部分支持重写方法,例如:
|
|
182
|
+
|
|
183
|
+
```html
|
|
184
|
+
<script>
|
|
185
|
+
// {{@originalFilePath}}会被替换为源文件路径
|
|
186
|
+
import origin from '{{@originalFilePath}}';
|
|
187
|
+
|
|
188
|
+
export default {
|
|
189
|
+
// 先将原有属性方法继承
|
|
190
|
+
...origin,
|
|
191
|
+
data() {
|
|
192
|
+
return {
|
|
193
|
+
...origin.data(),
|
|
194
|
+
// 重写data.title
|
|
195
|
+
title: '页面跳转2'
|
|
196
|
+
};
|
|
197
|
+
},
|
|
198
|
+
methods: {
|
|
199
|
+
...origin.methods,
|
|
200
|
+
// 重写click方法
|
|
201
|
+
click() {
|
|
202
|
+
// xxx
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// 其他重写类似,对原有属性进行重写
|
|
206
|
+
};
|
|
207
|
+
</script>
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
3. 只需要替换style部分,script、template部分不需要修改,无需写script、template部分
|
|
211
|
+
|
|
212
|
+
style部分默认为替换原始css。支持`customMixType`为`append`的属性,`append`会将个性化css插入到原始css后面。
|
|
213
|
+
|
|
214
|
+
```html
|
|
215
|
+
<style scoped customMixType="append">
|
|
216
|
+
/* xxx */
|
|
217
|
+
</style>
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
4. 其他文件:
|
|
221
|
+
|
|
222
|
+
全局替换
|
|
223
|
+
|
|
224
|
+
## 示例
|
|
225
|
+
|
|
226
|
+
对`src/modules/m8showcase/`框架UI组件示例模块进行个性化开发,新增个性化示例页面。
|
|
227
|
+
|
|
228
|
+
只需在`customize`下新建`customize/modules/m8showcase`目录,对需要个性化的部分进行开发即可。
|
|
229
|
+
|
|
230
|
+
### 新增路由页面
|
|
231
|
+
|
|
232
|
+
在`customize/modules/m8showcase`目录下新建`router.js`文件,对路由进行个性化开发。
|
|
233
|
+
|
|
234
|
+
```js
|
|
235
|
+
// 使用@originalFilePath,在构建时框架会将@originalFilePath替换为源文件路径
|
|
236
|
+
import routerDefault from '{{@originalFilePath}}';
|
|
237
|
+
|
|
238
|
+
routerDefault.routes.push({
|
|
239
|
+
path: 'modules/m8showcase/examples/customize',
|
|
240
|
+
style: {
|
|
241
|
+
navigationBarTitleText: '个性化示例'
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
// 导出路由文件
|
|
246
|
+
export default routerDefault;
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 修改示例列表页面
|
|
250
|
+
|
|
251
|
+
在`customize/modules/m8showcase`目录下新建`customize/modules/m8showcase/index.vue`文件,对原有vue进行继承个性化开发。
|
|
252
|
+
|
|
253
|
+
```html
|
|
254
|
+
<script>
|
|
255
|
+
import origin from '{{@originalFilePath}}';
|
|
256
|
+
|
|
257
|
+
export default {
|
|
258
|
+
...origin,
|
|
259
|
+
data() {
|
|
260
|
+
return {
|
|
261
|
+
...origin.data(),
|
|
262
|
+
activeNames: [1, 2, 3, 4, 5, 6, 7, 8]
|
|
263
|
+
};
|
|
264
|
+
},
|
|
265
|
+
mounted() {
|
|
266
|
+
this.menu.push({
|
|
267
|
+
title: '个性化示例',
|
|
268
|
+
children: [
|
|
269
|
+
{
|
|
270
|
+
title: '个性化页面',
|
|
271
|
+
to: 'examples/customize'
|
|
272
|
+
}
|
|
273
|
+
]
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
</script>
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### 新增examples/customize页面
|
|
281
|
+
|
|
282
|
+
在`customize/modules/m8showcase`目录下新建`customize/modules/m8showcase/examples/customize.vue`文件,新增具体个性化页面内容。
|
|
283
|
+
::: endif
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# 自定义 token 最佳实践
|
|
2
|
+
|
|
3
|
+
跨端框架中进行自定义获取 token 功能:
|
|
4
|
+
|
|
5
|
+
在 Config.js 中,token 对象中可以配置是否开启自定义 token、获取自定义 token、刷新自定义 token 功能。
|
|
6
|
+
|
|
7
|
+
`8.3.11` 版本中,增加了自定义 token 刷新失败处理。
|
|
8
|
+
|
|
9
|
+
## 最佳实践:
|
|
10
|
+
|
|
11
|
+
- 开启自定义 `isUseSelfToken` 配置;
|
|
12
|
+
- `getToken` 中实现自定义 token 获取逻辑,返回 Promise 对象,resolve 中返回 token;(自定义 token 获取过程需要做好 token 缓存功能,存在 token 返回缓存的 token,不存在或需要刷新时再动态获取)
|
|
13
|
+
- `refreshToken` 中实现刷新自定义的 token 获取逻辑
|
|
14
|
+
- `refreshTokenCountExceeded` 中实现自定义刷新失败处理
|
|
15
|
+
|
|
16
|
+
### 注意:
|
|
17
|
+
|
|
18
|
+
由于Util工具库依赖config.js文件,所以无法在congif.js中直接调用Util工具库,会造成构建时循环依赖引用。
|
|
19
|
+
|
|
20
|
+
需要将与Util相关逻辑单独在外部js中实现,在config.js中引入,并在config.js中调用。
|
|
21
|
+
|
|
22
|
+
## 示例:
|
|
23
|
+
```js
|
|
24
|
+
token: {
|
|
25
|
+
// 是否使用自定义token,可以用于非ejs环境下的token赋值刷新,影响到所有Util.ajax与下拉刷新请求
|
|
26
|
+
isUseSelfToken: true,
|
|
27
|
+
// 可以是字符串,也可以是方法
|
|
28
|
+
// 非ejs环境下有效,ejs下默认就是容器的token,不容改变
|
|
29
|
+
// 非ejs环境环境下isUseSelfToken为true生效
|
|
30
|
+
getToken() {
|
|
31
|
+
// 外部js中实现个性化token相关逻辑,引用后使用
|
|
32
|
+
const { getCustomToken, storeToken, saveToken } = require('./customToken');
|
|
33
|
+
|
|
34
|
+
// 返回Promise对象
|
|
35
|
+
return new Promise((resolve) => {
|
|
36
|
+
// 如果存在暂存的自定义token则直接返回
|
|
37
|
+
if (storeToken) {
|
|
38
|
+
resolve(storeToken);
|
|
39
|
+
} else {
|
|
40
|
+
// 动态获取
|
|
41
|
+
getCustomToken().then((token) => {
|
|
42
|
+
saveToken(token);
|
|
43
|
+
resolve(token);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
//非ejs环境下isUseSelfToken为true生效
|
|
49
|
+
refreshToken: function () {
|
|
50
|
+
const { refreshCustomToken, saveToken } = require('./customToken');
|
|
51
|
+
|
|
52
|
+
// 自定义刷新token之后,请求的token仍然是从自定义getToken中获取token。
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
refreshCustomToken().then((token) => {
|
|
55
|
+
saveToken(token);
|
|
56
|
+
resolve();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
// 自定义刷新失败处理
|
|
61
|
+
// 非ejs环境下isUseSelfToken为true生效
|
|
62
|
+
// 超过允许最大刷新token次数后请求接口的响应状态码仍然403|401触发,可以在这里进行处理后续逻辑
|
|
63
|
+
refreshTokenCountExceeded: function () {
|
|
64
|
+
ejs.ui.alert({
|
|
65
|
+
title: '提醒',
|
|
66
|
+
message: '用户身份失效,请重新登录',
|
|
67
|
+
buttonName: '确定',
|
|
68
|
+
success() {
|
|
69
|
+
// ...
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# 国际化
|
|
2
|
+
|
|
3
|
+
国际化改造分三部分,第一部分是`EM`UI 组件的国际化配置,第二部分是业务代码的国际化改造,第三部分是框架全局文件中的国际化改造。
|
|
4
|
+
|
|
5
|
+
## UI 组件国际化
|
|
6
|
+
|
|
7
|
+
跨端组件库默认语言为中文,支持中英文切换。
|
|
8
|
+
|
|
9
|
+
### 使用方法
|
|
10
|
+
|
|
11
|
+
组件库通过 `Locale` 组件实现多语言支持,使用 `Locale.use` 方法可以切换当前使用的语言。
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
// 由于 Locale 是全局函数,可以不用手动引入该函数
|
|
15
|
+
import Locale from '@components/locale/index.js';
|
|
16
|
+
|
|
17
|
+
// 切换为英文,可以通过uni.getLocale()获取应用语言
|
|
18
|
+
Locale.use('en');
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
#### 覆盖语言包
|
|
22
|
+
|
|
23
|
+
通过 `Locale.add` 方法可以实现文案的修改和扩展,示例如下:
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
const messages = {
|
|
27
|
+
'zh-Hans': {
|
|
28
|
+
emPicker: {
|
|
29
|
+
confirm: '关闭' // 将'确认'修改为'关闭'
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
Locale.add(messages);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
#### 语言包
|
|
38
|
+
|
|
39
|
+
目前支持的语言:
|
|
40
|
+
|
|
41
|
+
| 语言 | key | 文件名 |
|
|
42
|
+
| :------- | :-----: | :----------- |
|
|
43
|
+
| 简体中文 | zh-Hans | zh-Hans.json |
|
|
44
|
+
| 英文 | en | en.json |
|
|
45
|
+
|
|
46
|
+
在`@epoint-mrc\em-components\src\components\locale\i18n`查看所有语言文件
|
|
47
|
+
|
|
48
|
+
若需要翻译成其他语言,可以使用`Locale.add`进行扩展。
|
|
49
|
+
|
|
50
|
+
## 业务代码改造
|
|
51
|
+
|
|
52
|
+
业务代码部分使用`vue-i18n`插件进行改造。
|
|
53
|
+
|
|
54
|
+
首先,需要安装该插件:
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
npm install --save vue-i18n@8
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
注意:请注意插件版本,否则可能会报错。
|
|
61
|
+
|
|
62
|
+
然后配置语言文件:
|
|
63
|
+
|
|
64
|
+
### 语言配置文件:
|
|
65
|
+
|
|
66
|
+
设置本地语言配置文件,在项目`src`目录下新建 `locale` 文件夹,在`locale` 文件夹下新建`zh-Hans.json`中文语言配置和`en.json`英文语言配置。
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
// locale/zh-Hans.json
|
|
70
|
+
{
|
|
71
|
+
"hello": "你好,世界"
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```javascript
|
|
76
|
+
// locale/en.json
|
|
77
|
+
{
|
|
78
|
+
"hello": "hello world"
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 初始化
|
|
83
|
+
|
|
84
|
+
在`main.js`内引用`vue-i18n`插件,初始化:
|
|
85
|
+
|
|
86
|
+
```JavaScript
|
|
87
|
+
// 引入vue-i18n
|
|
88
|
+
import VueI18n from 'vue-i18n';
|
|
89
|
+
// 引入语言配置文件
|
|
90
|
+
import en from './locale/en.json';
|
|
91
|
+
import zhHans from './locale/zh-Hans.json';
|
|
92
|
+
|
|
93
|
+
Vue.use(VueI18n);
|
|
94
|
+
const i18n = new VueI18n({
|
|
95
|
+
locale: 'zh-Hans', // 设置默认语言,这里可以通过uni.getLocale()获取应用语言
|
|
96
|
+
messages: {
|
|
97
|
+
en,
|
|
98
|
+
'zh-Hans': zhHans
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
const app = new Vue({
|
|
103
|
+
i18n,
|
|
104
|
+
store: new Vuex.Store({
|
|
105
|
+
modules: storeModules
|
|
106
|
+
}),
|
|
107
|
+
...App
|
|
108
|
+
});
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 业务代码修改
|
|
112
|
+
|
|
113
|
+
`vue-i18n`初始化完成后,在具体业务组件内,使用`$t('xxx')`代替原有中文内容。例如:
|
|
114
|
+
|
|
115
|
+
```html
|
|
116
|
+
<h1>你好世界</h1>
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
修改为:
|
|
120
|
+
|
|
121
|
+
```html
|
|
122
|
+
<h1>{{ $t('hello') }}</h1>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
将会根据语言配置文件,显示不同内容值。
|
|
126
|
+
|
|
127
|
+
在`locale:'zh-Hans'`时,显示 `你好,世界`,在`locale: 'en'`时,显示`hello world`。
|
|
128
|
+
|
|
129
|
+
### 修改语言环境
|
|
130
|
+
|
|
131
|
+
在 vue 组件内,使用 `i18n.locale` 修改语言环境:
|
|
132
|
+
|
|
133
|
+
```js
|
|
134
|
+
this.$i18n.locale = 'en-US';
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
可以使用此方法动态修改语言。
|
|
138
|
+
|
|
139
|
+
更多功能可以参考[vue-i18n 官方文档](https://kazupon.github.io/vue-i18n/zh 'vue-i18n 官方文档')
|
|
140
|
+
|
|
141
|
+
## 框架全局文件国际化改造
|
|
142
|
+
|
|
143
|
+
### pages.json 国际化@pages
|
|
144
|
+
|
|
145
|
+
框架的router.js文件最终会合并至全局文件pages.json中,pages.json不属于vue页面,其中的原生tabbar和原生导航栏里也有文字内容。这部分内容的国际化方案如下:
|
|
146
|
+
|
|
147
|
+
项目`src`目录的`locale`目录下配置语言json文件,src/locale/`语言地区代码`.json,如:en.json,zh-Hans.json
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
├── locale
|
|
151
|
+
│ ├── en.json
|
|
152
|
+
│ ├── zh-Hans.json
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
语言文件示例(zh-Hans.json)
|
|
156
|
+
|
|
157
|
+
```json
|
|
158
|
+
{
|
|
159
|
+
"app.name": "Hello uni-app",
|
|
160
|
+
"index.title": "首页"
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
pages.json 示例(router.js也适用)
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"pages": [
|
|
169
|
+
{
|
|
170
|
+
"path": "pages/index/index",
|
|
171
|
+
"style": {
|
|
172
|
+
"navigationBarTitleText": "%index.title%" // locale目录下 语言地区代码.json 文件中定义的 key,使用 %% 占位
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"tabBar": {
|
|
177
|
+
"list": [{
|
|
178
|
+
"pagePath": "pages/index/index",
|
|
179
|
+
"text": "%index.home%"
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
pages.json 支持以下属性配置国际化信息
|
|
187
|
+
|
|
188
|
+
- navigationBarTitleText
|
|
189
|
+
- titleNView->titleText
|
|
190
|
+
- titleNView->searchInput->placeholder
|
|
191
|
+
- tabBar->list->text
|
|
192
|
+
|
|
193
|
+
注:小程序下不支持这种国际化方案,也可以使用设置tabbar和navigationbar的API来设置文字,例如`ejs.navigator.setTitle`。或者废弃原生tabbar和navigationbar,使用自定义方式。
|
|
194
|
+
|
|
195
|
+
### manifest.json 国际化@manifest
|
|
196
|
+
|
|
197
|
+
和 pages.json 一致,在项目目录增加 src/locale/uni-app.`语言地区代码`.json 文件,然后在 `manifest.json` 中使用 %% 占位
|
|
198
|
+
|
|
199
|
+
```json
|
|
200
|
+
{
|
|
201
|
+
"name" : "%app.name%",
|
|
202
|
+
"appid" : "",
|
|
203
|
+
"description" : "",
|
|
204
|
+
"versionName" : "1.0.0",
|
|
205
|
+
"versionCode" : "100",
|
|
206
|
+
"locale": "zh-Hans" // 设置默认语言,
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
`manifest.json` 中支持配置应用默认语言,参见上面的示例,默认为auto,跟随系统OS的语言。
|
|
211
|
+
|
|
212
|
+
## 语言API
|
|
213
|
+
|
|
214
|
+
跨端框架内置了一批与国际化相关的API和生命周期。
|
|
215
|
+
|
|
216
|
+
- 获取应用当前使用的语言:[uni.getLocale](https://uniapp.dcloud.net.cn/api/ui/locale.html#getlocale)
|
|
217
|
+
|
|
218
|
+
- 设置应用语言:[uni.setLocale](https://uniapp.dcloud.net.cn/api/ui/locale.html#setlocale)
|
|
219
|
+
|
|
220
|
+
- 当前应用语言发生变化时,触发回调。也就是`uni.setLocale`执行时:[uni.onLocaleChange](https://uniapp.dcloud.net.cn/api/ui/locale.html#onlocalechange)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# modules目录说明
|
|
2
|
+
|
|
3
|
+
## 说明:
|
|
4
|
+
|
|
5
|
+
为了方便开发人员,M8跨端框架`v8.3.9`之后封装了一些固定业务功能模块,通过路由页面跳转可以访问。
|
|
6
|
+
|
|
7
|
+
## 什么样的业务模块?
|
|
8
|
+
|
|
9
|
+
一些固定的业务功能的模块,并且这些模块也存在一定的路由跳转功能。产品项目也可以将一些固定的业务功能模块放在modules目录下,
|
|
10
|
+
|
|
11
|
+
比如:
|
|
12
|
+
|
|
13
|
+
- 通用的跨端选人模块
|
|
14
|
+
|
|
15
|
+
- 通用的平台小程序用户绑定注册模块
|
|
16
|
+
|
|
17
|
+
- m8showcase示例模块
|
|
18
|
+
|
|
19
|
+
- m8demo示例模块
|
|
20
|
+
|
|
21
|
+
- 产品项目自定义的通用模块
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## 集成到了框架的什么地方?
|
|
25
|
+
|
|
26
|
+
目录结构如下
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
ejs.m8.mobileframe
|
|
30
|
+
|- src
|
|
31
|
+
| |- modules // 存放框架集成的模块的地方
|
|
32
|
+
| | |- m8showcase // 对应的M8UI组件示例模块
|
|
33
|
+
| | |- xxx // 对应的模块资源
|
|
34
|
+
| |- pages // 存放所有业务相关代码
|
|
35
|
+
```
|
|
36
|
+
## modules分包
|
|
37
|
+
|
|
38
|
+
modules目录以分包的形式提供,框架读取modules/**下的目录中的router.js/mock.js/store.js文件。会与pages目录下的模块注册方式一致,同时自动以分包的方式注册到src/pages.json中的分包节点中。
|
|
39
|
+
|
|
40
|
+
## 注意:
|
|
41
|
+
|
|
42
|
+
- 项目产品开发的业务模块**入口**始终在pages目录下,不要放在modules目录下。
|
|
43
|
+
|
|
44
|
+
- pages下的模块始终支持router.js中配置为分包模块。
|