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.
Files changed (389) hide show
  1. package/README.md +175 -0
  2. package/build/index.js +963 -0
  3. package/docs/ejs-doc/404/404.html +9 -0
  4. package/docs/ejs-doc/_draft/sha1_salt.md +47 -0
  5. package/docs/ejs-doc/_include/config.php +10 -0
  6. package/docs/ejs-doc/_include/cssboot.inc.php +62 -0
  7. package/docs/ejs-doc/_include/jsboot.inc.php +7 -0
  8. package/docs/ejs-doc/api_app/api_app.md +43 -0
  9. package/docs/ejs-doc/api_audio/api_audio.md +225 -0
  10. package/docs/ejs-doc/api_auth/api_auth.md +256 -0
  11. package/docs/ejs-doc/api_basicCard/api_basicCard.md +69 -0
  12. package/docs/ejs-doc/api_card_ui/api_card_ui.md +37 -0
  13. package/docs/ejs-doc/api_contact/api_contact.md +295 -0
  14. package/docs/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  15. package/docs/ejs-doc/api_device/api_device.md +761 -0
  16. package/docs/ejs-doc/api_event/api_event.md +244 -0
  17. package/docs/ejs-doc/api_global/api_global.md +440 -0
  18. package/docs/ejs-doc/api_io/api_io.md +369 -0
  19. package/docs/ejs-doc/api_miniH5/api_miniH5.md +279 -0
  20. package/docs/ejs-doc/api_navigator/api_navigator.md +654 -0
  21. package/docs/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  22. package/docs/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  23. package/docs/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  24. package/docs/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  25. package/docs/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  26. package/docs/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  27. package/docs/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  28. package/docs/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  29. package/docs/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  30. package/docs/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  31. package/docs/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  32. package/docs/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  33. package/docs/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  34. package/docs/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  35. package/docs/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  36. package/docs/ejs-doc/api_page/api_page.md +261 -0
  37. package/docs/ejs-doc/api_runtime/api_runtime.md +788 -0
  38. package/docs/ejs-doc/api_storage/api_storage.md +320 -0
  39. package/docs/ejs-doc/api_stream/api_stream.md +152 -0
  40. package/docs/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  41. package/docs/ejs-doc/api_ui/api_ui.md +836 -0
  42. package/docs/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  43. package/docs/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  44. package/docs/ejs-doc/api_ui/images/ui_alert.png +0 -0
  45. package/docs/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  46. package/docs/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  47. package/docs/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  48. package/docs/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  49. package/docs/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  50. package/docs/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  51. package/docs/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  52. package/docs/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  53. package/docs/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  54. package/docs/ejs-doc/api_ui/images/ui_select.png +0 -0
  55. package/docs/ejs-doc/api_ui/images/ui_select2.png +0 -0
  56. package/docs/ejs-doc/api_ui/images/ui_select3.png +0 -0
  57. package/docs/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  58. package/docs/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  59. package/docs/ejs-doc/api_ui/images/ui_toast.png +0 -0
  60. package/docs/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  61. package/docs/ejs-doc/api_util/api_util.md +615 -0
  62. package/docs/ejs-doc/api_util/images/util.playvideo.png +0 -0
  63. package/docs/ejs-doc/api_util/images/util.previmage.png +0 -0
  64. package/docs/ejs-doc/api_util/images/util.selectfile.png +0 -0
  65. package/docs/ejs-doc/api_util/images/util.selectimage.png +0 -0
  66. package/docs/ejs-doc/authentication/authentication.md +28 -0
  67. package/docs/ejs-doc/changelog/changelog.md +290 -0
  68. package/docs/ejs-doc/component_invokeplugin/component_invokeplugin.md +54 -0
  69. package/docs/ejs-doc/component_outline/component_outline.md +71 -0
  70. package/docs/ejs-doc/guid_apiconstraint/guid_apiconstraint.md +30 -0
  71. package/docs/ejs-doc/guid_debugpage/guid_debugpage.md +53 -0
  72. package/docs/ejs-doc/guid_debugpage/images/client.jpg +0 -0
  73. package/docs/ejs-doc/guid_debugpage/images/room.png +0 -0
  74. package/docs/ejs-doc/guid_demodebug/guid_demodebug.md +59 -0
  75. package/docs/ejs-doc/guid_demodebug/images/qr_demo.png +0 -0
  76. package/docs/ejs-doc/guid_demodebug/images/qrcode-weex.png +0 -0
  77. package/docs/ejs-doc/guid_demodebug/images/qrcode.png +0 -0
  78. package/docs/ejs-doc/guid_demodebug/images/qrcode_ejs.png +0 -0
  79. package/docs/ejs-doc/guid_errorcode/guid_errorcode.md +27 -0
  80. package/docs/ejs-doc/guid_errorcode/images/5d38937fec5107c38502c3ee38ba5b2c.png +0 -0
  81. package/docs/ejs-doc/guid_getstart/guid_getstart.md +188 -0
  82. package/docs/ejs-doc/introduction/introduction.md +29 -0
  83. package/docs/ejs-doc/jsapi_h5_all/jsapi_h5_all.md +1231 -0
  84. package/docs/ejs-doc/jsapi_mini_all/jsapi_mini_all.md +1105 -0
  85. package/docs/ejs-doc/m7_mini_h5/images/001.png +0 -0
  86. package/docs/ejs-doc/m7_mini_h5/images/dev.png +0 -0
  87. package/docs/ejs-doc/m7_mini_h5/images/install.png +0 -0
  88. package/docs/ejs-doc/m7_mini_h5/images/mobile_dev.png +0 -0
  89. package/docs/ejs-doc/m7_mini_h5/images/setting.png +0 -0
  90. package/docs/ejs-doc/m7_mini_h5/images/update.png +0 -0
  91. package/docs/ejs-doc/m7_mini_h5/m7_mini_h5.md +410 -0
  92. package/docs/ejs-doc/promisesupport/promisesupport.md +84 -0
  93. package/docs/ejs-doc/structure/images/structure.jpg +0 -0
  94. package/docs/ejs-doc/structure/images/structure2.jpg +0 -0
  95. package/docs/ejs-doc/structure/structure.md +26 -0
  96. package/docs/ejs-doc/version/version.md +62 -0
  97. package/docs/m8mpdoc-develop/$navigation.md +343 -0
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/005-pages.md +300 -0
  108. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/006-manifest.md +173 -0
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. 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
  122. 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
  123. 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
  124. 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
  125. 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
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. 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
  140. 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
  141. 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
  142. 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
  143. 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
  144. 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
  145. 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
  146. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/000-EJS2.X.md +5 -0
  147. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS3.X.md +5 -0
  148. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS4.X.md +5 -0
  149. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS4.Xmp.md +5 -0
  150. 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
  151. 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
  152. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +128 -0
  153. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +142 -0
  154. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +210 -0
  155. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +85 -0
  156. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +21 -0
  157. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +36 -0
  158. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +128 -0
  159. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +148 -0
  160. 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
  161. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +59 -0
  162. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +95 -0
  163. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +76 -0
  164. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +202 -0
  165. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +92 -0
  166. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +412 -0
  167. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +146 -0
  168. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +137 -0
  169. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +363 -0
  170. 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
  171. 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
  172. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +285 -0
  173. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +211 -0
  174. 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
  175. 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
  176. 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
  177. 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
  178. 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
  179. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +999 -0
  180. 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
  181. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +133 -0
  182. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +117 -0
  183. 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
  184. 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
  185. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +212 -0
  186. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +85 -0
  187. 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
  188. 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
  189. 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
  190. 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
  191. 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
  192. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +189 -0
  193. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +217 -0
  194. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +166 -0
  195. 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
  196. 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
  197. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +196 -0
  198. 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
  199. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +232 -0
  200. 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
  201. 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
  202. 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
  203. 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
  204. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +150 -0
  205. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +144 -0
  206. 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
  207. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +467 -0
  208. 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
  209. 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
  210. 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
  211. 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
  212. 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
  213. 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
  214. 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
  215. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +183 -0
  216. 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
  217. 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
  218. 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
  219. 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
  220. 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
  221. 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
  222. 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
  223. 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
  224. 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
  225. 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
  226. 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
  227. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +162 -0
  228. 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
  229. 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
  230. 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
  231. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +262 -0
  232. 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
  233. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +132 -0
  234. 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
  235. 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
  236. 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
  237. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +381 -0
  238. 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
  239. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +849 -0
  240. 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
  241. 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
  242. 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
  243. 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
  244. 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
  245. 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
  246. 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
  247. 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
  248. 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
  249. 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
  250. 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
  251. 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
  252. 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
  253. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/install.md +91 -0
  254. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/pageopen.md +52 -0
  255. 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
  256. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/spechara.md +39 -0
  257. 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
  258. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/transpile_dependencies.md +18 -0
  259. 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
  260. 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
  261. 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
  262. 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
  263. 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
  264. 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
  265. 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
  266. 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
  267. 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
  268. 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
  269. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/3thbuild.md +42 -0
  270. 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
  271. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/custom_compts.md +60 -0
  272. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/customize.md +283 -0
  273. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/customtoken.md +74 -0
  274. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/i18n.md +220 -0
  275. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/modules.md +44 -0
  276. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/multiple.md +160 -0
  277. 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
  278. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/pages.md +18 -0
  279. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/scss/345/217/230/351/207/217.md +132 -0
  280. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/subpage.md +107 -0
  281. 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
  282. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/xmapp.md +77 -0
  283. 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
  284. 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
  285. 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
  286. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/001-view.md +56 -0
  287. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/002-scroll-view.md +233 -0
  288. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/003-match-media.md +43 -0
  289. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/004-movable-view.md +118 -0
  290. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/005-cover-view.md +20 -0
  291. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/006-cover-image.md +154 -0
  292. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/007-audio.md +81 -0
  293. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/008-camera.md +70 -0
  294. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/009-image.md +197 -0
  295. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/010-video.md +196 -0
  296. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/011-live-player.md +139 -0
  297. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/012-live-pusher.md +274 -0
  298. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/013-canvas.md +90 -0
  299. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/014-web-view.md +151 -0
  300. 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
  301. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/018-map.md +278 -0
  302. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/019-input.md +202 -0
  303. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/020-textarea.md +119 -0
  304. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/021-movable-area.md +25 -0
  305. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/022-page-meta.md +80 -0
  306. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/023-navigation-bar.md +58 -0
  307. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/0-/344/273/213/347/273/215.md +92 -0
  308. 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
  309. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/001-button/346/214/211/351/222/256.md +497 -0
  310. 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
  311. 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
  312. 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
  313. 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
  314. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/006-slider/346/273/221/345/235/227.md +420 -0
  315. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/007-badge/350/247/222/346/240/207.md +175 -0
  316. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/008-icon/345/233/276/346/240/207.md +133 -0
  317. 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
  318. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/010-drawer/346/212/275/345/261/211.md +369 -0
  319. 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
  320. 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
  321. 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
  322. 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
  323. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/019-layout/345/270/203/345/261/200.md +324 -0
  324. 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
  325. 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
  326. 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
  327. 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
  328. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/027-form/350/241/250/345/215/225.md +1343 -0
  329. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/028-cascader/347/272/247/350/201/224.md +695 -0
  330. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/029-image/345/233/276/347/211/207.md +211 -0
  331. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/031-datagrid/345/210/227/350/241/250.md +664 -0
  332. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/032-pagination/345/210/206/351/241/265.md +192 -0
  333. 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
  334. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/034-switch/345/274/200/345/205/263.md +305 -0
  335. 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
  336. 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
  337. 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
  338. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/038-alert/346/217/220/347/244/272.md +206 -0
  339. 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
  340. 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
  341. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/041-loading/345/212/240/350/275/275.md +183 -0
  342. 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
  343. 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
  344. 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
  345. 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
  346. 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
  347. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/047-notification/351/200/232/347/237/245.md +321 -0
  348. 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
  349. 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
  350. 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
  351. 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
  352. 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
  353. 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
  354. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/054-tag/346/240/207/347/255/276.md +348 -0
  355. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/055-upload/344/270/212/344/274/240.md +718 -0
  356. 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
  357. 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
  358. 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
  359. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/059-result/347/273/223/346/236/234.md +106 -0
  360. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/060-avatar/345/244/264/345/203/217.md +294 -0
  361. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/061-affix/345/233/272/351/222/211.md +120 -0
  362. 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
  363. 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
  364. 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
  365. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/064-rate/350/257/204/345/210/206.md +223 -0
  366. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/065-table/350/241/250/346/240/274.md +1417 -0
  367. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/066-link/351/223/276/346/216/245.md +177 -0
  368. 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
  369. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/068-text/346/226/207/346/234/254.md +202 -0
  370. 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
  371. 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
  372. 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
  373. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/072-sublist/345/255/220/350/241/250.md +729 -0
  374. 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
  375. 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
  376. 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
  377. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/077-mention/346/217/220/345/217/212.md +390 -0
  378. 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
  379. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/080-card/345/215/241/347/211/207.md +198 -0
  380. 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
  381. 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
  382. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/086-calendar/346/227/245/345/216/206.md +141 -0
  383. 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
  384. 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
  385. 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
  386. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/092-space/351/227/264/350/267/235.md +305 -0
  387. package/docs/m8mpdoc-develop/home-/351/246/226/351/241/265.md +612 -0
  388. package/docs/m8mpdoc-develop/home1-propose.md +45 -0
  389. package/package.json +54 -0
@@ -0,0 +1,1041 @@
1
+ # 优先级 B 的规则:强烈推荐 (增强可读性)
2
+
3
+ <div class="style-guide">
4
+
5
+ <!-- 开始 -->
6
+
7
+ ## 避免使用浏览器的 DOM API <span class="priority-a">强烈推荐</span>
8
+
9
+ 在使用 M8 移动前端框架跨平台开发时,应避免直接使用浏览器的 DOM API,如 `document` 或 `window`。这些 API 在非浏览器环境中可能不可用或表现不一致,例如在微信小程序或其他类似平台中。
10
+
11
+ <details>
12
+ <summary>
13
+ <h4>详解</h4>
14
+ </summary>
15
+
16
+ 直接操作 DOM 不仅违反了 Vue 的数据驱动视图的原则,而且会导致代码在跨平台时兼容性问题。使用 Vue 的响应式系统和模板语法可以更好地保证应用的可维护性和跨平台功能的正常工作。
17
+ - 避免使用:直接使用 document.querySelector 或 document.getElementById 等来操作 DOM。
18
+ - 推荐做法:使用 Vue 的模板绑定、计算属性和方法来处理数据和视图的更新。
19
+
20
+ </details>
21
+
22
+ <div class="style-example example-bad">
23
+
24
+ ### 反例:
25
+
26
+ ```js
27
+ mounted() {
28
+ const element = document.getElementById('my-element');
29
+ element.style.display = 'none';
30
+ }
31
+ ```
32
+
33
+ </div>
34
+ <div class="style-example example-good">
35
+
36
+ ### 好例子:
37
+
38
+ ```html
39
+ <template>
40
+ <div v-if="isVisible">
41
+ <!-- 内容 -->
42
+ </div>
43
+ </template>
44
+
45
+ <script>
46
+ export default {
47
+ data() {
48
+ return {
49
+ isVisible: true
50
+ };
51
+ },
52
+ methods: {
53
+ hideElement() {
54
+ this.isVisible = false;
55
+ }
56
+ }
57
+ }
58
+ </script>
59
+
60
+ ```
61
+
62
+ </div>
63
+ <!-- 结束 -->
64
+
65
+ <!-- 开始 -->
66
+
67
+ ## 使用 uniapp 内置组件 <span class="priority-a">强烈推荐</span>
68
+
69
+ 不推荐使用HTML标签,但实际上如果开发者写了`div`等标签,在编译到非H5平台时也会被编译器转换为`view`标签,类似的还有`span`转`text`、`a`转`navigator`等,包括css里的元素选择器也会转。
70
+
71
+ 但为了管理方便、策略统一,新写代码时仍然建议使用`view`等组件。
72
+
73
+ [uniapp 基础组件列表](https://uniapp.dcloud.net.cn/component/#%E5%9F%BA%E7%A1%80%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8)
74
+
75
+ <div class="style-example example-bad">
76
+
77
+ ### 反例:
78
+
79
+ ```html
80
+ <div></div>
81
+ <span></span>
82
+ <a href=""></a>
83
+ ```
84
+
85
+ </div>
86
+ <div class="style-example example-good">
87
+
88
+ ### 好例子:
89
+
90
+ ```html
91
+ <view></view>
92
+ <text></text>
93
+ <navigator></navigator>
94
+ ```
95
+
96
+ </div>
97
+ <!-- 结束 -->
98
+
99
+ <!-- 开始 -->
100
+
101
+ ## 使用 EJS 扩展 API <span class="priority-a">强烈推荐</span>
102
+
103
+ 拓展 ejs api 在不支持的 APP 环境下使用。
104
+
105
+ <div class="style-example example-bad">
106
+
107
+ ### 反例:
108
+
109
+ ```js
110
+ const huaWei = navigator.userAgent.match(/huawei/i)
111
+
112
+ if (ejs.os.ejs) {
113
+ ejs.page.open(xxx)
114
+ } else if (huaWei){
115
+ hw.openPage(xxx)
116
+ }
117
+ ```
118
+
119
+ </div>
120
+ <div class="style-example example-good">
121
+
122
+ ### 好例子:
123
+
124
+ ```js
125
+ // extends.huawei.js
126
+
127
+ // 扩展 ejs.os.huaWei
128
+ ejs.extendOS('huaWei', function (os) {
129
+ const huaWei = navigator.userAgent.match(/huawei/i)
130
+
131
+ if (huaWei) {
132
+ // 注意,这里的字段名必须与拓展的环境名os值相同
133
+ os.huaWei = true;
134
+ }
135
+ });
136
+
137
+ // 扩展 ejs.page.open 支持 huaWei API
138
+ ejs.extendModule('page', [
139
+ {
140
+ namespace: 'open',
141
+ os: ['huaWei'], // 该API支持的环境
142
+ defaultParams: {},
143
+ runCode(options, resolve, reject) {
144
+ hw.openPage(options, xxx)
145
+ },
146
+ },
147
+ ]);
148
+
149
+ ```
150
+ 使用扩展 API 后,业务ejs代码在huawei环境下不用修改
151
+
152
+
153
+ ```js
154
+ ejs.page.open(xxx)
155
+ ```
156
+ </div>
157
+ <!-- 结束 -->
158
+
159
+ <!-- 开始 -->
160
+
161
+ ## static 目录 <span class="priority-a">强烈推荐</span>
162
+
163
+ `src/static` 为静态资源目录,目录资源构建后会被原样复制到输出目录。目录下的文件不会被编译,如果里面有 `es6` 的代码,不经过转换直接运行,在手机设备上会报错。
164
+
165
+ `css`、`scss` 等资源不要放在 `static` 目录下,建议这些公用的资源放在 `common` 目录下。
166
+
167
+ <details>
168
+ <summary>
169
+ <h4>详解</h4>
170
+ </summary>
171
+
172
+ - 为什么需要static这样的目录?
173
+
174
+ uni-app编译器根据pages.json扫描需要编译的页面,并根据页面引入的js、css合并打包文件。\
175
+ 对于本地的图片、字体、视频、文件等资源,如果可以直接识别,那么也会把这些资源文件打包进去,但如果这些资源以变量的方式引用,
176
+ 比如:```<image :src="url"></image>```,甚至可能有更复杂的函数计算,此时编译器无法分析。
177
+
178
+ 那么有了static目录,编译器就会把这个目录整体复制到最终编译包内。这样只要运行时确实能获取到这个图片,就可以显示。
179
+
180
+ 当然这也带来一个注意事项,如果static里有一些没有使用的废文件,也会被打包到编译包里,造成体积变大。
181
+
182
+ 另外注意,static目录支持特殊的平台子目录,比如web、app、mp-weixin等,这些目录存放专有平台的文件,这些平台的文件在打包其他平台时不会被包含。详见[条件编译](https://uniapp.dcloud.net.cn/tutorial/platform.html#static-%E7%9B%AE%E5%BD%95%E7%9A%84%E6%9D%A1%E4%BB%B6%E7%BC%96%E8%AF%91)
183
+
184
+ 非 `static` 目录下的文件(vue组件、js、css 等)只有被引用时,才会被打包编译。
185
+
186
+ `css`、`less/scss` 等资源不要放在 `static` 目录下,建议这些公用的资源放在自建的 `common` 目录下。
187
+
188
+ </details>
189
+
190
+ <div class="style-example example-bad">
191
+
192
+ ### 反例:
193
+
194
+ ```bash
195
+ static/
196
+ |- xxx.css
197
+ |- xxx.scss
198
+ |- es6xx.js
199
+ ```
200
+
201
+ </div>
202
+ <div class="style-example example-good">
203
+
204
+ ### 好例子:
205
+
206
+ ```bash
207
+ static/
208
+ |- h5
209
+ | |- performance.js
210
+ |- mp-weixin
211
+ | |- index.js
212
+ |- logo.jpg
213
+ ```
214
+ </div>
215
+ <!-- 结束 -->
216
+
217
+ <!-- 开始 -->
218
+
219
+ ## 组件销毁时及时销毁复杂对象的引用或移除事件监听 <span class="priority-a">强烈推荐</span>
220
+
221
+ 在组件创建过程中添加的复杂对象引用或全局的事件监听,若未在组件销毁时及时移除,可能引起内存泄漏,造成严重的性能问题。
222
+
223
+ <div class="style-example example-bad">
224
+
225
+ ### 反例:
226
+
227
+ ```js
228
+ export default {
229
+ created() {
230
+ // 该事件不移除会一直存在,相关内存也不会被释放
231
+ document.addEventListener('visibilitychange', this.handleVisable);
232
+ },
233
+ methods: {
234
+ handleVisable() {
235
+ let self = this;
236
+
237
+ if (document.visibilityState == 'visible') {
238
+ self.type = Util.getExtraDataByKey('type') || '0';
239
+ self.submitAliPayCheck();
240
+ }
241
+ }
242
+ }
243
+ }
244
+ ```
245
+
246
+ </div>
247
+ <div class="style-example example-good">
248
+
249
+ ### 好例子:
250
+
251
+ ```js
252
+ export default {
253
+ created() {
254
+ document.addEventListener('visibilitychange', this.handleVisable);
255
+ },
256
+ methods: {
257
+ handleVisable() {
258
+ let self = this;
259
+
260
+ if (document.visibilityState == 'visible') {
261
+ self.type = Util.getExtraDataByKey('type') || '0';
262
+ self.submitAliPayCheck();
263
+ }
264
+ }
265
+ },
266
+ beforeDestroy() {
267
+ document.removeEventListener('visibilitychange', this.handleVisable);
268
+ }
269
+ }
270
+ ```
271
+ </div>
272
+ <!-- 结束 -->
273
+
274
+ ## 组件文件 <span class="priority-a">强烈推荐</span>
275
+
276
+ **只要有能够拼接文件的构建系统,就把每个组件单独分成文件。**
277
+
278
+ 当你需要编辑一个组件或查阅一个组件的用法时,可以更快速的找到它。
279
+
280
+ <div class="style-example example-bad">
281
+
282
+ ### 反例:
283
+
284
+ ```js
285
+ Vue.component('TodoList', {
286
+ // ...
287
+ });
288
+
289
+ Vue.component('TodoItem', {
290
+ // ...
291
+ });
292
+ ```
293
+
294
+ </div>
295
+ <div class="style-example example-good">
296
+
297
+ ### 好例子:
298
+
299
+ ```
300
+ components/
301
+ |- TodoList.js
302
+ |- TodoItem.js
303
+ ```
304
+
305
+ ```
306
+ components/
307
+ |- TodoList.vue
308
+ |- TodoItem.vue
309
+ ```
310
+
311
+ </div>
312
+
313
+ <!-- 开始 -->
314
+
315
+ ## 单文件组件文件名使用 kebab-case <span class="priority-a">必要</span>
316
+
317
+ **所有 `.vue` 文件及其目录统一使用 kebab-case,禁止 PascalCase 或大小写混用。**
318
+
319
+ 跨平台仓库对大小写敏感度不同,统一短横线小写能避免路径冲突,也符合 A 级“目录和文件命名”要求。
320
+
321
+ <div class="style-example example-bad">
322
+
323
+ ### 反例:
324
+
325
+ ```
326
+ components/
327
+ |- MyComponent.vue
328
+ |- userProfile/index.vue
329
+ ```
330
+
331
+ </div>
332
+ <div class="style-example example-good">
333
+
334
+ ### 好例子:
335
+
336
+ ```
337
+ components/
338
+ |- user-card.vue
339
+ |- user-profile/index.vue
340
+ ```
341
+
342
+ </div>
343
+ <!-- 结束 -->
344
+
345
+ <!-- 开始 -->
346
+
347
+ ## 基础组件名 <span class="priority-a">强烈推荐</span>
348
+
349
+ **应用特定样式和约定的基础组件 (也就是展示类的、无逻辑的或无状态的组件) 应该全部以一个特定的前缀开头,比如 `Base`、`App` 或 `V`。**
350
+
351
+ <details>
352
+ <summary>
353
+ <h4>详解</h4>
354
+ </summary>
355
+
356
+ 这些组件为你的应用奠定了一致的基础样式和行为。它们可能**只**包括:
357
+
358
+ - HTML 元素
359
+ - 其它基础组件
360
+ - 第三方 UI 组件库
361
+
362
+ 但是它们**绝不会**包括全局状态 (比如来自 Vuex store)。
363
+
364
+ 它们的名字通常包含所包裹元素的名字 (比如 `BaseButton`、`BaseTable`),除非没有现成的对应功能的元素 (比如 `BaseIcon`)。如果你为特定的上下文构建类似的组件,那它们几乎总会消费这些组件 (比如 `BaseButton` 可能会用在 `ButtonSubmit` 上)。
365
+
366
+ 这样做的几个好处:
367
+
368
+ - 当你在编辑器中以字母顺序排序时,你的应用的基础组件会全部列在一起,这样更容易识别。
369
+
370
+ - 因为组件名应该始终是多个单词,所以这样做可以避免你在包裹简单组件时随意选择前缀 (比如 `MyButton`、`VueButton`)。
371
+
372
+ </details>
373
+
374
+ <div class="style-example example-bad">
375
+
376
+ ### 反例:
377
+
378
+ ```
379
+ components/
380
+ |- MyButton.vue
381
+ |- VueTable.vue
382
+ |- Icon.vue
383
+ ```
384
+
385
+ </div>
386
+ <div class="style-example example-good">
387
+
388
+ ### 好例子:
389
+
390
+ ```
391
+ components/
392
+ |- BaseButton.vue
393
+ |- BaseTable.vue
394
+ |- BaseIcon.vue
395
+ ```
396
+
397
+ ```
398
+ components/
399
+ |- AppButton.vue
400
+ |- AppTable.vue
401
+ |- AppIcon.vue
402
+ ```
403
+
404
+ ```
405
+ components/
406
+ |- VButton.vue
407
+ |- VTable.vue
408
+ |- VIcon.vue
409
+ ```
410
+
411
+ </div>
412
+ <!-- 结束 -->
413
+
414
+ <!-- 开始 -->
415
+
416
+ ## 紧密耦合的组件名 <span class="priority-a">强烈推荐</span>
417
+
418
+ **和父组件紧密耦合的子组件应该以父组件名作为前缀命名。**
419
+
420
+ 如果一个组件只在某个父组件的场景下有意义,这层关系应该体现在其名字上。因为编辑器通常会按字母顺序组织文件,所以这样做可以把相关联的文件排在一起。
421
+
422
+ <details>
423
+ <summary>
424
+ <h4>详解</h4>
425
+ </summary>
426
+
427
+ 你可以试着通过在其父组件命名的目录中嵌套子组件以解决这个问题。比如:
428
+
429
+ ```
430
+ components/
431
+ |- TodoList/
432
+ |- Item/
433
+ |- index.vue
434
+ |- Button.vue
435
+ |- index.vue
436
+ ```
437
+
438
+ 或:
439
+
440
+ ```
441
+ components/
442
+ |- TodoList/
443
+ |- Item/
444
+ |- Button.vue
445
+ |- Item.vue
446
+ |- TodoList.vue
447
+ ```
448
+
449
+ 但是这种方式并不推荐,因为这会导致:
450
+
451
+ - 许多文件的名字相同,使得在编辑器中快速切换文件变得困难。
452
+ - 过多嵌套的子目录增加了在编辑器侧边栏中浏览组件所花的时间。
453
+
454
+ </details>
455
+
456
+ <div class="style-example example-bad">
457
+
458
+ ### 反例:
459
+
460
+ ```
461
+ components/
462
+ |- TodoList.vue
463
+ |- TodoItem.vue
464
+ |- TodoButton.vue
465
+ ```
466
+
467
+ ```
468
+ components/
469
+ |- SearchSidebar.vue
470
+ |- NavigationForSearchSidebar.vue
471
+ ```
472
+
473
+ </div>
474
+ <div class="style-example example-good">
475
+
476
+ ### 好例子:
477
+
478
+ ```
479
+ components/
480
+ |- TodoList.vue
481
+ |- TodoListItem.vue
482
+ |- TodoListItemButton.vue
483
+ ```
484
+
485
+ ```
486
+ components/
487
+ |- SearchSidebar.vue
488
+ |- SearchSidebarNavigation.vue
489
+ ```
490
+
491
+ </div>
492
+ <!-- 结束 -->
493
+
494
+ <!-- 开始 -->
495
+
496
+ ## 组件名中的单词顺序 <span class="priority-a">强烈推荐</span>
497
+
498
+ **组件名应该以高级别的 (通常是一般化描述的) 单词开头,以描述性的修饰词结尾。**
499
+
500
+ <details>
501
+ <summary>
502
+ <h4>详解</h4>
503
+ </summary>
504
+
505
+ 你可能会疑惑:
506
+
507
+ > “为什么我们给组件命名时不多遵从自然语言呢?”
508
+
509
+ 在自然的英文里,形容词和其它描述语通常都出现在名词之前,否则需要使用连接词。比如:
510
+
511
+ - Coffee _with_ milk
512
+ - Soup _of the_ day
513
+ - Visitor _to the_ museum
514
+
515
+ 如果你愿意,你完全可以在组件名里包含这些连接词,但是单词的顺序很重要。
516
+
517
+ 同样要注意**在你的应用中所谓的“高级别”是跟语境有关的**。比如对于一个带搜索表单的应用来说,它可能包含这样的组件:
518
+
519
+ ```
520
+ components/
521
+ |- ClearSearchButton.vue
522
+ |- ExcludeFromSearchInput.vue
523
+ |- LaunchOnStartupCheckbox.vue
524
+ |- RunSearchButton.vue
525
+ |- SearchInput.vue
526
+ |- TermsCheckbox.vue
527
+ ```
528
+
529
+ 你可能注意到了,我们很难看出来哪些组件是针对搜索的。现在我们来根据规则给组件重新命名:
530
+
531
+ ```
532
+ components/
533
+ |- SearchButtonClear.vue
534
+ |- SearchButtonRun.vue
535
+ |- SearchInputExcludeGlob.vue
536
+ |- SearchInputQuery.vue
537
+ |- SettingsCheckboxLaunchOnStartup.vue
538
+ |- SettingsCheckboxTerms.vue
539
+ ```
540
+
541
+ 因为编辑器通常会按字母顺序组织文件,所以现在组件之间的重要关系一目了然。
542
+
543
+ 你可能想换成多级目录的方式,把所有的搜索组件放到“search”目录,把所有的设置组件放到“settings”目录。我们只推荐在非常大型 (如有 100+ 个组件) 的应用下才考虑这么做,因为:
544
+
545
+ - 在多级目录间找来找去,要比在单个 `components` 目录下滚动查找要花费更多的精力。
546
+ - 存在组件重名 (比如存在多个 `ButtonDelete` 组件) 的时候在编辑器里更难快速定位。
547
+ - 让重构变得更难,因为为一个移动了的组件更新相关引用时,查找/替换通常并不高效。
548
+
549
+ </details>
550
+
551
+ <div class="style-example example-bad">
552
+
553
+ ### 反例:
554
+
555
+ ```
556
+ components/
557
+ |- ClearSearchButton.vue
558
+ |- ExcludeFromSearchInput.vue
559
+ |- LaunchOnStartupCheckbox.vue
560
+ |- RunSearchButton.vue
561
+ |- SearchInput.vue
562
+ |- TermsCheckbox.vue
563
+ ```
564
+
565
+ </div>
566
+ <div class="style-example example-good">
567
+
568
+ ### 好例子:
569
+
570
+ ```
571
+ components/
572
+ |- SearchButtonClear.vue
573
+ |- SearchButtonRun.vue
574
+ |- SearchInputQuery.vue
575
+ |- SearchInputExcludeGlob.vue
576
+ |- SettingsCheckboxTerms.vue
577
+ |- SettingsCheckboxLaunchOnStartup.vue
578
+ ```
579
+
580
+ </div>
581
+ <!-- 结束 -->
582
+
583
+ <!-- 开始 -->
584
+
585
+ ## 自闭合组件 <span class="priority-a">强烈推荐</span>
586
+
587
+ **在[单文件组件](../guide/single-file-components.html)、字符串模板和 [JSX](../guide/render-function.html#JSX) 中没有内容的组件应该是自闭合的——但在 DOM 模板里永远不要这样做。**
588
+
589
+ 自闭合组件表示它们不仅没有内容,而且**刻意**没有内容。其不同之处就好像书上的一页白纸对比贴有“本页有意留白”标签的白纸。而且没有了额外的闭合标签,你的代码也更简洁。
590
+
591
+ <div class="style-example example-bad">
592
+
593
+ ### 反例:
594
+
595
+ ```html
596
+ <!-- 在.vue单文件组件中 -->
597
+ <my-component></my-component>
598
+ ```
599
+
600
+ </div>
601
+ <div class="style-example example-good">
602
+
603
+ ### 好例子:
604
+
605
+ ```html
606
+ <!-- 在.vue单文件组件中 -->
607
+ <my-component />
608
+ ```
609
+
610
+ </div>
611
+ <!-- 结束 -->
612
+
613
+ <!-- 开始 -->
614
+
615
+ ## 模板中的组件名大小写 <span class="priority-a">必要</span>
616
+
617
+ **模板里的组件标签统一使用 kebab-case,与 A 级规则保持一致,避免大小写混用导致跨端渲染差异。**
618
+
619
+ <div class="style-example example-bad">
620
+
621
+ ### 反例:
622
+
623
+ ```html
624
+ <!-- 在 .vue 单文件组件中 -->
625
+ <MyComponent />
626
+ <UserProfileCard />
627
+ ```
628
+
629
+ </div>
630
+ <div class="style-example example-good">
631
+
632
+ ### 好例子:
633
+
634
+ ```html
635
+ <!-- 在 .vue 单文件组件中 -->
636
+ <my-component />
637
+ <user-profile-card />
638
+ ```
639
+
640
+ </div>
641
+ <!-- 结束 -->
642
+
643
+ <!-- 开始 -->
644
+
645
+ ## JS 中的组件名大小写 <span class="priority-a">必要</span>
646
+
647
+ **脚本中的组件名始终使用 PascalCase,导出 `name` 也保持 PascalCase,多单词命名与模板的 kebab-case 一一对应。**
648
+
649
+ <div class="style-example example-bad">
650
+
651
+ ### 反例:
652
+
653
+ ```js
654
+ Vue.component('myComponent', {
655
+ // ...
656
+ });
657
+ ```
658
+
659
+ ```js
660
+ import myComponent from './my-component.vue';
661
+ ```
662
+
663
+ ```js
664
+ export default {
665
+ name: 'myComponent',
666
+ // ...
667
+ };
668
+ ```
669
+
670
+ ```js
671
+ export default {
672
+ name: 'my-component',
673
+ // ...
674
+ };
675
+ ```
676
+
677
+ </div>
678
+ <div class="style-example example-good">
679
+
680
+ ### 好例子:
681
+
682
+ ```js
683
+ Vue.component('MyComponent', {
684
+ // ...
685
+ });
686
+ ```
687
+
688
+ ```js
689
+ import MyComponent from './my-component.vue';
690
+ ```
691
+
692
+ ```js
693
+ export default {
694
+ name: 'MyComponent',
695
+ // ...
696
+ };
697
+ ```
698
+
699
+ </div>
700
+ <!-- 结束 -->
701
+
702
+ <!-- 开始 -->
703
+
704
+ ## 完整单词的组件名 <span class="priority-a">强烈推荐</span>
705
+
706
+ **组件名应该倾向于完整单词而不是缩写。**
707
+
708
+ 编辑器中的自动补全已经让书写长命名的代价非常之低了,而其带来的明确性却是非常宝贵的。不常用的缩写尤其应该避免。
709
+
710
+ <div class="style-example example-bad">
711
+
712
+ ### 反例:
713
+
714
+ ```
715
+ components/
716
+ |- SdSettings.vue
717
+ |- UProfOpts.vue
718
+ ```
719
+
720
+ </div>
721
+ <div class="style-example example-good">
722
+
723
+ ### 好例子:
724
+
725
+ ```
726
+ components/
727
+ |- StudentDashboardSettings.vue
728
+ |- UserProfileOptions.vue
729
+ ```
730
+
731
+ </div>
732
+ <!-- 结束 -->
733
+
734
+ <!-- 开始 -->
735
+
736
+ ## Prop 名大小写 <span class="priority-a">必要</span>
737
+
738
+ **在声明 prop 的时候,其命名应该始终使用 camelCase,而在模板中应该始终使用 kebab-case。**
739
+
740
+ 我们单纯的遵循每个语言的约定。在 JavaScript 中更自然的是 camelCase。而在 HTML 中则是 kebab-case。
741
+
742
+ <div class="style-example example-bad">
743
+
744
+ ### 反例:
745
+
746
+ ```js
747
+ props: {
748
+ 'greeting-text': String
749
+ }
750
+ ```
751
+
752
+ ```html
753
+ <welcome-message greetingText="hi" />
754
+ ```
755
+
756
+ </div>
757
+ <div class="style-example example-good">
758
+
759
+ ### 好例子:
760
+
761
+ ```js
762
+ props: {
763
+ greetingText: String;
764
+ }
765
+ ```
766
+
767
+ ```html
768
+ <welcome-message greeting-text="hi" />
769
+ ```
770
+
771
+ </div>
772
+ <!-- 结束 -->
773
+
774
+ <!-- 开始 -->
775
+
776
+ ## 多个 attribute 的元素 <span class="priority-a">强烈推荐</span>
777
+
778
+ **多个 attribute 的元素应该分多行撰写,每个 attribute 一行。**
779
+
780
+ 在 JavaScript 中,用多行分隔对象的多个 property 是很常见的最佳实践,因为这样更易读。
781
+
782
+ <div class="style-example example-bad">
783
+
784
+ ### 反例:
785
+
786
+ ```html
787
+ <img src="https://vuejs.org/images/logo.png" alt="Vue Logo">
788
+ ```
789
+
790
+ ```html
791
+ <my-component foo="a" bar="b" baz="c"/>
792
+ ```
793
+
794
+ </div>
795
+ <div class="style-example example-good">
796
+
797
+ ### 好例子:
798
+
799
+ ```html
800
+ <img
801
+ src="https://vuejs.org/images/logo.png"
802
+ alt="Vue Logo"
803
+ >
804
+ ```
805
+
806
+ ```html
807
+ <my-component
808
+ foo="a"
809
+ bar="b"
810
+ baz="c"
811
+ />
812
+ ```
813
+
814
+ </div>
815
+ <!-- 结束 -->
816
+
817
+ <!-- 开始 -->
818
+
819
+ ## 简单的计算属性 <span class="priority-a">强烈推荐</span>
820
+
821
+ **应该把复杂计算属性分割为尽可能多的更简单的 property。**
822
+
823
+ <details>
824
+ <summary>
825
+ <h4>详解</h4>
826
+ </summary>
827
+
828
+ 更简单、命名得当的计算属性是这样的:
829
+
830
+ - **易于测试**
831
+
832
+ 当每个计算属性都包含一个非常简单且很少依赖的表达式时,撰写测试以确保其正确工作就会更加容易。
833
+
834
+ - **易于阅读**
835
+
836
+ 简化计算属性要求你为每一个值都起一个描述性的名称,即便它不可复用。这使得其他开发者 (以及未来的你) 更容易专注在他们关心的代码上并搞清楚发生了什么。
837
+
838
+ - **更好的“拥抱变化”**
839
+
840
+ 任何能够命名的值都可能用在视图上。举个例子,我们可能打算展示一个信息,告诉用户他们存了多少钱;也可能打算计算税费,但是可能会分开展现,而不是作为总价的一部分。
841
+
842
+ 小的、专注的计算属性减少了信息使用时的假设性限制,所以需求变更时也用不着那么多重构了。
843
+
844
+ </details>
845
+
846
+ <div class="style-example example-bad">
847
+
848
+ ### 反例:
849
+
850
+ ``` js
851
+ computed: {
852
+ price: function () {
853
+ var basePrice = this.manufactureCost / (1 - this.profitMargin)
854
+ return (
855
+ basePrice -
856
+ basePrice * (this.discountPercent || 0)
857
+ )
858
+ }
859
+ }
860
+ ```
861
+
862
+ </div>
863
+ <div class="style-example example-good">
864
+
865
+ ### 好例子:
866
+
867
+ ``` js
868
+ computed: {
869
+ basePrice: function () {
870
+ return this.manufactureCost / (1 - this.profitMargin)
871
+ },
872
+ discount: function () {
873
+ return this.basePrice * (this.discountPercent || 0)
874
+ },
875
+ finalPrice: function () {
876
+ return this.basePrice - this.discount
877
+ }
878
+ }
879
+ ```
880
+
881
+ </div>
882
+ <!-- 结束 -->
883
+
884
+ <!-- 开始 -->
885
+
886
+ ## 带引号的 attribute 值 <span class="priority-a">强烈推荐</span>
887
+
888
+ **非空 HTML attribute 值应该始终带引号 (单引号或双引号,以 JS 中未使用的为准)。**
889
+
890
+ 在 HTML 中不带空格的 attribute 值是可以没有引号的,但这鼓励了大家在特征值里*不写*空格,导致可读性变差。
891
+
892
+ <div class="style-example example-bad">
893
+
894
+ ### 反例:
895
+
896
+ ``` html
897
+ <input type=text>
898
+ ```
899
+
900
+ ``` html
901
+ <app-sidebar :style={width:sidebarWidth+'px'}>
902
+ ```
903
+
904
+ </div>
905
+ <div class="style-example example-good">
906
+
907
+ ### 好例子:
908
+
909
+ ``` html
910
+ <input type="text">
911
+ ```
912
+
913
+ ``` html
914
+ <app-sidebar :style="{ width: sidebarWidth + 'px' }">
915
+ ```
916
+
917
+ </div>
918
+ <!-- 结束 -->
919
+
920
+ <!-- 开始 -->
921
+
922
+ ## 指令缩写 <span class="priority-a">强烈推荐</span>
923
+
924
+ **指令缩写 (用 `:` 表示 `v-bind:`、用 `@` 表示 `v-on:` 和用 `#` 表示 `v-slot:`) 应该要么都用要么都不用。**
925
+
926
+ <div class="style-example example-bad">
927
+
928
+ ### 反例:
929
+
930
+ ``` html
931
+ <input
932
+ v-bind:value="newTodoText"
933
+ :placeholder="newTodoInstructions"
934
+ >
935
+ ```
936
+
937
+ ``` html
938
+ <input
939
+ v-on:input="onInput"
940
+ @focus="onFocus"
941
+ >
942
+ ```
943
+
944
+ ``` html
945
+ <template v-slot:header>
946
+ <h1>Here might be a page title</h1>
947
+ </template>
948
+
949
+ <template #footer>
950
+ <p>Here's some contact info</p>
951
+ </template>
952
+ ```
953
+ </div>
954
+ <div class="style-example example-good">
955
+
956
+ ### 好例子:
957
+
958
+ ``` html
959
+ <input
960
+ :value="newTodoText"
961
+ :placeholder="newTodoInstructions"
962
+ >
963
+ ```
964
+
965
+ ``` html
966
+ <input
967
+ v-bind:value="newTodoText"
968
+ v-bind:placeholder="newTodoInstructions"
969
+ >
970
+ ```
971
+
972
+ ``` html
973
+ <input
974
+ @input="onInput"
975
+ @focus="onFocus"
976
+ >
977
+ ```
978
+
979
+ ``` html
980
+ <input
981
+ v-on:input="onInput"
982
+ v-on:focus="onFocus"
983
+ >
984
+ ```
985
+
986
+ ``` html
987
+ <template v-slot:header>
988
+ <h1>Here might be a page title</h1>
989
+ </template>
990
+
991
+ <template v-slot:footer>
992
+ <p>Here's some contact info</p>
993
+ </template>
994
+ ```
995
+
996
+ ``` html
997
+ <template #header>
998
+ <h1>Here might be a page title</h1>
999
+ </template>
1000
+
1001
+ <template #footer>
1002
+ <p>Here's some contact info</p>
1003
+ </template>
1004
+ ```
1005
+
1006
+ </div>
1007
+ <!-- 结束 -->
1008
+
1009
+ </div>
1010
+
1011
+ </div>
1012
+ <style>
1013
+ .priority-a {
1014
+ color: #f44336;
1015
+ font-size: 12px
1016
+ }
1017
+ .style-guide summary {
1018
+ display: list-item;
1019
+ cursor: pointer;
1020
+ padding: 1.6em;
1021
+ margin: -1.6em;
1022
+ outline: none;
1023
+ }
1024
+ .style-guide details, .style-guide .style-enforcement {
1025
+ background-color: #eee;
1026
+ }
1027
+ .style-guide details h4 {
1028
+ display: inline-block;
1029
+ }
1030
+ .style-example, .style-guide details, .style-guide .style-enforcement {
1031
+ border-radius: 2px;
1032
+ margin: 1.6em 0;
1033
+ padding: 12px;
1034
+ }
1035
+ .style-example.example-bad {
1036
+ background: #f7e8e8;
1037
+ }
1038
+ .style-guide .style-example.example-good {
1039
+ background: #eaedec;
1040
+ }
1041
+ </style>