m8-framework-mcp 1.0.0 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +55 -17
  2. package/build/index.js +420 -86
  3. package/package.json +2 -4
  4. package/docs/ejs-doc/404/404.html +0 -9
  5. package/docs/ejs-doc/_draft/sha1_salt.md +0 -47
  6. package/docs/ejs-doc/_include/config.php +0 -10
  7. package/docs/ejs-doc/_include/cssboot.inc.php +0 -62
  8. package/docs/ejs-doc/_include/jsboot.inc.php +0 -7
  9. package/docs/ejs-doc/api_app/api_app.md +0 -43
  10. package/docs/ejs-doc/api_audio/api_audio.md +0 -225
  11. package/docs/ejs-doc/api_auth/api_auth.md +0 -256
  12. package/docs/ejs-doc/api_basicCard/api_basicCard.md +0 -69
  13. package/docs/ejs-doc/api_card_ui/api_card_ui.md +0 -37
  14. package/docs/ejs-doc/api_contact/api_contact.md +0 -295
  15. package/docs/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  16. package/docs/ejs-doc/api_device/api_device.md +0 -761
  17. package/docs/ejs-doc/api_event/api_event.md +0 -244
  18. package/docs/ejs-doc/api_global/api_global.md +0 -440
  19. package/docs/ejs-doc/api_io/api_io.md +0 -369
  20. package/docs/ejs-doc/api_miniH5/api_miniH5.md +0 -279
  21. package/docs/ejs-doc/api_navigator/api_navigator.md +0 -654
  22. package/docs/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  23. package/docs/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  24. package/docs/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  25. package/docs/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  26. package/docs/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  27. package/docs/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  28. package/docs/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  29. package/docs/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  30. package/docs/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  31. package/docs/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  32. package/docs/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  33. package/docs/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  34. package/docs/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  35. package/docs/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  36. package/docs/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  37. package/docs/ejs-doc/api_page/api_page.md +0 -261
  38. package/docs/ejs-doc/api_runtime/api_runtime.md +0 -788
  39. package/docs/ejs-doc/api_storage/api_storage.md +0 -320
  40. package/docs/ejs-doc/api_stream/api_stream.md +0 -152
  41. package/docs/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  42. package/docs/ejs-doc/api_ui/api_ui.md +0 -836
  43. package/docs/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  44. package/docs/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  45. package/docs/ejs-doc/api_ui/images/ui_alert.png +0 -0
  46. package/docs/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  47. package/docs/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  48. package/docs/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  49. package/docs/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  50. package/docs/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  51. package/docs/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  52. package/docs/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  53. package/docs/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  54. package/docs/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  55. package/docs/ejs-doc/api_ui/images/ui_select.png +0 -0
  56. package/docs/ejs-doc/api_ui/images/ui_select2.png +0 -0
  57. package/docs/ejs-doc/api_ui/images/ui_select3.png +0 -0
  58. package/docs/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  59. package/docs/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  60. package/docs/ejs-doc/api_ui/images/ui_toast.png +0 -0
  61. package/docs/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  62. package/docs/ejs-doc/api_util/api_util.md +0 -615
  63. package/docs/ejs-doc/api_util/images/util.playvideo.png +0 -0
  64. package/docs/ejs-doc/api_util/images/util.previmage.png +0 -0
  65. package/docs/ejs-doc/api_util/images/util.selectfile.png +0 -0
  66. package/docs/ejs-doc/api_util/images/util.selectimage.png +0 -0
  67. package/docs/ejs-doc/authentication/authentication.md +0 -28
  68. package/docs/ejs-doc/changelog/changelog.md +0 -290
  69. package/docs/ejs-doc/component_invokeplugin/component_invokeplugin.md +0 -54
  70. package/docs/ejs-doc/component_outline/component_outline.md +0 -71
  71. package/docs/ejs-doc/guid_apiconstraint/guid_apiconstraint.md +0 -30
  72. package/docs/ejs-doc/guid_debugpage/guid_debugpage.md +0 -53
  73. package/docs/ejs-doc/guid_debugpage/images/client.jpg +0 -0
  74. package/docs/ejs-doc/guid_debugpage/images/room.png +0 -0
  75. package/docs/ejs-doc/guid_demodebug/guid_demodebug.md +0 -59
  76. package/docs/ejs-doc/guid_demodebug/images/qr_demo.png +0 -0
  77. package/docs/ejs-doc/guid_demodebug/images/qrcode-weex.png +0 -0
  78. package/docs/ejs-doc/guid_demodebug/images/qrcode.png +0 -0
  79. package/docs/ejs-doc/guid_demodebug/images/qrcode_ejs.png +0 -0
  80. package/docs/ejs-doc/guid_errorcode/guid_errorcode.md +0 -27
  81. package/docs/ejs-doc/guid_errorcode/images/5d38937fec5107c38502c3ee38ba5b2c.png +0 -0
  82. package/docs/ejs-doc/guid_getstart/guid_getstart.md +0 -188
  83. package/docs/ejs-doc/introduction/introduction.md +0 -29
  84. package/docs/ejs-doc/jsapi_h5_all/jsapi_h5_all.md +0 -1231
  85. package/docs/ejs-doc/jsapi_mini_all/jsapi_mini_all.md +0 -1105
  86. package/docs/ejs-doc/m7_mini_h5/images/001.png +0 -0
  87. package/docs/ejs-doc/m7_mini_h5/images/dev.png +0 -0
  88. package/docs/ejs-doc/m7_mini_h5/images/install.png +0 -0
  89. package/docs/ejs-doc/m7_mini_h5/images/mobile_dev.png +0 -0
  90. package/docs/ejs-doc/m7_mini_h5/images/setting.png +0 -0
  91. package/docs/ejs-doc/m7_mini_h5/images/update.png +0 -0
  92. package/docs/ejs-doc/m7_mini_h5/m7_mini_h5.md +0 -410
  93. package/docs/ejs-doc/promisesupport/promisesupport.md +0 -84
  94. package/docs/ejs-doc/structure/images/structure.jpg +0 -0
  95. package/docs/ejs-doc/structure/images/structure2.jpg +0 -0
  96. package/docs/ejs-doc/structure/structure.md +0 -26
  97. package/docs/ejs-doc/version/version.md +0 -62
  98. package/docs/m8mpdoc-develop/$navigation.md +0 -343
  99. 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 +0 -61
  100. 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 +0 -60
  101. 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 +0 -106
  102. 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 +0 -25
  103. 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 +0 -97
  104. 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 +0 -186
  105. 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 +0 -218
  106. 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 +0 -139
  107. 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 +0 -125
  108. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/005-pages.md +0 -300
  109. package/docs/m8mpdoc-develop/0001-/345/211/215/346/234/237/345/207/206/345/244/207/006-manifest.md +0 -173
  110. 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 +0 -217
  111. 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 +0 -14
  112. 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 +0 -176
  113. 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 +0 -167
  114. 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 +0 -15
  115. 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 +0 -42
  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/347/273/204/344/273/266.md +0 -34
  117. 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 +0 -69
  118. 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 +0 -16
  119. 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 +0 -29
  120. 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 +0 -11
  121. 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 +0 -50
  122. 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 +0 -325
  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/226.md +0 -38
  124. 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 +0 -39
  125. 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 +0 -21
  126. 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 +0 -105
  127. 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
  128. 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 +0 -13
  129. 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 +0 -325
  130. 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 +0 -91
  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/237.md +0 -119
  132. 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 +0 -100
  133. 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 +0 -94
  134. 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 +0 -51
  135. 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 +0 -5
  136. 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
  137. 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 +0 -5
  138. package/docs/m8mpdoc-develop/002-/350/247/204/350/214/203/344/270/216/346/250/241/345/274/217/003-style-guide.md +0 -23
  139. 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 +0 -872
  140. 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 +0 -1041
  141. 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 +0 -489
  142. 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 +0 -372
  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/205.md +0 -247
  144. 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 +0 -276
  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/244.md +0 -130
  146. 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 +0 -115
  147. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/000-EJS2.X.md +0 -5
  148. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS3.X.md +0 -5
  149. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS4.X.md +0 -5
  150. package/docs/m8mpdoc-develop/004-EJS/347/233/270/345/205/263/001-EJS4.Xmp.md +0 -5
  151. 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 +0 -398
  152. 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 +0 -456
  153. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
  154. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
  155. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
  156. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
  157. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
  158. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
  159. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
  160. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
  161. 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 +0 -76
  162. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
  163. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
  164. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
  165. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
  166. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
  167. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
  168. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
  169. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
  170. package/docs/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
  171. 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 +0 -188
  172. 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 +0 -460
  173. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
  174. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
  175. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +0 -213
  176. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +0 -501
  177. 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 +0 -168
  178. 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 +0 -617
  179. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +0 -539
  180. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
  181. 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 +0 -150
  182. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
  183. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
  184. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +0 -152
  185. 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 +0 -427
  186. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
  187. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
  188. 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 +0 -175
  189. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +0 -519
  190. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +0 -152
  191. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +0 -103
  192. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +0 -285
  193. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
  194. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
  195. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
  196. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +0 -340
  197. 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 +0 -265
  198. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
  199. 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 +0 -115
  200. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
  201. 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 +0 -631
  202. 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 +0 -531
  203. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +0 -111
  204. 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 +0 -337
  205. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
  206. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
  207. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +0 -429
  208. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
  209. 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 +0 -295
  210. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +0 -577
  211. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +0 -491
  212. 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 +0 -265
  213. 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 +0 -203
  214. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +0 -139
  215. 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 +0 -199
  216. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
  217. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +0 -289
  218. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +0 -97
  219. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +0 -146
  220. 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 +0 -292
  221. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +0 -120
  222. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +0 -114
  223. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +0 -119
  224. 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 +0 -208
  225. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +0 -161
  226. 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 +0 -248
  227. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +0 -314
  228. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
  229. 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 +0 -325
  230. 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 +0 -360
  231. 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 +0 -595
  232. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
  233. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +0 -51
  234. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
  235. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +0 -1538
  236. 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 +0 -261
  237. 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 +0 -161
  238. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
  239. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +0 -531
  240. package/docs/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
  241. 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 +0 -196
  242. 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
  243. 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 +0 -267
  244. 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 +0 -71
  245. 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 +0 -307
  246. 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 +0 -222
  247. 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 +0 -275
  248. 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 +0 -60
  249. 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 +0 -116
  250. 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 +0 -81
  251. 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 +0 -45
  252. 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 +0 -216
  253. 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 +0 -55
  254. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/install.md +0 -91
  255. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/pageopen.md +0 -52
  256. 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 +0 -24
  257. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/spechara.md +0 -39
  258. 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 +0 -14
  259. package/docs/m8mpdoc-develop/014-/345/270/270/350/247/201/351/227/256/351/242/230/transpile_dependencies.md +0 -18
  260. 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 +0 -186
  261. 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 +0 -30
  262. 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 +0 -87
  263. 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 +0 -29
  264. 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 +0 -29
  265. 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 +0 -22
  266. 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 +0 -183
  267. 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 +0 -26
  268. 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 +0 -126
  269. 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 +0 -153
  270. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/3thbuild.md +0 -42
  271. 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 +0 -88
  272. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/custom_compts.md +0 -60
  273. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/customize.md +0 -283
  274. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/customtoken.md +0 -74
  275. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/i18n.md +0 -220
  276. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/modules.md +0 -44
  277. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/multiple.md +0 -160
  278. 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 +0 -111
  279. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/pages.md +0 -18
  280. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/scss/345/217/230/351/207/217.md +0 -132
  281. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/subpage.md +0 -107
  282. 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 +0 -106
  283. package/docs/m8mpdoc-develop/015-/345/267/245/347/250/213/345/214/226/xmapp.md +0 -77
  284. 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 +0 -61
  285. 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 +0 -74
  286. 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 +0 -1
  287. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/001-view.md +0 -56
  288. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/002-scroll-view.md +0 -233
  289. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/003-match-media.md +0 -43
  290. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/004-movable-view.md +0 -118
  291. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/005-cover-view.md +0 -20
  292. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/006-cover-image.md +0 -154
  293. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/007-audio.md +0 -81
  294. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/008-camera.md +0 -70
  295. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/009-image.md +0 -197
  296. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/010-video.md +0 -196
  297. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/011-live-player.md +0 -139
  298. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/012-live-pusher.md +0 -274
  299. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/013-canvas.md +0 -90
  300. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/014-web-view.md +0 -151
  301. 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 +0 -308
  302. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/018-map.md +0 -278
  303. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/019-input.md +0 -202
  304. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/020-textarea.md +0 -119
  305. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/021-movable-area.md +0 -25
  306. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/022-page-meta.md +0 -80
  307. package/docs/m8mpdoc-develop/017-/345/206/205/347/275/256/347/273/204/344/273/266/023-navigation-bar.md +0 -58
  308. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/0-/344/273/213/347/273/215.md +0 -92
  309. 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 +0 -9
  310. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/001-button/346/214/211/351/222/256.md +0 -497
  311. 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 +0 -146
  312. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/003-radio/345/215/225/351/200/211/346/241/206.md +0 -476
  313. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/004-checkbox/345/244/232/351/200/211/347/273/204.md +0 -622
  314. 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 +0 -257
  315. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/006-slider/346/273/221/345/235/227.md +0 -420
  316. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/007-badge/350/247/222/346/240/207.md +0 -175
  317. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/008-icon/345/233/276/346/240/207.md +0 -133
  318. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/009-overlay/351/201/256/347/275/251/345/261/202.md +0 -111
  319. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/010-drawer/346/212/275/345/261/211.md +0 -369
  320. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/011-dialog/345/274/271/345/207/272/345/261/202.md +0 -430
  321. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/015-steps/346/255/245/351/252/244/346/235/241.md +0 -250
  322. 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 +0 -101
  323. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/018-progress/350/277/233/345/272/246/346/235/241.md +0 -252
  324. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/019-layout/345/270/203/345/261/200.md +0 -324
  325. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/023-toolbar/345/267/245/345/205/267/346/240/217.md +0 -612
  326. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/024-toolbarbtns/346/214/211/351/222/256/347/273/204.md +0 -228
  327. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/025-input/350/276/223/345/205/245/346/241/206.md +0 -383
  328. 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 +0 -305
  329. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/027-form/350/241/250/345/215/225.md +0 -1343
  330. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/028-cascader/347/272/247/350/201/224.md +0 -695
  331. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/029-image/345/233/276/347/211/207.md +0 -211
  332. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/031-datagrid/345/210/227/350/241/250.md +0 -664
  333. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/032-pagination/345/210/206/351/241/265.md +0 -192
  334. 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 +0 -417
  335. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/034-switch/345/274/200/345/205/263.md +0 -305
  336. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/035-breadcrumb/351/235/242/345/214/205/345/261/221.md +0 -90
  337. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/036-empty/347/251/272/347/212/266/346/200/201.md +0 -80
  338. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/037-colorpalette/350/260/203/350/211/262/346/235/277.md +0 -201
  339. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/038-alert/346/217/220/347/244/272.md +0 -206
  340. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/039-scrollbar/346/273/232/345/212/250/346/235/241.md +0 -256
  341. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/040-skeleton/351/252/250/346/236/266/345/261/217.md +0 -284
  342. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/041-loading/345/212/240/350/275/275.md +0 -183
  343. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/042-verifycode/351/252/214/350/257/201/347/240/201.md +0 -128
  344. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/043-timeline/346/227/266/351/227/264/350/275/264.md +0 -196
  345. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/044-workflow/345/267/245/344/275/234/346/265/201.md +0 -452
  346. 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 +0 -236
  347. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/046-tabs/346/240/207/347/255/276/351/241/265.md +0 -388
  348. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/047-notification/351/200/232/347/237/245.md +0 -321
  349. 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 +0 -400
  350. 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 +0 -1567
  351. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/050-popover/345/274/271/345/207/272/346/241/206.md +0 -294
  352. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/051-select/351/200/211/346/213/251/345/231/250.md +0 -976
  353. 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 +0 -918
  354. 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 +0 -206
  355. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/054-tag/346/240/207/347/255/276.md +0 -348
  356. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/055-upload/344/270/212/344/274/240.md +0 -718
  357. 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 +0 -287
  358. 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 +0 -222
  359. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/058-progress/350/277/233/345/272/246/346/235/241.md +0 -420
  360. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/059-result/347/273/223/346/236/234.md +0 -106
  361. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/060-avatar/345/244/264/345/203/217.md +0 -294
  362. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/061-affix/345/233/272/351/222/211.md +0 -120
  363. 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 +0 -139
  364. 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 +0 -244
  365. 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 +0 -527
  366. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/064-rate/350/257/204/345/210/206.md +0 -223
  367. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/065-table/350/241/250/346/240/274.md +0 -1417
  368. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/066-link/351/223/276/346/216/245.md +0 -177
  369. 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 +0 -389
  370. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/068-text/346/226/207/346/234/254.md +0 -202
  371. 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 +0 -165
  372. 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 +0 -388
  373. 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 +0 -94
  374. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/072-sublist/345/255/220/350/241/250.md +0 -729
  375. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/073-carousel/350/265/260/351/251/254/347/201/257.md +0 -306
  376. 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 +0 -580
  377. 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 +0 -183
  378. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/077-mention/346/217/220/345/217/212.md +0 -390
  379. 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 +0 -170
  380. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/080-card/345/215/241/347/211/207.md +0 -198
  381. 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 +0 -392
  382. 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 +0 -163
  383. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/086-calendar/346/227/245/345/216/206.md +0 -141
  384. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/087-divider/345/210/206/345/211/262/347/272/277.md +0 -77
  385. 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 +0 -61
  386. 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 +0 -49
  387. package/docs/m8mpdoc-develop/018-EPUI/347/273/204/344/273/266/092-space/351/227/264/350/267/235.md +0 -305
  388. package/docs/m8mpdoc-develop/home-/351/246/226/351/241/265.md +0 -612
  389. package/docs/m8mpdoc-develop/home1-propose.md +0 -45
package/build/index.js CHANGED
@@ -1,130 +1,139 @@
1
1
  #!/usr/bin/env node
2
- import{McpServer as Ne}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as Ve}from"@modelcontextprotocol/sdk/server/stdio.js";import{z as h}from"zod";import{fileURLToPath as Oe}from"url";import{dirname as Te,join as te}from"path";import{existsSync as Ee}from"fs";import*as C from"path";import*as w from"fs";import*as D from"path";function ne(e){try{return w.readFileSync(e,"utf-8")}catch(s){return console.error(`[Parser] \u8BFB\u53D6\u6587\u4EF6\u5931\u8D25: ${e}`,s),""}}function k(e){let s=[];try{if(!w.existsSync(e))return console.error(`[Parser] \u76EE\u5F55\u4E0D\u5B58\u5728: ${e}`),s;let t=w.readdirSync(e,{withFileTypes:!0});for(let n of t){let o=D.join(e,n.name);n.isDirectory()?s.push(...k(o)):n.isFile()&&n.name.endsWith(".md")&&s.push(o)}}catch(t){console.error(`[Parser] \u626B\u63CF\u76EE\u5F55\u5931\u8D25: ${e}`,t)}return s}function re(e){let s=[];for(let t of e){if(/^\|[\s\-:]+\|$/.test(t.trim()))continue;let n=t.split("|").map(o=>o.trim()).filter(o=>o!=="");n.length>0&&s.push(n)}return s}function j(e){let s=ne(e),t=[],n="",o=s.split(`
3
- `),i=0;for(;i<o.length;){let a=o[i],r=a.match(/^(#{1,6})\s+(.+)$/);if(r){let l=r[1].length,p=r[2].trim();l===1&&!n&&(n=p),t.push({type:"heading",level:l,content:p}),i++;continue}if(a.startsWith("```")){let l=a.slice(3).trim(),p=[];for(i++;i<o.length&&!o[i].startsWith("```");)p.push(o[i]),i++;t.push({type:"code",content:p.join(`
4
- `),language:l||"text"}),i++;continue}if(a.startsWith("|")){let l=[a];for(i++;i<o.length&&o[i].startsWith("|");)l.push(o[i]),i++;let p=re(l);t.push({type:"table",content:l.join(`
5
- `),rows:p});continue}if(/^[\-\*\+]\s/.test(a)||/^\d+\.\s/.test(a)){let l=[a];for(i++;i<o.length&&(/^[\-\*\+]\s/.test(o[i])||/^\d+\.\s/.test(o[i])||/^\s+/.test(o[i]));)l.push(o[i]),i++;t.push({type:"list",content:l.join(`
6
- `)});continue}if(a.trim()){let l=[a];for(i++;i<o.length&&o[i].trim()&&!o[i].startsWith("#")&&!o[i].startsWith("```")&&!o[i].startsWith("|");)l.push(o[i]),i++;t.push({type:"paragraph",content:l.join(`
7
- `)});continue}i++}return{filePath:e,title:n,nodes:t,rawContent:s}}function b(e,s,t){let n=[],o=!1,i=0;for(let a of e){if(a.type==="heading"){if(a.content.toLowerCase().includes(s.toLowerCase())){if(!t||a.level===t){o=!0,i=a.level;continue}}else if(o&&a.level<=i)break}o&&n.push(a)}return n}function N(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}function ie(e){let s=e.replace(".md","").replace(/^\d+-/,""),t=s.match(/^([a-zA-Z\-]+)(.*)$/);return t?{name:t[1].toLowerCase(),displayName:t[2]||t[1]}:{name:s.toLowerCase(),displayName:s}}function ae(e){let s=e.split(C.sep);for(let t of s)if(t.includes("\u7EC4\u4EF6")||t.includes("UI"))return t.replace(/^\d+-/,"");return"\u5176\u4ED6"}function L(e){let s=[];if(e.length<2)return s;let t=e[0].map(r=>r.toLowerCase()),n=t.findIndex(r=>r.includes("\u53C2\u6570")||r.includes("name")||r.includes("\u5C5E\u6027")),o=t.findIndex(r=>r.includes("\u7C7B\u578B")||r.includes("type")),i=t.findIndex(r=>r.includes("\u9ED8\u8BA4")||r.includes("default")),a=t.findIndex(r=>r.includes("\u8BF4\u660E")||r.includes("\u63CF\u8FF0")||r.includes("description"));for(let r=1;r<e.length;r++){let l=e[r],p={name:n>=0&&l[n]?l[n].trim():"",type:o>=0&&l[o]?l[o].trim():"any",description:a>=0&&l[a]?l[a].trim():""};i>=0&&l[i]&&(p.default=l[i].trim()),p.name&&s.push(p)}return s}function le(e){let s=[];if(e.length<2)return s;let t=e[0].map(a=>a.toLowerCase()),n=t.findIndex(a=>a.includes("\u4E8B\u4EF6")||a.includes("name")||a.includes("\u540D")),o=t.findIndex(a=>a.includes("\u8BF4\u660E")||a.includes("\u63CF\u8FF0")),i=t.findIndex(a=>a.includes("\u53C2\u6570")||a.includes("\u56DE\u8C03"));for(let a=1;a<e.length;a++){let r=e[a],l={name:n>=0&&r[n]?r[n].trim():"",description:o>=0&&r[o]?r[o].trim():""};i>=0&&r[i]&&(l.params=r[i].trim()),l.name&&s.push(l)}return s}function pe(e){let s=N();if(e.length<2)return s;let t=e[0].map(i=>i.toLowerCase()),n=e[1],o=[{keywords:["ejs","h5 \u5E94\u7528","h5\u5E94\u7528"],key:"ejsH5"},{keywords:["\u65B0\u70B9\u5C0F\u7A0B\u5E8F","ejs\u5C0F\u7A0B\u5E8F"],key:"ejsMiniProgram"},{keywords:["h5"],key:"h5"},{keywords:["\u9489\u9489"],key:"dingtalk"},{keywords:["\u5FAE\u4FE1"],key:"wechat"},{keywords:["\u652F\u4ED8\u5B9D"],key:"alipay"},{keywords:["weex"],key:"weex"}];for(let i=0;i<t.length&&i<n.length;i++){let a=t[i],r=n[i].trim().toLowerCase();for(let{keywords:l,key:p}of o)if(l.some(c=>a.includes(c))){r==="\u652F\u6301"||r==="\u662F"||r==="true"||r==="yes"?s[p]=!0:r==="\u4E0D\u652F\u6301"||r==="\u5426"||r==="false"||r==="no"?s[p]=!1:r&&(s[p]=n[i].trim());break}}return s}function ce(e){let s=[],t="",n;for(let o of e)o.type==="heading"&&(t=o.content,o.content.includes("M8.3")||o.content.includes("vue2")?n="M8.3":(o.content.includes("M8.4")||o.content.includes("vue3"))&&(n="M8.4")),o.type==="code"&&o.language&&["html","vue","js","javascript","typescript"].includes(o.language.toLowerCase())&&s.push({title:t,code:o.content,language:o.language,frameworkVersion:n});return s}function ue(e){try{let s=j(e),t=C.basename(e),{name:n,displayName:o}=ie(t),i=ae(e),a="";for(let m of s.nodes)if(m.type==="paragraph"){a=m.content.split(`
8
- `)[0];break}let r=[],l=b(s.nodes,"props");for(let m of l)if(m.type==="table"&&m.rows){r=L(m.rows);break}if(r.length===0){let m=b(s.nodes,"api");for(let f of m)if(f.type==="table"&&f.rows){r=L(f.rows);break}}let p=[],c=b(s.nodes,"events");for(let m of c)if(m.type==="table"&&m.rows){p=le(m.rows);break}let u=N();for(let m of s.nodes)if(m.type==="table"&&m.rows&&m.rows.length>=2){let f=m.rows[0].join(" ").toLowerCase();if(f.includes("\u5E73\u53F0")||f.includes("ejs")||f.includes("\u5FAE\u4FE1")){u=pe(m.rows);break}}let d=ce(s.nodes);return{name:n,displayName:o||s.title||n,description:a||s.title,category:i,props:r,events:p,examples:d,platformSupport:u,filePath:e}}catch(s){return console.error(`[ComponentParser] \u89E3\u6790\u7EC4\u4EF6\u6587\u6863\u5931\u8D25: ${e}`,s),null}}function V(e){let s=[],t=k(e);for(let n of t)if(n.includes("UI\u7EC4\u4EF6")||n.includes("009-")){let o=ue(n);o&&s.push(o)}return s}import*as v from"path";function T(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}function fe(e){let t=v.basename(e,".md").match(/api_(\w+)/);if(t)return t[1];let o=v.basename(v.dirname(e)).match(/api_(\w+)/);return o?o[1]:"unknown"}function E(e){let s=[];if(e.length<2)return s;let t=e[0].map(r=>r.toLowerCase()),n=t.findIndex(r=>r.includes("\u53C2\u6570")||r.includes("name")),o=t.findIndex(r=>r.includes("\u7C7B\u578B")||r.includes("type")),i=t.findIndex(r=>r.includes("\u8BF4\u660E")||r.includes("\u63CF\u8FF0")),a=t.findIndex(r=>r.includes("\u5E73\u53F0")||r.includes("\u5DEE\u5F02"));for(let r=1;r<e.length;r++){let l=e[r],p={name:n>=0&&l[n]?l[n].trim():"",type:o>=0&&l[o]?l[o].trim():"any",description:i>=0&&l[i]?l[i].trim():""};a>=0&&l[a]&&(p.platformNote=l[a].trim()),(p.description.includes("\u5FC5\u586B")||p.description.includes("required"))&&(p.required=!0),p.name&&s.push(p)}return s}function me(e){if(e.length<2)return;let s=E(e);if(s.length!==0)return{type:"object",description:"\u8FD4\u56DE\u503C\u5BF9\u8C61",fields:s}}function de(e){let s=T();if(e.length<2)return s;let t=e[0].map(i=>i.toLowerCase()),n=e[1],o=[{keywords:["ejs\uFF08h5 \u5E94\u7528","ejs\uFF08h5\u5E94\u7528","ejs(h5"],key:"ejsH5"},{keywords:["\u65B0\u70B9\u5C0F\u7A0B\u5E8F","ejs\uFF08\u65B0\u70B9"],key:"ejsMiniProgram"},{keywords:["h5"],key:"h5"},{keywords:["\u9489\u9489"],key:"dingtalk"},{keywords:["\u5FAE\u4FE1"],key:"wechat"},{keywords:["\u652F\u4ED8\u5B9D"],key:"alipay"},{keywords:["weex"],key:"weex"}];for(let i=0;i<t.length&&i<n.length;i++){let a=t[i],r=n[i].trim().toLowerCase();for(let{keywords:l,key:p}of o)if(l.some(c=>a.includes(c))){r==="\u652F\u6301"||r.includes("\u652F\u6301")?s[p]=!0:r==="\u4E0D\u652F\u6301"||r.includes("\u4E0D\u652F\u6301")?s[p]=!1:r&&(s[p]=n[i].trim());break}}return s}function he(e){let s=[/支持版本[::]\s*[`><=]*\s*([\d.]+)/,/版本\s*[`><=]*\s*([\d.]+)\s*开始支持/,/ejs\s*[><=]+\s*([\d.]+[a-z]*)/i,/v([\d.]+)\s*版本/];for(let t of s){let n=e.match(t);if(n)return n[1]}}function ge(e){let s=[];try{let t=j(e),n=fe(e),o=null,i="",a=[];for(let r of t.nodes)r.type==="heading"&&r.level===2?(o&&o.name&&(O(o,a),s.push(o)),o={module:n,name:r.content.replace(/[`*]/g,"").trim(),description:"",params:[],examples:[],platformSupport:T(),filePath:e},a=[],i=""):r.type==="heading"&&r.level===3&&o?i=r.content.toLowerCase():o&&(a.push({...r,_section:i}),r.type==="paragraph"&&!o.description&&(o.description=r.content.split(`
9
- `)[0]));o&&o.name&&(O(o,a),s.push(o))}catch(t){console.error(`[EjsApiParser] \u89E3\u6790 API \u6587\u6863\u5931\u8D25: ${e}`,t)}return s}function O(e,s){for(let t of s){let n=t._section||"";if(t.type==="table"&&t.rows){let o=t.rows[0]?.join(" ").toLowerCase()||"";o.includes("\u5E73\u53F0")||o.includes("ejs")||o.includes("\u5FAE\u4FE1")?e.platformSupport=de(t.rows):n.includes("\u53C2\u6570")||o.includes("\u53C2\u6570")||o.includes("\u7C7B\u578B")?e.params=E(t.rows):(n.includes("\u8FD4\u56DE")||o.includes("\u8FD4\u56DE"))&&(e.returns=me(t.rows))}if(t.type==="code"&&t.language&&["js","javascript"].includes(t.language.toLowerCase())&&e.examples.push({title:n||"\u4F7F\u7528\u793A\u4F8B",code:t.content,language:t.language}),t.type==="paragraph"){let o=he(t.content);o&&!e.minVersion&&(e.minVersion=o)}}}function F(e){let s=[],t=k(e);for(let n of t){let o=v.basename(n);if(o.startsWith("api_")&&o.endsWith(".md")){let i=ge(n);s.push(...i)}}return s}async function W(e,s){console.error("[Index] \u5F00\u59CB\u6784\u5EFA\u7D22\u5F15..."),console.error(`[Index] EJS \u6587\u6863\u8DEF\u5F84: ${e}`),console.error(`[Index] M8 \u6587\u6863\u8DEF\u5F84: ${s}`);let t=V(s);console.error(`[Index] \u89E3\u6790\u5230 ${t.length} \u4E2A\u7EC4\u4EF6`);let n=F(e);console.error(`[Index] \u89E3\u6790\u5230 ${n.length} \u4E2A API`);let o={components:new Map,ejsApis:new Map,keywords:new Map,categories:new Map,buildTime:new Date};for(let i of t){let a=`component:${i.name}`;o.components.set(i.name,i);let r=_(i.name,i.displayName,i.description);for(let p of r){let c=o.keywords.get(p)||[];c.push(a),o.keywords.set(p,c)}let l=o.categories.get(i.category)||[];l.push(a),o.categories.set(i.category,l)}for(let i of n){let a=`api:${i.module}.${i.name}`;o.ejsApis.set(`${i.module}.${i.name}`,i);let r=_(i.name,i.module,i.description);for(let p of r){let c=o.keywords.get(p)||[];c.push(a),o.keywords.set(p,c)}let l=o.categories.get(`module:${i.module}`)||[];l.push(a),o.categories.set(`module:${i.module}`,l)}return console.error(`[Index] \u7D22\u5F15\u6784\u5EFA\u5B8C\u6210\uFF0C\u5173\u952E\u8BCD\u6570: ${o.keywords.size}`),o}function _(...e){let s=new Set;for(let t of e){if(!t)continue;let n=t.toLowerCase();s.add(n);let o=n.split(/[\s\-_,.,。、;:""''()【】]+/);for(let a of o)a.length>=2&&s.add(a);let i=t.match(/[\u4e00-\u9fa5]+/g);if(i)for(let a of i){s.add(a);for(let r of a)s.add(r)}}return Array.from(s)}function M(e,s,t){let n=e.toLowerCase(),o=s.toLowerCase();if(o===n)return 100;if(t&&o.includes(n))return 90;if(o.startsWith(n))return 80;if(o.includes(n))return 70;let i=0;for(let a of n)o.includes(a)&&i++;return Math.min(60,Math.floor(i/n.length*60))}function z(e,s){let n={ejsh5:"ejsH5",ejs:"ejsH5",ejsminiprogram:"ejsMiniProgram",h5:"h5",dingtalk:"dingtalk",wechat:"wechat",alipay:"alipay",weex:"weex"}[s.toLowerCase()];if(!n)return!0;let o=e[n];return o===!0||typeof o=="string"&&o.length>0}function P(e,s,t={}){let n=[],o=s.toLowerCase();for(let[i,a]of e.components){if(t.category&&a.category!==t.category||t.platform&&!z(a.platformSupport,t.platform))continue;let r=0;r=Math.max(r,M(s,i,!0)),r=Math.max(r,M(s,a.displayName,!0)),a.description.toLowerCase().includes(o)&&(r=Math.max(r,50)),e.keywords.get(o)?.includes(`component:${i}`)&&(r=Math.max(r,60)),r>0&&n.push({type:"component",id:`component:${i}`,name:i,displayName:a.displayName,description:a.description,score:r,platformSupport:a.platformSupport,category:a.category})}return n.sort((i,a)=>a.score-i.score),t.limit?n.slice(0,t.limit):n}function S(e,s,t={}){let n=[],o=s.toLowerCase();for(let[i,a]of e.ejsApis){if(t.module&&a.module!==t.module||t.platform&&!z(a.platformSupport,t.platform))continue;let r=0;r=Math.max(r,M(s,a.name,!0)),r=Math.max(r,M(s,`${a.module}.${a.name}`,!0)),a.module.toLowerCase()===o&&(r=Math.max(r,80)),a.description.toLowerCase().includes(o)&&(r=Math.max(r,50)),e.keywords.get(o)?.includes(`api:${i}`)&&(r=Math.max(r,60)),r>0&&n.push({type:"ejsApi",id:`api:${i}`,name:a.name,displayName:`ejs.${a.module}.${a.name}`,description:a.description,score:r,platformSupport:a.platformSupport,category:a.module})}return n.sort((i,a)=>a.score-i.score),t.limit?n.slice(0,t.limit):n}function H(e,s,t={}){let n=P(e,s,t),o=S(e,s,t),i=[...n,...o];return i.sort((a,r)=>r.score-a.score),t.limit?i.slice(0,t.limit):i}function J(e,s,t={}){return!s||s.trim().length===0?[]:P(e,s.trim(),{...t,limit:t.limit||20})}function R(e,s,t={}){return!s||s.trim().length===0?[]:S(e,s.trim(),{...t,limit:t.limit||20})}function U(e,s){if(!s||s.trim().length===0)return{found:!1,error:"\u8BF7\u63D0\u4F9B\u7EC4\u4EF6\u540D\u79F0"};let t=s.toLowerCase().trim(),n=e.components.get(t);if(n)return{found:!0,component:n};let o=[];for(let[i,a]of e.components)(i.includes(t)||t.includes(i)||a.displayName.toLowerCase().includes(t))&&o.push(i);return{found:!1,error:`\u672A\u627E\u5230\u7EC4\u4EF6: ${s}`,suggestions:o.slice(0,5)}}function K(e,s,t){if(!s||!t)return{found:!1,error:"\u8BF7\u63D0\u4F9B\u6A21\u5757\u540D\u548C API \u540D\u79F0"};let n=`${s.toLowerCase()}.${t.toLowerCase()}`,o=e.ejsApis.get(n);if(o){let a=[];for(let[r,l]of e.ejsApis)l.module===o.module&&r!==n&&a.push(l.name);return{found:!0,api:o,relatedApis:a.slice(0,5)}}let i=[];for(let[a,r]of e.ejsApis)(a.includes(t.toLowerCase())||r.name.toLowerCase().includes(t.toLowerCase()))&&i.push(`${r.module}.${r.name}`);return{found:!1,error:`\u672A\u627E\u5230 API: ejs.${s}.${t}`,suggestions:i.slice(0,5)}}var Y={\u8868\u5355:{components:["form","field","input"],apis:[]},\u8F93\u5165:{components:["field","input","textarea"],apis:[]},\u9009\u62E9:{components:["picker","select","radio","checkbox"],apis:["ui.select"]},\u65E5\u671F:{components:["datepicker","calendar"],apis:["ui.pickDate","ui.pickDateTime"]},\u65F6\u95F4:{components:["datepicker"],apis:["ui.pickTime","ui.pickDateTime"]},\u4E0A\u4F20:{components:["uploader"],apis:["io.chooseImage","io.uploadFile"]},\u6587\u4EF6:{components:["uploader"],apis:["io.chooseFile","io.downloadFile"]},\u5217\u8868:{components:["cell","minirefresh"],apis:[]},\u4E0B\u62C9\u5237\u65B0:{components:["minirefresh"],apis:[]},\u52A0\u8F7D\u66F4\u591A:{components:["minirefresh"],apis:[]},\u5F39\u7A97:{components:["dialog","popup"],apis:["ui.alert","ui.confirm"]},\u63D0\u793A:{components:["toast","notify"],apis:["ui.toast","ui.alert"]},\u786E\u8BA4:{components:["dialog"],apis:["ui.confirm"]},\u52A0\u8F7D:{components:["loading"],apis:["ui.showWaiting","ui.closeWaiting"]},\u5BFC\u822A:{components:["header","tabbar","tab"],apis:["navigator.push","navigator.pop"]},\u6807\u7B7E\u9875:{components:["tab"],apis:[]},\u5E95\u90E8\u680F:{components:["tabbar"],apis:[]},\u62CD\u7167:{components:[],apis:["device.camera","io.chooseImage"]},\u626B\u7801:{components:[],apis:["device.scan"]},\u5B9A\u4F4D:{components:["amap"],apis:["device.getLocation"]},\u5730\u56FE:{components:["amap"],apis:["device.getLocation"]},\u7535\u8BDD:{components:[],apis:["device.callPhone"]},\u5206\u4EAB:{components:[],apis:["device.sendTo"]},\u5B58\u50A8:{components:[],apis:["storage.setItem","storage.getItem"]},\u7F13\u5B58:{components:[],apis:["storage.setItem","storage.getItem","storage.clear"]},\u56FE\u7247:{components:["image","imagepreview"],apis:["io.chooseImage"]},\u8F6E\u64AD:{components:["swipe"],apis:[]},\u6B65\u9AA4:{components:["steps"],apis:[]},\u8FDB\u5EA6:{components:["progress","circle"],apis:[]},\u8BC4\u5206:{components:["rate"],apis:[]},\u641C\u7D22:{components:["search"],apis:[]},\u5F00\u5173:{components:["switch"],apis:[]},\u6ED1\u5757:{components:["slider"],apis:[]},\u6298\u53E0:{components:["collapse"],apis:[]},\u6807\u7B7E:{components:["tag"],apis:[]},\u5FBD\u6807:{components:["badge"],apis:[]},\u7A7A\u72B6\u6001:{components:["empty"],apis:[]},\u9AA8\u67B6\u5C4F:{components:["skeleton"],apis:[]}};function ye(e){let s=[],t=e.toLowerCase();for(let n of Object.keys(Y))t.includes(n)&&s.push(n);return s}function B(e,s){if(!s)return!0;let n={ejsh5:"ejsH5",ejs:"ejsH5",h5:"h5",wechat:"wechat",alipay:"alipay",dingtalk:"dingtalk"}[s.toLowerCase()];if(!n)return!0;let o=e[n];return o===!0||typeof o=="string"&&o.length>0}function G(e,s,t){let n=[],o=[],i=new Set,a=new Set,r=ye(s);for(let p of r){let c=Y[p];if(c){for(let u of c.components){if(i.has(u))continue;let d=e.components.get(u);d&&B(d.platformSupport,t)&&(i.add(u),n.push({type:"component",name:u,displayName:d.displayName,description:d.description,reason:`\u5339\u914D\u9700\u6C42\u5173\u952E\u8BCD: ${p}`,score:80,platformSupport:d.platformSupport}))}for(let u of c.apis){if(a.has(u))continue;let[d,m]=u.split("."),f=e.ejsApis.get(`${d}.${m}`);f&&B(f.platformSupport,t)&&(a.add(u),o.push({type:"ejsApi",name:f.name,displayName:`ejs.${f.module}.${f.name}`,description:f.description,reason:`\u5339\u914D\u9700\u6C42\u5173\u952E\u8BCD: ${p}`,score:80,platformSupport:f.platformSupport}))}}}if(n.length<3||o.length<2){let p=H(e,s,{limit:10,platform:t});for(let c of p)if(c.type==="component"&&!i.has(c.name)){if(n.length<5){i.add(c.name);let u=e.components.get(c.name);u&&n.push({type:"component",name:c.name,displayName:u.displayName,description:u.description,reason:"\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u641C\u7D22\u5339\u914D",score:c.score,platformSupport:u.platformSupport})}}else if(c.type==="ejsApi"&&!a.has(c.name)&&o.length<5){let u=c.id.replace("api:","");a.add(c.name);let d=e.ejsApis.get(u);d&&o.push({type:"ejsApi",name:d.name,displayName:`ejs.${d.module}.${d.name}`,description:d.description,reason:"\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u641C\u7D22\u5339\u914D",score:c.score,platformSupport:d.platformSupport})}}n.sort((p,c)=>c.score-p.score),o.sort((p,c)=>c.score-p.score);let l="";return n.length>0||o.length>0?(l=`\u6839\u636E\u60A8\u7684\u9700\u6C42"${s}"\uFF0C\u63A8\u8350\u4EE5\u4E0B\u65B9\u6848\uFF1A
10
-
11
- `,n.length>0&&(l+=`**UI \u7EC4\u4EF6\uFF1A** ${n.map(p=>p.displayName||p.name).join("\u3001")}
12
- `),o.length>0&&(l+=`**EJS API\uFF1A** ${o.map(p=>p.displayName).join("\u3001")}
13
- `),t&&(l+=`
14
- \u4EE5\u4E0A\u63A8\u8350\u5747\u652F\u6301 ${t} \u5E73\u53F0\u3002`)):l=`\u672A\u627E\u5230\u4E0E"${s}"\u76F4\u63A5\u76F8\u5173\u7684\u7EC4\u4EF6\u6216 API\uFF0C\u5EFA\u8BAE\u5C1D\u8BD5\u66F4\u5177\u4F53\u7684\u63CF\u8FF0\u6216\u4F7F\u7528\u641C\u7D22\u529F\u80FD\u3002`,{components:n,apis:o,summary:l}}function we(e,s,t){return s==="M8.4"?$e(e,t):ve(e,t)}function ve(e,s){let t=`ne-${e.name}`,n=`<template>
15
- <div class="${e.name}-container">
16
- <!-- ${e.displayName}\u7EC4\u4EF6 -->
17
- <${t}`,o=e.props.slice(0,3);for(let r of o)r.name==="value"||r.name==="v-model"?n+=`
18
- v-model="${e.name}Value"`:r.type==="boolean"?n+=`
19
- :${r.name}="${r.default||"false"}"`:r.type==="string"&&(n+=`
20
- ${r.name}="${r.default||""}"`);if(e.events.length>0){let r=e.events[0];n+=`
21
- @${r.name}="on${g(r.name)}"`}n+=`
2
+ import{McpServer as dt}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as mt}from"@modelcontextprotocol/sdk/server/stdio.js";import{z as h}from"zod";import{fileURLToPath as ht}from"url";import{dirname as gt,join as Ce}from"path";import{existsSync as yt}from"fs";import*as A from"path";import*as k from"fs";import*as W from"path";function be(t){try{return k.readFileSync(t,"utf-8")}catch(e){return console.error(`[Parser] \u8BFB\u53D6\u6587\u4EF6\u5931\u8D25: ${t}`,e),""}}function v(t){let e=[];try{if(!k.existsSync(t))return console.error(`[Parser] \u76EE\u5F55\u4E0D\u5B58\u5728: ${t}`),e;let s=k.readdirSync(t,{withFileTypes:!0});for(let o of s){let r=W.join(t,o.name);o.isDirectory()?e.push(...v(r)):o.isFile()&&o.name.endsWith(".md")&&e.push(r)}}catch(s){console.error(`[Parser] \u626B\u63CF\u76EE\u5F55\u5931\u8D25: ${t}`,s)}return e}function Ae(t){let e=[];for(let s of t){if(/^\|[\s\-:]+\|$/.test(s.trim()))continue;let o=s.split("|").map(r=>r.trim()).filter(r=>r!=="");o.length>0&&e.push(o)}return e}function j(t){let e=be(t),s=[],o="",r=e.split(`
3
+ `),n=0;for(;n<r.length;){let i=r[n],a=i.match(/^(#{1,6})\s+(.+)$/);if(a){let l=a[1].length,p=a[2].trim();l===1&&!o&&(o=p),s.push({type:"heading",level:l,content:p}),n++;continue}if(i.startsWith("```")){let l=i.slice(3).trim(),p=[];for(n++;n<r.length&&!r[n].startsWith("```");)p.push(r[n]),n++;s.push({type:"code",content:p.join(`
4
+ `),language:l||"text"}),n++;continue}if(i.startsWith("|")){let l=[i];for(n++;n<r.length&&r[n].startsWith("|");)l.push(r[n]),n++;let p=Ae(l);s.push({type:"table",content:l.join(`
5
+ `),rows:p});continue}if(/^[\-\*\+]\s/.test(i)||/^\d+\.\s/.test(i)){let l=[i];for(n++;n<r.length&&(/^[\-\*\+]\s/.test(r[n])||/^\d+\.\s/.test(r[n])||/^\s+/.test(r[n]));)l.push(r[n]),n++;s.push({type:"list",content:l.join(`
6
+ `)});continue}if(i.trim()){let l=[i];for(n++;n<r.length&&r[n].trim()&&!r[n].startsWith("#")&&!r[n].startsWith("```")&&!r[n].startsWith("|");)l.push(r[n]),n++;s.push({type:"paragraph",content:l.join(`
7
+ `)});continue}n++}return{filePath:t,title:o,nodes:s,rawContent:e}}function b(t,e,s){let o=[],r=!1,n=0;for(let i of t){if(i.type==="heading"){if(i.content.toLowerCase().includes(e.toLowerCase())){if(!s||i.level===s){r=!0,n=i.level;continue}}else if(r&&i.level<=n)break}r&&o.push(i)}return o}function z(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}function Ie(t){let e=t.replace(".md","").replace(/^\d+-/,""),s=e.match(/^([a-zA-Z\-]+)(.*)$/);return s?{name:s[1].toLowerCase(),displayName:s[2]||s[1]}:{name:e.toLowerCase(),displayName:e}}function De(t){let e=t.split(A.sep);for(let s of e)if(s.includes("\u7EC4\u4EF6")||s.includes("UI"))return s.replace(/^\d+-/,"");return"\u5176\u4ED6"}function F(t){let e=[];if(t.length<2)return e;let s=t[0].map(a=>a.toLowerCase()),o=s.findIndex(a=>a.includes("\u53C2\u6570")||a.includes("name")||a.includes("\u5C5E\u6027")),r=s.findIndex(a=>a.includes("\u7C7B\u578B")||a.includes("type")),n=s.findIndex(a=>a.includes("\u9ED8\u8BA4")||a.includes("default")),i=s.findIndex(a=>a.includes("\u8BF4\u660E")||a.includes("\u63CF\u8FF0")||a.includes("description"));for(let a=1;a<t.length;a++){let l=t[a],p={name:o>=0&&l[o]?l[o].trim():"",type:r>=0&&l[r]?l[r].trim():"any",description:i>=0&&l[i]?l[i].trim():""};n>=0&&l[n]&&(p.default=l[n].trim()),p.name&&e.push(p)}return e}function Le(t){let e=[];if(t.length<2)return e;let s=t[0].map(i=>i.toLowerCase()),o=s.findIndex(i=>i.includes("\u4E8B\u4EF6")||i.includes("name")||i.includes("\u540D")),r=s.findIndex(i=>i.includes("\u8BF4\u660E")||i.includes("\u63CF\u8FF0")),n=s.findIndex(i=>i.includes("\u53C2\u6570")||i.includes("\u56DE\u8C03"));for(let i=1;i<t.length;i++){let a=t[i],l={name:o>=0&&a[o]?a[o].trim():"",description:r>=0&&a[r]?a[r].trim():""};n>=0&&a[n]&&(l.params=a[n].trim()),l.name&&e.push(l)}return e}function Ue(t){let e=z();if(t.length<2)return e;let s=t[0].map(n=>n.toLowerCase()),o=t[1],r=[{keywords:["ejs","h5 \u5E94\u7528","h5\u5E94\u7528"],key:"ejsH5"},{keywords:["\u65B0\u70B9\u5C0F\u7A0B\u5E8F","ejs\u5C0F\u7A0B\u5E8F"],key:"ejsMiniProgram"},{keywords:["h5"],key:"h5"},{keywords:["\u9489\u9489"],key:"dingtalk"},{keywords:["\u5FAE\u4FE1"],key:"wechat"},{keywords:["\u652F\u4ED8\u5B9D"],key:"alipay"},{keywords:["weex"],key:"weex"}];for(let n=0;n<s.length&&n<o.length;n++){let i=s[n],a=o[n].trim().toLowerCase();for(let{keywords:l,key:p}of r)if(l.some(u=>i.includes(u))){a==="\u652F\u6301"||a==="\u662F"||a==="true"||a==="yes"?e[p]=!0:a==="\u4E0D\u652F\u6301"||a==="\u5426"||a==="false"||a==="no"?e[p]=!1:a&&(e[p]=o[n].trim());break}}return e}function Ne(t){let e=[],s="",o;for(let r of t)r.type==="heading"&&(s=r.content,r.content.includes("M8.3")||r.content.includes("vue2")?o="M8.3":(r.content.includes("M8.4")||r.content.includes("vue3"))&&(o="M8.4")),r.type==="code"&&r.language&&["html","vue","js","javascript","typescript"].includes(r.language.toLowerCase())&&e.push({title:s,code:r.content,language:r.language,frameworkVersion:o});return e}function Ve(t){try{let e=j(t),s=A.basename(t),{name:o,displayName:r}=Ie(s),n=De(t),i="";for(let f of e.nodes)if(f.type==="paragraph"){i=f.content.split(`
8
+ `)[0];break}let a=[],l=b(e.nodes,"props");for(let f of l)if(f.type==="table"&&f.rows){a=F(f.rows);break}if(a.length===0){let f=b(e.nodes,"api");for(let m of f)if(m.type==="table"&&m.rows){a=F(m.rows);break}}let p=[],u=b(e.nodes,"events");for(let f of u)if(f.type==="table"&&f.rows){p=Le(f.rows);break}let c=z();for(let f of e.nodes)if(f.type==="table"&&f.rows&&f.rows.length>=2){let m=f.rows[0].join(" ").toLowerCase();if(m.includes("\u5E73\u53F0")||m.includes("ejs")||m.includes("\u5FAE\u4FE1")){c=Ue(f.rows);break}}let d=Ne(e.nodes);return{name:o,displayName:r||e.title||o,description:i||e.title,category:n,props:a,events:p,examples:d,platformSupport:c,filePath:t}}catch(e){return console.error(`[ComponentParser] \u89E3\u6790\u7EC4\u4EF6\u6587\u6863\u5931\u8D25: ${t}`,e),null}}function J(t){let e=[],s=v(t);for(let o of s)if(o.includes("UI\u7EC4\u4EF6")||o.includes("009-")){let r=Ve(o);r&&e.push(r)}return e}import*as M from"path";function B(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}function Te(t){let s=M.basename(t,".md").match(/api_(\w+)/);if(s)return s[1];let r=M.basename(M.dirname(t)).match(/api_(\w+)/);return r?r[1]:"unknown"}function K(t){let e=[];if(t.length<2)return e;let s=t[0].map(a=>a.toLowerCase()),o=s.findIndex(a=>a.includes("\u53C2\u6570")||a.includes("name")),r=s.findIndex(a=>a.includes("\u7C7B\u578B")||a.includes("type")),n=s.findIndex(a=>a.includes("\u8BF4\u660E")||a.includes("\u63CF\u8FF0")),i=s.findIndex(a=>a.includes("\u5E73\u53F0")||a.includes("\u5DEE\u5F02"));for(let a=1;a<t.length;a++){let l=t[a],p={name:o>=0&&l[o]?l[o].trim():"",type:r>=0&&l[r]?l[r].trim():"any",description:n>=0&&l[n]?l[n].trim():""};i>=0&&l[i]&&(p.platformNote=l[i].trim()),(p.description.includes("\u5FC5\u586B")||p.description.includes("required"))&&(p.required=!0),p.name&&e.push(p)}return e}function Oe(t){if(t.length<2)return;let e=K(t);if(e.length!==0)return{type:"object",description:"\u8FD4\u56DE\u503C\u5BF9\u8C61",fields:e}}function Ee(t){let e=B();if(t.length<2)return e;let s=t[0].map(n=>n.toLowerCase()),o=t[1],r=[{keywords:["ejs\uFF08h5 \u5E94\u7528","ejs\uFF08h5\u5E94\u7528","ejs(h5"],key:"ejsH5"},{keywords:["\u65B0\u70B9\u5C0F\u7A0B\u5E8F","ejs\uFF08\u65B0\u70B9"],key:"ejsMiniProgram"},{keywords:["h5"],key:"h5"},{keywords:["\u9489\u9489"],key:"dingtalk"},{keywords:["\u5FAE\u4FE1"],key:"wechat"},{keywords:["\u652F\u4ED8\u5B9D"],key:"alipay"},{keywords:["weex"],key:"weex"}];for(let n=0;n<s.length&&n<o.length;n++){let i=s[n],a=o[n].trim().toLowerCase();for(let{keywords:l,key:p}of r)if(l.some(u=>i.includes(u))){a==="\u652F\u6301"||a.includes("\u652F\u6301")?e[p]=!0:a==="\u4E0D\u652F\u6301"||a.includes("\u4E0D\u652F\u6301")?e[p]=!1:a&&(e[p]=o[n].trim());break}}return e}function _e(t){let e=[/支持版本[::]\s*[`><=]*\s*([\d.]+)/,/版本\s*[`><=]*\s*([\d.]+)\s*开始支持/,/ejs\s*[><=]+\s*([\d.]+[a-z]*)/i,/v([\d.]+)\s*版本/];for(let s of e){let o=t.match(s);if(o)return o[1]}}function He(t){let e=[];try{let s=j(t),o=Te(t),r=null,n="",i=[];for(let a of s.nodes)a.type==="heading"&&a.level===2?(r&&r.name&&(R(r,i),e.push(r)),r={module:o,name:a.content.replace(/[`*]/g,"").trim(),description:"",params:[],examples:[],platformSupport:B(),filePath:t},i=[],n=""):a.type==="heading"&&a.level===3&&r?n=a.content.toLowerCase():r&&(i.push({...a,_section:n}),a.type==="paragraph"&&!r.description&&(r.description=a.content.split(`
9
+ `)[0]));r&&r.name&&(R(r,i),e.push(r))}catch(s){console.error(`[EjsApiParser] \u89E3\u6790 API \u6587\u6863\u5931\u8D25: ${t}`,s)}return e}function R(t,e){for(let s of e){let o=s._section||"";if(s.type==="table"&&s.rows){let r=s.rows[0]?.join(" ").toLowerCase()||"";r.includes("\u5E73\u53F0")||r.includes("ejs")||r.includes("\u5FAE\u4FE1")?t.platformSupport=Ee(s.rows):o.includes("\u53C2\u6570")||r.includes("\u53C2\u6570")||r.includes("\u7C7B\u578B")?t.params=K(s.rows):(o.includes("\u8FD4\u56DE")||r.includes("\u8FD4\u56DE"))&&(t.returns=Oe(s.rows))}if(s.type==="code"&&s.language&&["js","javascript"].includes(s.language.toLowerCase())&&t.examples.push({title:o||"\u4F7F\u7528\u793A\u4F8B",code:s.content,language:s.language}),s.type==="paragraph"){let r=_e(s.content);r&&!t.minVersion&&(t.minVersion=r)}}}function G(t){let e=[],s=v(t);for(let o of s){let r=M.basename(o);if(r.startsWith("api_")&&r.endsWith(".md")){let n=He(o);e.push(...n)}}return e}function Y(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}function We(t){let e=t.replace(/\\/g,"/");return e.includes("005-\u6838\u5FC3\u901A\u7528Util")?"\u6838\u5FC3\u901A\u7528Util":e.includes("006-Util\u5DE5\u5177\u96C6")?"Util\u5DE5\u5177\u96C6":e.includes("009-UI\u7EC4\u4EF6")?"UI\u7EC4\u4EF6":e.includes("003-\u5178\u578B\u6848\u4F8B")?"\u5178\u578B\u6848\u4F8B":e.includes("002-\u89C4\u8303\u4E0E\u6A21\u5F0F")?"\u89C4\u8303\u4E0E\u6A21\u5F0F":e.includes("017-\u5185\u7F6E\u7EC4\u4EF6")?"\u5185\u7F6E\u7EC4\u4EF6":e.includes("018-EPUI\u7EC4\u4EF6")?"EPUI\u7EC4\u4EF6":"\u5176\u4ED6"}function L(t){let e=[];if(t.length<2)return e;let s=t[0].map(l=>l.toLowerCase()),o=s.findIndex(l=>l.includes("\u53C2\u6570")||l.includes("name")),r=s.findIndex(l=>l.includes("\u7C7B\u578B")||l.includes("type")),n=s.findIndex(l=>l.includes("\u8BF4\u660E")||l.includes("\u63CF\u8FF0")),i=s.findIndex(l=>l.includes("\u5E73\u53F0")||l.includes("\u5DEE\u5F02")),a=s.findIndex(l=>l.includes("\u9ED8\u8BA4"));for(let l=1;l<t.length;l++){let p=t[l],u={name:o>=0&&p[o]?p[o].trim().replace(/`/g,""):"",type:r>=0&&p[r]?p[r].trim():"any",description:n>=0&&p[n]?p[n].trim():""};i>=0&&p[i]&&(u.platformNote=p[i].trim()),a>=0&&p[a]&&(u.default=p[a].trim()),(u.description.includes("\u5FC5\u586B")||u.description.includes("required"))&&(u.required=!0),u.name&&e.push(u)}return e}function Fe(t){if(t.length<2)return;let e=L(t);if(e.length!==0)return{type:"object",description:"\u8FD4\u56DE\u503C\u5BF9\u8C61",fields:e}}function ze(t){let e=Y();if(t.length<2)return e;let s=t[0].map(n=>n.toLowerCase()),o=t[1],r=[{keywords:["h5","ejs h5","ejs\uFF08h5"],key:"h5"},{keywords:["\u65B0\u70B9\u5C0F\u7A0B\u5E8F","ejs\u5C0F\u7A0B\u5E8F"],key:"ejsMiniProgram"},{keywords:["\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F","\u5FAE\u4FE1"],key:"wechat"},{keywords:["\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F","\u652F\u4ED8\u5B9D"],key:"alipay"},{keywords:["\u9489\u9489"],key:"dingtalk"},{keywords:["weex"],key:"weex"}];for(let n=0;n<s.length&&n<o.length;n++){let i=s[n],a=o[n].trim();for(let{keywords:l,key:p}of r)if(l.some(u=>i.includes(u))){a==="\u221A"||a==="\u2713"||a.includes("\u652F\u6301")?e[p]=!0:a==="x"||a==="\xD7"||a.includes("\u4E0D\u652F\u6301")?e[p]=!1:a&&(e[p]=a);break}}return e}function Je(t){let e=[/`?v?([\d.]+)`?\s*版本/,/版本\s*`?v?([\d.]+)`?/,/`v([\d.]+[a-z\-\.]*)`/i];for(let s of e){let o=t.match(s);if(o)return o[1]}}function Re(t){return{isM84:t.includes("::: ifdef M84")||t.includes("ifdef M84"),isM83:t.includes("::: ifdef M83")||t.includes("ifdef M83")}}function Be(t){let e=[];try{let s=j(t),o=We(t),r=null,n="",i=[],a="";for(let l of s.nodes){if(l.type==="heading"&&l.level===1){a=l.content;continue}if(l.type==="heading"&&(l.level===2||l.level===3)){let p=l.content.replace(/[`*()]/g,"").trim();if((l.content.includes("(")||/^[a-z]/.test(p)||p.includes("Util."))&&l.level<=3){r&&r.name&&(Q(r,i),e.push(r));let c=p;c.includes("(")&&(c=c.split("(")[0].trim()),c.includes("Util.")&&(c=c.replace("Util.","")),r={name:c,fullName:`Util.${c}`,category:o,description:"",params:[],examples:[],platformSupport:Y(),filePath:t,usageScenario:a},i=[],n=""}else n=p.toLowerCase()}else r&&(i.push({...l,_section:n}),l.type==="paragraph"&&!r.description&&(r.description=l.content.split(`
10
+ `)[0]))}r&&r.name&&(Q(r,i),e.push(r))}catch(s){console.error(`[UtilParser] \u89E3\u6790 Util \u6587\u6863\u5931\u8D25: ${t}`,s)}return e}function Q(t,e){for(let s of e){let o=s._section||"";if(s.type==="table"&&s.rows){let r=s.rows[0]?.join(" ").toLowerCase()||"";r.includes("h5")||r.includes("\u5C0F\u7A0B\u5E8F")||r.includes("\u5FAE\u4FE1")?s.rows.length===2?t.platformSupport=ze(s.rows):(o.includes("\u53C2\u6570")||r.includes("\u53C2\u6570")||r.includes("\u7C7B\u578B"))&&(t.params=L(s.rows)):o.includes("\u53C2\u6570")||r.includes("\u53C2\u6570")||r.includes("\u7C7B\u578B")?t.params=L(s.rows):(o.includes("\u8FD4\u56DE")||r.includes("\u8FD4\u56DE"))&&(t.returns=Fe(s.rows))}if(s.type==="code"&&s.language&&["js","javascript","ts","typescript","html","vue"].includes(s.language.toLowerCase())){let r={title:o||"\u4F7F\u7528\u793A\u4F8B",code:s.content,language:s.language},n=Re(s.content);n.isM84?r.frameworkVersion="M8.4":n.isM83&&(r.frameworkVersion="M8.3"),t.examples.push(r)}if(s.type==="paragraph"){let r=Je(s.content);r&&!t.version&&(t.version=r)}}}function q(t){let e=[],s=v(t),o=["005-\u6838\u5FC3\u901A\u7528Util","006-Util\u5DE5\u5177\u96C6"];for(let r of s){let n=r.replace(/\\/g,"/");if(o.some(i=>n.includes(i))){let i=Be(r);e.push(...i)}}return e}function Z(t){let e=[t.name.toLowerCase(),t.fullName.toLowerCase()],s={ajax:["\u8BF7\u6C42","\u63A5\u53E3","http","request","fetch","post","get","\u8C03\u7528\u63A5\u53E3"],upload:["\u4E0A\u4F20","\u6587\u4EF6\u4E0A\u4F20","\u56FE\u7247\u4E0A\u4F20","file"],ajaxAll:["\u5E76\u53D1\u8BF7\u6C42","\u591A\u4E2A\u8BF7\u6C42","promise.all"],date:["\u65E5\u671F","\u65F6\u95F4","time","format"],string:["\u5B57\u7B26\u4E32","str","text"],storage:["\u5B58\u50A8","\u7F13\u5B58","cache","localstorage"],base64:["\u7F16\u7801","\u89E3\u7801","encode","decode"],sha1:["\u52A0\u5BC6","hash","\u7B7E\u540D"],sha256:["\u52A0\u5BC6","hash","\u7B7E\u540D"],cookie:["cookie","\u4F1A\u8BDD"]};if(s[t.name.toLowerCase()]&&e.push(...s[t.name.toLowerCase()]),t.description){let o=t.description.replace(/[,。、;:""''()【】]/g," ").split(/\s+/).filter(r=>r.length>=2);e.push(...o.slice(0,5))}return[...new Set(e)]}async function ee(t,e){console.error("[Index] \u5F00\u59CB\u6784\u5EFA\u7D22\u5F15..."),console.error(`[Index] EJS \u6587\u6863\u8DEF\u5F84: ${t}`),console.error(`[Index] M8 \u6587\u6863\u8DEF\u5F84: ${e}`);let s=J(e);console.error(`[Index] \u89E3\u6790\u5230 ${s.length} \u4E2A\u7EC4\u4EF6`);let o=G(t);console.error(`[Index] \u89E3\u6790\u5230 ${o.length} \u4E2A API`);let r=q(e);console.error(`[Index] \u89E3\u6790\u5230 ${r.length} \u4E2A Util \u65B9\u6CD5`);let n={components:new Map,ejsApis:new Map,utilMethods:new Map,standards:new Map,keywords:new Map,categories:new Map,buildTime:new Date};for(let i of s){let a=`component:${i.name}`;n.components.set(i.name,i);let l=X(i.name,i.displayName,i.description);for(let u of l){let c=n.keywords.get(u)||[];c.push(a),n.keywords.set(u,c)}let p=n.categories.get(i.category)||[];p.push(a),n.categories.set(i.category,p)}for(let i of o){let a=`api:${i.module}.${i.name}`;n.ejsApis.set(`${i.module}.${i.name}`,i);let l=X(i.name,i.module,i.description);for(let u of l){let c=n.keywords.get(u)||[];c.push(a),n.keywords.set(u,c)}let p=n.categories.get(`module:${i.module}`)||[];p.push(a),n.categories.set(`module:${i.module}`,p)}for(let i of r){let a=`util:${i.name}`;n.utilMethods.set(i.name.toLowerCase(),i);let l=Z(i);for(let u of l){let c=n.keywords.get(u)||[];c.push(a),n.keywords.set(u,c)}let p=n.categories.get(`util:${i.category}`)||[];p.push(a),n.categories.set(`util:${i.category}`,p)}return console.error(`[Index] \u7D22\u5F15\u6784\u5EFA\u5B8C\u6210\uFF0C\u5173\u952E\u8BCD\u6570: ${n.keywords.size}`),n}function X(...t){let e=new Set;for(let s of t){if(!s)continue;let o=s.toLowerCase();e.add(o);let r=o.split(/[\s\-_,.,。、;:""''()【】]+/);for(let i of r)i.length>=2&&e.add(i);let n=s.match(/[\u4e00-\u9fa5]+/g);if(n)for(let i of n){e.add(i);for(let a of i)e.add(a)}}return Array.from(e)}function S(t,e,s){let o=t.toLowerCase(),r=e.toLowerCase();if(r===o)return 100;if(s&&r.includes(o))return 90;if(r.startsWith(o))return 80;if(r.includes(o))return 70;let n=0;for(let i of o)r.includes(i)&&n++;return Math.min(60,Math.floor(n/o.length*60))}function U(t,e){let o={ejsh5:"ejsH5",ejs:"ejsH5",ejsminiprogram:"ejsMiniProgram",h5:"h5",dingtalk:"dingtalk",wechat:"wechat",alipay:"alipay",weex:"weex"}[e.toLowerCase()];if(!o)return!0;let r=t[o];return r===!0||typeof r=="string"&&r.length>0}function N(t,e,s={}){let o=[],r=e.toLowerCase();for(let[n,i]of t.components){if(s.category&&i.category!==s.category||s.platform&&!U(i.platformSupport,s.platform))continue;let a=0;a=Math.max(a,S(e,n,!0)),a=Math.max(a,S(e,i.displayName,!0)),i.description.toLowerCase().includes(r)&&(a=Math.max(a,50)),t.keywords.get(r)?.includes(`component:${n}`)&&(a=Math.max(a,60)),a>0&&o.push({type:"component",id:`component:${n}`,name:n,displayName:i.displayName,description:i.description,score:a,platformSupport:i.platformSupport,category:i.category})}return o.sort((n,i)=>i.score-n.score),s.limit?o.slice(0,s.limit):o}function V(t,e,s={}){let o=[],r=e.toLowerCase();for(let[n,i]of t.ejsApis){if(s.module&&i.module!==s.module||s.platform&&!U(i.platformSupport,s.platform))continue;let a=0;a=Math.max(a,S(e,i.name,!0)),a=Math.max(a,S(e,`${i.module}.${i.name}`,!0)),i.module.toLowerCase()===r&&(a=Math.max(a,80)),i.description.toLowerCase().includes(r)&&(a=Math.max(a,50)),t.keywords.get(r)?.includes(`api:${n}`)&&(a=Math.max(a,60)),a>0&&o.push({type:"ejsApi",id:`api:${n}`,name:i.name,displayName:`ejs.${i.module}.${i.name}`,description:i.description,score:a,platformSupport:i.platformSupport,category:i.module})}return o.sort((n,i)=>i.score-n.score),s.limit?o.slice(0,s.limit):o}function T(t,e,s={}){let o=[],r=e.toLowerCase(),n=["ajax","\u8BF7\u6C42","http","request","fetch","post","get","\u63A5\u53E3","\u8C03\u7528\u63A5\u53E3"],i=["\u4E0A\u4F20","upload","\u6587\u4EF6\u4E0A\u4F20","\u56FE\u7247\u4E0A\u4F20"],a=n.some(p=>r.includes(p)),l=i.some(p=>r.includes(p));for(let[p,u]of t.utilMethods){if(s.category&&u.category!==s.category||s.platform&&!U(u.platformSupport,s.platform))continue;let c=0;c=Math.max(c,S(e,p,!0)),c=Math.max(c,S(e,u.fullName,!0)),u.description.toLowerCase().includes(r)&&(c=Math.max(c,50)),t.keywords.get(r)?.includes(`util:${p}`)&&(c=Math.max(c,60)),a&&p==="ajax"&&(c=Math.max(c,95)),l&&p==="upload"&&(c=Math.max(c,95)),c>0&&o.push({type:"util",id:`util:${p}`,name:u.name,displayName:u.fullName,description:u.description,score:c,platformSupport:u.platformSupport,category:u.category})}return o.sort((p,u)=>u.score-p.score),s.limit?o.slice(0,s.limit):o}function te(t,e,s={}){let o=N(t,e,s),r=V(t,e,s),i=[...T(t,e,s),...o,...r];return i.sort((a,l)=>l.score-a.score),s.limit?i.slice(0,s.limit):i}function se(t,e,s={}){return!e||e.trim().length===0?[]:N(t,e.trim(),{...s,limit:s.limit||20})}function oe(t,e,s={}){return!e||e.trim().length===0?[]:V(t,e.trim(),{...s,limit:s.limit||20})}function re(t,e){if(!e||e.trim().length===0)return{found:!1,error:"\u8BF7\u63D0\u4F9B\u7EC4\u4EF6\u540D\u79F0"};let s=e.toLowerCase().trim(),o=t.components.get(s);if(o)return{found:!0,component:o};let r=[];for(let[n,i]of t.components)(n.includes(s)||s.includes(n)||i.displayName.toLowerCase().includes(s))&&r.push(n);return{found:!1,error:`\u672A\u627E\u5230\u7EC4\u4EF6: ${e}`,suggestions:r.slice(0,5)}}function ne(t,e,s){if(!e||!s)return{found:!1,error:"\u8BF7\u63D0\u4F9B\u6A21\u5757\u540D\u548C API \u540D\u79F0"};let o=`${e.toLowerCase()}.${s.toLowerCase()}`,r=t.ejsApis.get(o);if(r){let i=[];for(let[a,l]of t.ejsApis)l.module===r.module&&a!==o&&i.push(l.name);return{found:!0,api:r,relatedApis:i.slice(0,5)}}let n=[];for(let[i,a]of t.ejsApis)(i.includes(s.toLowerCase())||a.name.toLowerCase().includes(s.toLowerCase()))&&n.push(`${a.module}.${a.name}`);return{found:!1,error:`\u672A\u627E\u5230 API: ejs.${e}.${s}`,suggestions:n.slice(0,5)}}var ie={ajax:{components:[],apis:[],utils:["ajax"]},\u8BF7\u6C42:{components:[],apis:[],utils:["ajax"]},http:{components:[],apis:[],utils:["ajax"]},\u63A5\u53E3:{components:[],apis:[],utils:["ajax"]},\u8C03\u7528\u63A5\u53E3:{components:[],apis:[],utils:["ajax"]},fetch:{components:[],apis:[],utils:["ajax"]},post:{components:[],apis:[],utils:["ajax"]},get\u8BF7\u6C42:{components:[],apis:[],utils:["ajax"]},\u8868\u5355:{components:["form","field","input"],apis:[],utils:[]},\u8F93\u5165:{components:["field","input","textarea"],apis:[],utils:[]},\u9009\u62E9:{components:["picker","select","radio","checkbox"],apis:["ui.select"],utils:[]},\u65E5\u671F:{components:["datepicker","calendar"],apis:["ui.pickDate","ui.pickDateTime"],utils:["date"]},\u65F6\u95F4:{components:["datepicker"],apis:["ui.pickTime","ui.pickDateTime"],utils:["date"]},\u4E0A\u4F20:{components:["uploader"],apis:[],utils:["upload"]},\u6587\u4EF6:{components:["uploader"],apis:["io.chooseFile","io.downloadFile"],utils:["upload"]},\u6587\u4EF6\u4E0A\u4F20:{components:["uploader"],apis:[],utils:["upload"]},\u56FE\u7247\u4E0A\u4F20:{components:["uploader"],apis:["io.chooseImage"],utils:["upload"]},\u5217\u8868:{components:["cell","minirefresh"],apis:[],utils:[]},\u4E0B\u62C9\u5237\u65B0:{components:["minirefresh"],apis:[],utils:[]},\u52A0\u8F7D\u66F4\u591A:{components:["minirefresh"],apis:[],utils:[]},\u5F39\u7A97:{components:["dialog","popup"],apis:["ui.alert","ui.confirm"],utils:[]},\u63D0\u793A:{components:["toast","notify"],apis:["ui.toast","ui.alert"],utils:[]},\u786E\u8BA4:{components:["dialog"],apis:["ui.confirm"],utils:[]},\u52A0\u8F7D:{components:["loading"],apis:["ui.showWaiting","ui.closeWaiting"],utils:[]},\u5BFC\u822A:{components:["header","tabbar","tab"],apis:["navigator.push","navigator.pop"],utils:[]},\u6807\u7B7E\u9875:{components:["tab"],apis:[],utils:[]},\u5E95\u90E8\u680F:{components:["tabbar"],apis:[],utils:[]},\u62CD\u7167:{components:[],apis:["device.camera","io.chooseImage"],utils:[]},\u626B\u7801:{components:[],apis:["device.scan"],utils:[]},\u5B9A\u4F4D:{components:["amap"],apis:["device.getLocation"],utils:[]},\u5730\u56FE:{components:["amap"],apis:["device.getLocation"],utils:[]},\u7535\u8BDD:{components:[],apis:["device.callPhone"],utils:[]},\u5206\u4EAB:{components:[],apis:["device.sendTo"],utils:[]},\u5B58\u50A8:{components:[],apis:["storage.setItem","storage.getItem"],utils:["storage"]},\u7F13\u5B58:{components:[],apis:["storage.setItem","storage.getItem","storage.clear"],utils:["storage"]},\u65E5\u671F\u683C\u5F0F:{components:[],apis:[],utils:["date"]},\u5B57\u7B26\u4E32:{components:[],apis:[],utils:["string"]},\u52A0\u5BC6:{components:[],apis:[],utils:["sha1","sha256","base64"]},\u7F16\u7801:{components:[],apis:[],utils:["base64","charset"]},\u56FE\u7247:{components:["image","imagepreview"],apis:["io.chooseImage"],utils:[]},\u8F6E\u64AD:{components:["swipe"],apis:[],utils:[]},\u6B65\u9AA4:{components:["steps"],apis:[],utils:[]},\u8FDB\u5EA6:{components:["progress","circle"],apis:[],utils:[]},\u8BC4\u5206:{components:["rate"],apis:[],utils:[]},\u641C\u7D22:{components:["search"],apis:[],utils:[]},\u5F00\u5173:{components:["switch"],apis:[],utils:[]},\u6ED1\u5757:{components:["slider"],apis:[],utils:[]},\u6298\u53E0:{components:["collapse"],apis:[],utils:[]},\u6807\u7B7E:{components:["tag"],apis:[],utils:[]},\u5FBD\u6807:{components:["badge"],apis:[],utils:[]},\u7A7A\u72B6\u6001:{components:["empty"],apis:[],utils:[]},\u9AA8\u67B6\u5C4F:{components:["skeleton"],apis:[],utils:[]}},Ke={ajax:"\u63A8\u8350\u4F7F\u7528 Util.ajax \u8FDB\u884C HTTP \u8BF7\u6C42\uFF0C\u5B83\u662F M8 \u6846\u67B6\u5BF9 axios \u7684\u5C01\u88C5\uFF0C\u652F\u6301\u81EA\u52A8\u4EE3\u7406\u3001token \u5904\u7406\u3001\u8BF7\u6C42\u53D6\u6D88\u7B49\u529F\u80FD\u3002",upload:"\u63A8\u8350\u4F7F\u7528 Util.upload \u8FDB\u884C\u6587\u4EF6\u4E0A\u4F20\uFF0C\u652F\u6301\u8DE8\u7AEF\uFF08H5\u3001\u5FAE\u4FE1\u3001\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F\uFF09\uFF0C\u4F7F\u7528 filePath \u65B9\u5F0F\u53EF\u5B9E\u73B0\u6700\u4F73\u517C\u5BB9\u6027\u3002",date:"Util.date \u63D0\u4F9B\u65E5\u671F\u683C\u5F0F\u5316\u548C\u5904\u7406\u529F\u80FD\uFF0C\u652F\u6301\u591A\u79CD\u683C\u5F0F\u8F6C\u6362\u3002",storage:"Util.storage \u63D0\u4F9B\u672C\u5730\u5B58\u50A8\u529F\u80FD\uFF0C\u662F\u5BF9 localStorage \u7684\u5C01\u88C5\uFF0C\u652F\u6301\u8DE8\u7AEF\u4F7F\u7528\u3002",string:"Util.string \u63D0\u4F9B\u5B57\u7B26\u4E32\u5904\u7406\u5DE5\u5177\u65B9\u6CD5\u3002",base64:"Util.base64 \u63D0\u4F9B Base64 \u7F16\u7801\u89E3\u7801\u529F\u80FD\u3002",sha1:"Util.sha1 \u63D0\u4F9B SHA1 \u52A0\u5BC6\u529F\u80FD\u3002",sha256:"Util.sha256 \u63D0\u4F9B SHA256 \u52A0\u5BC6\u529F\u80FD\u3002"};function Ge(t){let e=[],s=t.toLowerCase();for(let o of Object.keys(ie))s.includes(o)&&e.push(o);return e}function O(t,e){if(!e)return!0;let o={ejsh5:"ejsH5",ejs:"ejsH5",h5:"h5",wechat:"wechat",alipay:"alipay",dingtalk:"dingtalk"}[e.toLowerCase()];if(!o)return!0;let r=t[o];return r===!0||typeof r=="string"&&r.length>0}function ae(t,e,s){let o=[],r=[],n=[],i=new Set,a=new Set,l=new Set,p=Ge(e);for(let c of p){let d=ie[c];if(d){for(let f of d.utils||[]){if(l.has(f))continue;let m=t.utilMethods?.get(f.toLowerCase());m&&O(m.platformSupport,s)&&(l.add(f),n.push({type:"util",name:m.name,displayName:m.fullName,description:m.description,reason:`\u5339\u914D\u9700\u6C42\u5173\u952E\u8BCD: ${c}`,score:95,platformSupport:m.platformSupport,usageTip:Ke[f.toLowerCase()]}))}for(let f of d.components){if(i.has(f))continue;let m=t.components.get(f);m&&O(m.platformSupport,s)&&(i.add(f),o.push({type:"component",name:f,displayName:m.displayName,description:m.description,reason:`\u5339\u914D\u9700\u6C42\u5173\u952E\u8BCD: ${c}`,score:80,platformSupport:m.platformSupport}))}for(let f of d.apis){if(a.has(f))continue;let[m,D]=f.split("."),g=t.ejsApis.get(`${m}.${D}`);g&&O(g.platformSupport,s)&&(a.add(f),r.push({type:"ejsApi",name:g.name,displayName:`ejs.${g.module}.${g.name}`,description:g.description,reason:`\u5339\u914D\u9700\u6C42\u5173\u952E\u8BCD: ${c}`,score:70,platformSupport:g.platformSupport}))}}}if(o.length<3||r.length<2){let c=te(t,e,{limit:10,platform:s});for(let d of c)if(d.type==="component"&&!i.has(d.name)){if(o.length<5){i.add(d.name);let f=t.components.get(d.name);f&&o.push({type:"component",name:d.name,displayName:f.displayName,description:f.description,reason:"\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u641C\u7D22\u5339\u914D",score:d.score,platformSupport:f.platformSupport})}}else if(d.type==="ejsApi"&&!a.has(d.name)&&r.length<5){let f=d.id.replace("api:","");a.add(d.name);let m=t.ejsApis.get(f);m&&r.push({type:"ejsApi",name:m.name,displayName:`ejs.${m.module}.${m.name}`,description:m.description,reason:"\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u641C\u7D22\u5339\u914D",score:d.score,platformSupport:m.platformSupport})}}n.sort((c,d)=>d.score-c.score),o.sort((c,d)=>d.score-c.score),r.sort((c,d)=>d.score-c.score);let u="";if(n.length>0||o.length>0||r.length>0){if(u=`\u6839\u636E\u60A8\u7684\u9700\u6C42"${e}"\uFF0C\u63A8\u8350\u4EE5\u4E0B\u65B9\u6848\uFF1A
11
+
12
+ `,n.length>0){u+=`**\u63A8\u8350\u5DE5\u5177\u65B9\u6CD5\uFF1A** ${n.map(d=>d.displayName).join("\u3001")}
13
+ `;let c=n.filter(d=>d.usageTip).map(d=>`- ${d.usageTip}`);c.length>0&&(u+=`
14
+ ${c.join(`
15
+ `)}
16
+ `)}o.length>0&&(u+=`
17
+ **UI \u7EC4\u4EF6\uFF1A** ${o.map(c=>c.displayName||c.name).join("\u3001")}
18
+ `),r.length>0&&(u+=`
19
+ **EJS API\uFF1A** ${r.map(c=>c.displayName).join("\u3001")}
20
+ `,n.length>0&&(u+=`
21
+ > \u6CE8\u610F\uFF1A\u5EFA\u8BAE\u4F18\u5148\u4F7F\u7528 Util \u5DE5\u5177\u65B9\u6CD5\uFF0C\u5B83\u4EEC\u662F\u6846\u67B6\u5C01\u88C5\u7684\u9AD8\u7EA7 API\uFF0C\u63D0\u4F9B\u66F4\u597D\u7684\u8DE8\u7AEF\u517C\u5BB9\u6027\u548C\u9519\u8BEF\u5904\u7406\u3002EJS API \u9002\u7528\u4E8E\u9700\u8981\u76F4\u63A5\u8C03\u7528\u539F\u751F\u80FD\u529B\u7684\u573A\u666F\u3002
22
+ `)),s&&(u+=`
23
+ \u4EE5\u4E0A\u63A8\u8350\u5747\u652F\u6301 ${s} \u5E73\u53F0\u3002`)}else u=`\u672A\u627E\u5230\u4E0E"${e}"\u76F4\u63A5\u76F8\u5173\u7684\u7EC4\u4EF6\u6216 API\uFF0C\u5EFA\u8BAE\u5C1D\u8BD5\u66F4\u5177\u4F53\u7684\u63CF\u8FF0\u6216\u4F7F\u7528\u641C\u7D22\u529F\u80FD\u3002`;return{components:o,apis:r,utils:n,summary:u}}function Qe(t,e,s){return e==="M8.4"?qe(t,s):Ye(t,s)}function Ye(t,e){let s=`ne-${t.name}`,o=`<template>
24
+ <div class="${t.name}-container">
25
+ <!-- ${t.displayName}\u7EC4\u4EF6 -->
26
+ <${s}`,r=t.props.slice(0,3);for(let a of r)a.name==="value"||a.name==="v-model"?o+=`
27
+ v-model="${t.name}Value"`:a.type==="boolean"?o+=`
28
+ :${a.name}="${a.default||"false"}"`:a.type==="string"&&(o+=`
29
+ ${a.name}="${a.default||""}"`);if(t.events.length>0){let a=t.events[0];o+=`
30
+ @${a.name}="on${y(a.name)}"`}o+=`
22
31
  />
23
32
  </div>
24
- </template>`,s&&(n=Q(n,s));let i=`<script>
33
+ </template>`,e&&(o=le(o,e));let n=`<script>
25
34
  /**
26
- * ${e.displayName}\u7EC4\u4EF6\u793A\u4F8B
35
+ * ${t.displayName}\u7EC4\u4EF6\u793A\u4F8B
27
36
  * \u6846\u67B6\u7248\u672C: M8.3 (Vue2)
28
37
  */
29
38
  export default {
30
- name: '${g(e.name)}Demo',
39
+ name: '${y(t.name)}Demo',
31
40
 
32
41
  data() {
33
42
  return {
34
- // ${e.displayName}\u7684\u503C
35
- ${e.name}Value: ${X(e.props[0])}
43
+ // ${t.displayName}\u7684\u503C
44
+ ${t.name}Value: ${pe(t.props[0])}
36
45
  };
37
46
  },
38
47
 
39
48
  methods: {
40
49
  /**
41
- * ${e.events[0]?.description||"\u4E8B\u4EF6\u5904\u7406"}
50
+ * ${t.events[0]?.description||"\u4E8B\u4EF6\u5904\u7406"}
42
51
  */
43
- on${g(e.events[0]?.name||"Change")}(value) {
44
- console.log('${e.displayName}\u503C\u53D8\u5316:', value);
45
- // TODO: \u5904\u7406${e.displayName}\u4E8B\u4EF6
52
+ on${y(t.events[0]?.name||"Change")}(value) {
53
+ console.log('${t.displayName}\u503C\u53D8\u5316:', value);
54
+ // TODO: \u5904\u7406${t.displayName}\u4E8B\u4EF6
46
55
  }
47
56
  }
48
57
  };
49
- </script>`,a=`<style scoped>
50
- .${e.name}-container {
58
+ </script>`,i=`<style scoped>
59
+ .${t.name}-container {
51
60
  padding: 16px;
52
61
  }
53
- </style>`;return{template:n,script:i,style:a,imports:[`import Ne${g(e.name)} from '@anthropic/ne-ui/lib/${e.name}';`],explanation:`\u8FD9\u662F ${e.displayName} \u7EC4\u4EF6\u7684 M8.3 (Vue2) \u793A\u4F8B\u4EE3\u7801\u3002
62
+ </style>`;return{template:o,script:n,style:i,imports:[`import Ne${y(t.name)} from '@anthropic/ne-ui/lib/${t.name}';`],explanation:`\u8FD9\u662F ${t.displayName} \u7EC4\u4EF6\u7684 M8.3 (Vue2) \u793A\u4F8B\u4EE3\u7801\u3002
54
63
  - \u4F7F\u7528 Options API \u98CE\u683C
55
64
  - \u5305\u542B\u57FA\u672C\u7684\u6570\u636E\u7ED1\u5B9A\u548C\u4E8B\u4EF6\u5904\u7406
56
- - \u53EF\u6839\u636E\u5B9E\u9645\u9700\u6C42\u4FEE\u6539\u5C5E\u6027\u548C\u4E8B\u4EF6`,frameworkVersion:"M8.3"}}function $e(e,s){let t=`ne-${e.name}`,n=`<template>
57
- <div class="${e.name}-container">
58
- <!-- ${e.displayName}\u7EC4\u4EF6 -->
59
- <${t}`,o=e.props.slice(0,3);for(let r of o)r.name==="value"||r.name==="v-model"?n+=`
60
- v-model="${e.name}Value"`:r.type==="boolean"?n+=`
61
- :${r.name}="${r.default||"false"}"`:r.type==="string"&&(n+=`
62
- ${r.name}="${r.default||""}"`);if(e.events.length>0){let r=e.events[0];n+=`
63
- @${r.name}="on${g(r.name)}"`}n+=`
65
+ - \u53EF\u6839\u636E\u5B9E\u9645\u9700\u6C42\u4FEE\u6539\u5C5E\u6027\u548C\u4E8B\u4EF6`,frameworkVersion:"M8.3"}}function qe(t,e){let s=`ne-${t.name}`,o=`<template>
66
+ <div class="${t.name}-container">
67
+ <!-- ${t.displayName}\u7EC4\u4EF6 -->
68
+ <${s}`,r=t.props.slice(0,3);for(let a of r)a.name==="value"||a.name==="v-model"?o+=`
69
+ v-model="${t.name}Value"`:a.type==="boolean"?o+=`
70
+ :${a.name}="${a.default||"false"}"`:a.type==="string"&&(o+=`
71
+ ${a.name}="${a.default||""}"`);if(t.events.length>0){let a=t.events[0];o+=`
72
+ @${a.name}="on${y(a.name)}"`}o+=`
64
73
  />
65
74
  </div>
66
- </template>`,s&&(n=Q(n,s));let i=`<script setup>
75
+ </template>`,e&&(o=le(o,e));let n=`<script setup>
67
76
  /**
68
- * ${e.displayName}\u7EC4\u4EF6\u793A\u4F8B
77
+ * ${t.displayName}\u7EC4\u4EF6\u793A\u4F8B
69
78
  * \u6846\u67B6\u7248\u672C: M8.4 (Vue3 Composition API)
70
79
  */
71
80
  import { ref } from 'vue';
72
81
 
73
- // ${e.displayName}\u7684\u503C
74
- const ${e.name}Value = ref(${X(e.props[0])});
82
+ // ${t.displayName}\u7684\u503C
83
+ const ${t.name}Value = ref(${pe(t.props[0])});
75
84
 
76
85
  /**
77
- * ${e.events[0]?.description||"\u4E8B\u4EF6\u5904\u7406"}
86
+ * ${t.events[0]?.description||"\u4E8B\u4EF6\u5904\u7406"}
78
87
  */
79
- function on${g(e.events[0]?.name||"Change")}(value) {
80
- console.log('${e.displayName}\u503C\u53D8\u5316:', value);
81
- // TODO: \u5904\u7406${e.displayName}\u4E8B\u4EF6
88
+ function on${y(t.events[0]?.name||"Change")}(value) {
89
+ console.log('${t.displayName}\u503C\u53D8\u5316:', value);
90
+ // TODO: \u5904\u7406${t.displayName}\u4E8B\u4EF6
82
91
  }
83
- </script>`,a=`<style scoped>
84
- .${e.name}-container {
92
+ </script>`,i=`<style scoped>
93
+ .${t.name}-container {
85
94
  padding: 16px;
86
95
  }
87
- </style>`;return{template:n,script:i,style:a,imports:[],explanation:`\u8FD9\u662F ${e.displayName} \u7EC4\u4EF6\u7684 M8.4 (Vue3) \u793A\u4F8B\u4EE3\u7801\u3002
96
+ </style>`;return{template:o,script:n,style:i,imports:[],explanation:`\u8FD9\u662F ${t.displayName} \u7EC4\u4EF6\u7684 M8.4 (Vue3) \u793A\u4F8B\u4EE3\u7801\u3002
88
97
  - \u4F7F\u7528 Composition API \u548C <script setup> \u8BED\u6CD5
89
98
  - \u5305\u542B\u54CD\u5E94\u5F0F\u6570\u636E\u548C\u4E8B\u4EF6\u5904\u7406
90
- - \u53EF\u6839\u636E\u5B9E\u9645\u9700\u6C42\u4FEE\u6539\u5C5E\u6027\u548C\u4E8B\u4EF6`,frameworkVersion:"M8.4"}}function ke(e,s){let t=`ejs.${e.module}.${e.name}`,n=[];for(let a of e.params)a.required&&n.push(` ${a.name}: ${xe(a.type)} // ${a.description}`);let o=`/**
91
- * \u8C03\u7528 ${t}
92
- * ${e.description}
99
+ - \u53EF\u6839\u636E\u5B9E\u9645\u9700\u6C42\u4FEE\u6539\u5C5E\u6027\u548C\u4E8B\u4EF6`,frameworkVersion:"M8.4"}}function Ze(t,e){let s=`ejs.${t.module}.${t.name}`,o=[];for(let i of t.params)i.required&&o.push(` ${i.name}: ${ue(i.type)} // ${i.description}`);let r=`/**
100
+ * \u8C03\u7528 ${s}
101
+ * ${t.description}
93
102
  */
94
- ${t}({
95
- ${n.join(`,
103
+ ${s}({
104
+ ${o.join(`,
96
105
  `)},
97
106
  success: function(result) {
98
107
  // \u6210\u529F\u56DE\u8C03
99
- console.log('${e.name} \u6210\u529F:', result);
108
+ console.log('${t.name} \u6210\u529F:', result);
100
109
  // TODO: \u5904\u7406\u6210\u529F\u7ED3\u679C
101
110
  },
102
111
  error: function(err) {
103
112
  // \u9519\u8BEF\u56DE\u8C03
104
- console.error('${e.name} \u5931\u8D25:', err);
113
+ console.error('${t.name} \u5931\u8D25:', err);
105
114
  // TODO: \u5904\u7406\u9519\u8BEF
106
115
  }
107
- });`,i=`/**
108
- * \u8C03\u7528 ${t} (Promise \u98CE\u683C)
109
- * ${e.description}
116
+ });`,n=`/**
117
+ * \u8C03\u7528 ${s} (Promise \u98CE\u683C)
118
+ * ${t.description}
110
119
  */
111
- async function call${g(e.name)}() {
120
+ async function call${y(t.name)}() {
112
121
  try {
113
- const result = await ${t}({
114
- ${n.join(`,
122
+ const result = await ${s}({
123
+ ${o.join(`,
115
124
  `)}
116
125
  });
117
126
  // \u6210\u529F\u5904\u7406
118
- console.log('${e.name} \u6210\u529F:', result);
127
+ console.log('${t.name} \u6210\u529F:', result);
119
128
  return result;
120
129
  } catch (err) {
121
130
  // \u9519\u8BEF\u5904\u7406
122
- console.error('${e.name} \u5931\u8D25:', err);
131
+ console.error('${t.name} \u5931\u8D25:', err);
123
132
  throw err;
124
133
  }
125
- }`;return s==="M8.4"?{script:`<script setup>
134
+ }`;return e==="M8.4"?{script:`<script setup>
126
135
  /**
127
- * EJS API \u8C03\u7528\u793A\u4F8B: ${t}
136
+ * EJS API \u8C03\u7528\u793A\u4F8B: ${s}
128
137
  * \u6846\u67B6\u7248\u672C: M8.4 (Vue3)
129
138
  */
130
139
  import { ref } from 'vue';
@@ -134,26 +143,26 @@ const result = ref(null);
134
143
  const loading = ref(false);
135
144
  const error = ref(null);
136
145
 
137
- ${i}
146
+ ${n}
138
147
 
139
148
  // \u5728\u7EC4\u4EF6\u4E2D\u8C03\u7528
140
149
  async function handleAction() {
141
150
  loading.value = true;
142
151
  error.value = null;
143
152
  try {
144
- result.value = await call${g(e.name)}();
153
+ result.value = await call${y(t.name)}();
145
154
  } catch (e) {
146
155
  error.value = e;
147
156
  } finally {
148
157
  loading.value = false;
149
158
  }
150
159
  }
151
- </script>`,explanation:`\u8FD9\u662F ${t} \u7684 M8.4 (Vue3) \u8C03\u7528\u793A\u4F8B\u3002
160
+ </script>`,explanation:`\u8FD9\u662F ${s} \u7684 M8.4 (Vue3) \u8C03\u7528\u793A\u4F8B\u3002
152
161
  - \u4F7F\u7528 async/await \u548C Promise \u98CE\u683C
153
162
  - \u5305\u542B\u5B8C\u6574\u7684\u9519\u8BEF\u5904\u7406
154
163
  - \u4F7F\u7528\u54CD\u5E94\u5F0F\u72B6\u6001\u7BA1\u7406\u52A0\u8F7D\u548C\u9519\u8BEF\u72B6\u6001`,frameworkVersion:"M8.4"}:{script:`<script>
155
164
  /**
156
- * EJS API \u8C03\u7528\u793A\u4F8B: ${t}
165
+ * EJS API \u8C03\u7528\u793A\u4F8B: ${s}
157
166
  * \u6846\u67B6\u7248\u672C: M8.3 (Vue2)
158
167
  */
159
168
  export default {
@@ -167,24 +176,331 @@ export default {
167
176
 
168
177
  methods: {
169
178
  /**
170
- * \u8C03\u7528 ${e.name} API
179
+ * \u8C03\u7528 ${t.name} API
171
180
  */
172
- call${g(e.name)}() {
181
+ call${y(t.name)}() {
173
182
  this.loading = true;
174
183
  this.error = null;
175
184
 
176
- ${o.split(`
177
- `).map(a=>" "+a).join(`
185
+ ${r.split(`
186
+ `).map(i=>" "+i).join(`
178
187
  `)}
179
188
  }
180
189
  }
181
190
  };
182
- </script>`,explanation:`\u8FD9\u662F ${t} \u7684 M8.3 (Vue2) \u8C03\u7528\u793A\u4F8B\u3002
191
+ </script>`,explanation:`\u8FD9\u662F ${s} \u7684 M8.3 (Vue2) \u8C03\u7528\u793A\u4F8B\u3002
183
192
  - \u4F7F\u7528\u56DE\u8C03\u51FD\u6570\u98CE\u683C
184
193
  - \u5305\u542B success \u548C error \u56DE\u8C03\u5904\u7406
185
- - \u53EF\u6839\u636E\u9700\u8981\u6539\u4E3A Promise \u98CE\u683C`,frameworkVersion:"M8.3"}}function Q(e,s){return`<!-- #ifdef ${{wechat:"MP-WEIXIN",alipay:"MP-ALIPAY",h5:"H5",ejs:"APP-PLUS",dingtalk:"MP-DINGTALK"}[s.toLowerCase()]||s.toUpperCase()} -->
186
- ${e}
187
- <!-- #endif -->`}function g(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""}function X(e){if(!e)return"''";if(e.default)return e.default;switch(e.type.toLowerCase()){case"string":return"''";case"number":return"0";case"boolean":return"false";case"array":return"[]";case"object":return"{}";default:return"null"}}function xe(e){switch(e.toLowerCase()){case"string":return"'\u8BF7\u586B\u5199'";case"number":return"0";case"boolean":return"true";case"array":return"[]";case"object":return"{}";case"function":return"() => {}";default:return"null"}}function Z(e,s){let t=s.options?.frameworkVersion||"M8.4",n=s.options?.platform;if(s.type==="component"){let o=e.components.get(s.name.toLowerCase());return o?we(o,t,n):{explanation:`\u672A\u627E\u5230\u7EC4\u4EF6: ${s.name}`,frameworkVersion:t}}if(s.type==="ejsApi"){let o="",i=s.name;s.name.includes(".")&&([o,i]=s.name.split("."));let a;if(o)a=e.ejsApis.get(`${o}.${i}`);else for(let[r,l]of e.ejsApis)if(l.name===i){a=l;break}return a?ke(a,t):{explanation:`\u672A\u627E\u5230 API: ${s.name}`,frameworkVersion:t}}return{explanation:`\u4E0D\u652F\u6301\u7684\u751F\u6210\u7C7B\u578B: ${s.type}`,frameworkVersion:t}}var A={ejsH5:"EJS H5 \u5E94\u7528",ejsMiniProgram:"EJS \u65B0\u70B9\u5C0F\u7A0B\u5E8F",h5:"H5",dingtalk:"\u9489\u9489",wechat:"\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F",alipay:"\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F",weex:"Weex"},je={ejsh5:"ejsH5",ejs:"ejsH5",ejsminiprogram:"ejsMiniProgram",h5:"h5",dingtalk:"dingtalk",wechat:"wechat",alipay:"alipay",weex:"weex"};function be(e,s){let t=[],n=[];for(let o of s){let i=je[o.toLowerCase()];if(!i)continue;let a=e[i],r=A[i]||o;a===!1?t.push(r):typeof a=="string"&&n.push(`${r}: ${a}`)}return{unsupported:t,limitations:n}}function Ce(e,s,t,n){let o=[];if(t==="component"){let i=e.components.get(s.toLowerCase());if(i)for(let[a,r]of e.components){if(a===s.toLowerCase()||r.category!==i.category)continue;let l=!0;for(let p of n){let c=Object.entries(A).find(([u,d])=>d===p)?.[0];if(c&&r.platformSupport[c]===!1){l=!1;break}}l&&o.push(`${r.displayName} (${a})`)}}else{let i=s.split("."),a=i.length>1?i[0]:"";for(let[r,l]of e.ejsApis){if(r===s||l.module!==a)continue;let p=!0;for(let c of n){let u=Object.entries(A).find(([d,m])=>m===c)?.[0];if(u&&l.platformSupport[u]===!1){p=!1;break}}p&&o.push(`ejs.${l.module}.${l.name}`)}}return o.slice(0,3)}function q(e,s,t){let n={items:[],allCompatible:!0,issues:[],suggestions:[]};for(let o of s){let i=o.toLowerCase(),a=!1,r="component",l,p=o,c=e.components.get(i);if(c&&(a=!0,r="component",l=c.platformSupport,p=c.displayName),!a){let f=e.ejsApis.get(i);if(f)a=!0,r="ejsApi",l=f.platformSupport,p=`ejs.${f.module}.${f.name}`;else for(let[oe,x]of e.ejsApis)if(x.name.toLowerCase()===i||oe===i){a=!0,r="ejsApi",l=x.platformSupport,p=`ejs.${x.module}.${x.name}`;break}}if(!a||!l){n.items.push({name:o,type:"component",platformSupport:Me(),unsupportedPlatforms:[],limitations:[`\u672A\u627E\u5230: ${o}`]}),n.issues.push(`\u672A\u627E\u5230\u7EC4\u4EF6\u6216 API: ${o}`);continue}let{unsupported:u,limitations:d}=be(l,t),m={name:p,type:r,platformSupport:l,unsupportedPlatforms:u,limitations:d};if(u.length>0){n.allCompatible=!1,n.issues.push(`${p} \u4E0D\u652F\u6301: ${u.join(", ")}`);let f=Ce(e,o,r,u);f.length>0&&(m.alternatives=f,n.suggestions.push(`${p} \u7684\u66FF\u4EE3\u65B9\u6848: ${f.join(", ")}`))}d.length>0&&n.issues.push(...d.map(f=>`${p} - ${f}`)),n.items.push(m)}return n.allCompatible?n.suggestions.push("\u6240\u6709\u7EC4\u4EF6\u548C API \u5728\u76EE\u6807\u5E73\u53F0\u4E0A\u5747\u5B8C\u5168\u652F\u6301\u3002"):n.suggestions.push("\u5EFA\u8BAE\u5728\u5F00\u53D1\u65F6\u4F7F\u7528\u6761\u4EF6\u7F16\u8BD1 (#ifdef) \u5904\u7406\u5E73\u53F0\u5DEE\u5F02\u3002"),n}function Me(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}var I={\u5217\u8868\u8BE6\u60C5:{name:"\u5217\u8868\u8BE6\u60C5",description:"\u5217\u8868\u9875\u9762\u70B9\u51FB\u8FDB\u5165\u8BE6\u60C5\u9875\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u4E0B\u62C9\u5237\u65B0\u3001\u52A0\u8F7D\u66F4\u591A\u3001\u9875\u9762\u8DF3\u8F6C\u7B49\u529F\u80FD",components:["cell","minirefresh","loading"],apis:["navigator.push","navigator.pop"],vue2Code:Pe(),vue3Code:Se(),keyPoints:["\u4F7F\u7528 minirefresh \u7EC4\u4EF6\u5B9E\u73B0\u4E0B\u62C9\u5237\u65B0\u548C\u52A0\u8F7D\u66F4\u591A","\u4F7F\u7528 cell \u7EC4\u4EF6\u5C55\u793A\u5217\u8868\u9879","\u4F7F\u7528 navigator.push \u8DF3\u8F6C\u5230\u8BE6\u60C5\u9875","\u8BE6\u60C5\u9875\u4F7F\u7528 navigator.pop \u8FD4\u56DE\u5217\u8868\u9875"]},\u8868\u5355\u63D0\u4EA4:{name:"\u8868\u5355\u63D0\u4EA4",description:"\u8868\u5355\u586B\u5199\u548C\u63D0\u4EA4\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u8868\u5355\u9A8C\u8BC1\u3001\u6570\u636E\u63D0\u4EA4\u3001\u7ED3\u679C\u53CD\u9988\u7B49\u529F\u80FD",components:["form","field","button","picker","datepicker"],apis:["ui.toast","ui.showWaiting","ui.closeWaiting"],vue2Code:Ae(),vue3Code:Ie(),keyPoints:["\u4F7F\u7528 form \u7EC4\u4EF6\u5305\u88F9\u8868\u5355\u5143\u7D20","\u4F7F\u7528 field \u7EC4\u4EF6\u5B9E\u73B0\u8F93\u5165\u6846","\u4F7F\u7528 picker/datepicker \u5B9E\u73B0\u9009\u62E9\u5668","\u63D0\u4EA4\u524D\u8FDB\u884C\u8868\u5355\u9A8C\u8BC1","\u4F7F\u7528 loading \u63D0\u793A\u7528\u6237\u7B49\u5F85","\u4F7F\u7528 toast \u53CD\u9988\u63D0\u4EA4\u7ED3\u679C"]},\u56FE\u7247\u4E0A\u4F20:{name:"\u56FE\u7247\u4E0A\u4F20",description:"\u56FE\u7247\u9009\u62E9\u548C\u4E0A\u4F20\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u56FE\u7247\u9009\u62E9\u3001\u9884\u89C8\u3001\u538B\u7F29\u3001\u4E0A\u4F20\u7B49\u529F\u80FD",components:["uploader","imagepreview"],apis:["io.chooseImage","io.uploadFile"],vue2Code:De(),vue3Code:Le(),keyPoints:["\u4F7F\u7528 uploader \u7EC4\u4EF6\u6216 io.chooseImage \u9009\u62E9\u56FE\u7247","\u652F\u6301\u56FE\u7247\u9884\u89C8\u529F\u80FD","\u4E0A\u4F20\u524D\u53EF\u8FDB\u884C\u56FE\u7247\u538B\u7F29","\u663E\u793A\u4E0A\u4F20\u8FDB\u5EA6"]}};function Pe(){return{template:`<template>
194
+ - \u53EF\u6839\u636E\u9700\u8981\u6539\u4E3A Promise \u98CE\u683C`,frameworkVersion:"M8.3"}}function le(t,e){return`<!-- #ifdef ${{wechat:"MP-WEIXIN",alipay:"MP-ALIPAY",h5:"H5",ejs:"APP-PLUS",dingtalk:"MP-DINGTALK"}[e.toLowerCase()]||e.toUpperCase()} -->
195
+ ${t}
196
+ <!-- #endif -->`}function y(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""}function pe(t){if(!t)return"''";if(t.default)return t.default;switch(t.type.toLowerCase()){case"string":return"''";case"number":return"0";case"boolean":return"false";case"array":return"[]";case"object":return"{}";default:return"null"}}function ue(t){switch(t.toLowerCase()){case"string":return"'\u8BF7\u586B\u5199'";case"number":return"0";case"boolean":return"true";case"array":return"[]";case"object":return"{}";case"function":return"() => {}";default:return"null"}}function ce(t){return t==="M8.4"?{script:`<script setup>
197
+ /**
198
+ * Util.ajax \u4F7F\u7528\u793A\u4F8B
199
+ * \u6846\u67B6\u7248\u672C: M8.4 (Vue3 Composition API)
200
+ *
201
+ * Util.ajax \u662F M8 \u6846\u67B6\u5BF9 axios \u7684\u5C01\u88C5\uFF0C\u63A8\u8350\u7528\u4E8E\u6240\u6709 HTTP \u8BF7\u6C42
202
+ */
203
+ import { ref } from 'vue';
204
+
205
+ // \u54CD\u5E94\u5F0F\u6570\u636E
206
+ const data = ref(null);
207
+ const loading = ref(false);
208
+ const error = ref(null);
209
+
210
+ /**
211
+ * \u53D1\u9001 GET \u8BF7\u6C42
212
+ */
213
+ async function fetchData() {
214
+ loading.value = true;
215
+ error.value = null;
216
+
217
+ try {
218
+ const result = await Util.ajax({
219
+ url: Config.serverUrl + '/api/data',
220
+ type: 'GET',
221
+ data: {
222
+ // \u8BF7\u6C42\u53C2\u6570
223
+ id: '12345'
224
+ }
225
+ });
226
+
227
+ data.value = result;
228
+ console.log('\u8BF7\u6C42\u6210\u529F:', result);
229
+ } catch (err) {
230
+ error.value = err;
231
+ console.error('\u8BF7\u6C42\u5931\u8D25:', err);
232
+ } finally {
233
+ loading.value = false;
234
+ }
235
+ }
236
+
237
+ /**
238
+ * \u53D1\u9001 POST \u8BF7\u6C42
239
+ */
240
+ async function submitData(formData) {
241
+ loading.value = true;
242
+
243
+ try {
244
+ const result = await Util.ajax({
245
+ url: Config.serverUrl + '/api/submit',
246
+ type: 'POST',
247
+ data: {
248
+ params: JSON.stringify(formData)
249
+ },
250
+ // \u4F7F\u7528 dataPath \u81EA\u52A8\u63D0\u53D6\u6570\u636E
251
+ dataPath: 'data'
252
+ });
253
+
254
+ if (result.code === 1) {
255
+ console.log('\u63D0\u4EA4\u6210\u529F:', result.data);
256
+ return result.data;
257
+ } else {
258
+ throw new Error(result.message);
259
+ }
260
+ } catch (err) {
261
+ error.value = err;
262
+ throw err;
263
+ } finally {
264
+ loading.value = false;
265
+ }
266
+ }
267
+ </script>`,explanation:`\u8FD9\u662F Util.ajax \u7684 M8.4 (Vue3) \u4F7F\u7528\u793A\u4F8B\u3002
268
+
269
+ **\u63A8\u8350\u4F7F\u7528 Util.ajax \u800C\u4E0D\u662F ejs.http \u6216\u539F\u751F fetch\uFF1A**
270
+ - Util.ajax \u662F\u6846\u67B6\u5BF9 axios \u7684\u5C01\u88C5\uFF0C\u63D0\u4F9B\u7EDF\u4E00\u7684\u8BF7\u6C42\u5904\u7406
271
+ - \u81EA\u52A8\u5904\u7406 token \u548C\u4EE3\u7406\uFF08isAutoProxy \u9ED8\u8BA4\u4E3A true\uFF09
272
+ - \u652F\u6301 dataPath \u81EA\u52A8\u63D0\u53D6\u54CD\u5E94\u6570\u636E
273
+ - \u652F\u6301\u8BF7\u6C42\u53D6\u6D88\uFF08cancelKey\uFF09
274
+ - \u652F\u6301\u5E76\u53D1\u8BF7\u6C42\uFF08Util.ajaxAll\uFF09
275
+
276
+ **\u5E38\u7528\u53C2\u6570\uFF1A**
277
+ - url: \u8BF7\u6C42\u5730\u5740
278
+ - type: \u8BF7\u6C42\u65B9\u6CD5\uFF0CGET \u6216 POST
279
+ - data: \u8BF7\u6C42\u6570\u636E
280
+ - dataPath: \u54CD\u5E94\u6570\u636E\u8DEF\u5F84
281
+ - success/error: \u56DE\u8C03\u51FD\u6570\uFF08\u4E5F\u652F\u6301 Promise\uFF09`,frameworkVersion:"M8.4"}:{script:`<script>
282
+ /**
283
+ * Util.ajax \u4F7F\u7528\u793A\u4F8B
284
+ * \u6846\u67B6\u7248\u672C: M8.3 (Vue2 Options API)
285
+ *
286
+ * Util.ajax \u662F M8 \u6846\u67B6\u5BF9 axios \u7684\u5C01\u88C5\uFF0C\u63A8\u8350\u7528\u4E8E\u6240\u6709 HTTP \u8BF7\u6C42
287
+ */
288
+ export default {
289
+ data() {
290
+ return {
291
+ data: null,
292
+ loading: false,
293
+ error: null
294
+ };
295
+ },
296
+
297
+ methods: {
298
+ /**
299
+ * \u53D1\u9001\u8BF7\u6C42 - \u56DE\u8C03\u98CE\u683C
300
+ */
301
+ fetchDataCallback() {
302
+ this.loading = true;
303
+
304
+ Util.ajax({
305
+ url: Config.serverUrl + '/api/data',
306
+ type: 'GET',
307
+ data: {
308
+ id: '12345'
309
+ },
310
+ // \u4F7F\u7528 dataPath \u81EA\u52A8\u63D0\u53D6\u6570\u636E
311
+ dataPath: 'data',
312
+ success: (result) => {
313
+ this.loading = false;
314
+ if (result.code === 1) {
315
+ this.data = result.data;
316
+ console.log('\u8BF7\u6C42\u6210\u529F:', result.data);
317
+ }
318
+ },
319
+ error: (err) => {
320
+ this.loading = false;
321
+ this.error = err;
322
+ console.error('\u8BF7\u6C42\u5931\u8D25:', err);
323
+ }
324
+ });
325
+ },
326
+
327
+ /**
328
+ * \u53D1\u9001\u8BF7\u6C42 - Promise \u98CE\u683C
329
+ */
330
+ async fetchDataPromise() {
331
+ this.loading = true;
332
+
333
+ try {
334
+ const result = await Util.ajax({
335
+ url: Config.serverUrl + '/api/data',
336
+ type: 'POST',
337
+ data: {
338
+ params: JSON.stringify({ id: '12345' })
339
+ },
340
+ dataPath: 'data'
341
+ });
342
+
343
+ if (result.code === 1) {
344
+ this.data = result.data;
345
+ }
346
+ } catch (err) {
347
+ this.error = err;
348
+ } finally {
349
+ this.loading = false;
350
+ }
351
+ }
352
+ }
353
+ };
354
+ </script>`,explanation:`\u8FD9\u662F Util.ajax \u7684 M8.3 (Vue2) \u4F7F\u7528\u793A\u4F8B\u3002
355
+
356
+ **\u63A8\u8350\u4F7F\u7528 Util.ajax \u800C\u4E0D\u662F ejs.http \u6216\u539F\u751F fetch\uFF1A**
357
+ - Util.ajax \u662F\u6846\u67B6\u5BF9 axios \u7684\u5C01\u88C5\uFF0C\u63D0\u4F9B\u7EDF\u4E00\u7684\u8BF7\u6C42\u5904\u7406
358
+ - \u81EA\u52A8\u5904\u7406 token \u548C\u4EE3\u7406
359
+ - \u652F\u6301\u56DE\u8C03\u548C Promise \u4E24\u79CD\u98CE\u683C
360
+ - \u652F\u6301 dataPath \u81EA\u52A8\u63D0\u53D6\u54CD\u5E94\u6570\u636E
361
+
362
+ **\u5E38\u7528\u53C2\u6570\uFF1A**
363
+ - url: \u8BF7\u6C42\u5730\u5740
364
+ - type: \u8BF7\u6C42\u65B9\u6CD5\uFF0CGET \u6216 POST
365
+ - data: \u8BF7\u6C42\u6570\u636E
366
+ - dataPath: \u54CD\u5E94\u6570\u636E\u8DEF\u5F84
367
+ - success/error: \u56DE\u8C03\u51FD\u6570`,frameworkVersion:"M8.3"}}function fe(t){return t==="M8.4"?{script:`<script setup>
368
+ /**
369
+ * Util.upload \u6587\u4EF6\u4E0A\u4F20\u793A\u4F8B
370
+ * \u6846\u67B6\u7248\u672C: M8.4 (Vue3 Composition API)
371
+ */
372
+ import { ref } from 'vue';
373
+
374
+ const uploading = ref(false);
375
+ const progress = ref(0);
376
+
377
+ /**
378
+ * \u4E0A\u4F20\u6587\u4EF6 - filePath \u65B9\u5F0F\uFF08\u63A8\u8350\uFF0C\u652F\u6301\u8DE8\u7AEF\uFF09
379
+ */
380
+ async function uploadFile(file) {
381
+ uploading.value = true;
382
+ progress.value = 0;
383
+
384
+ try {
385
+ const result = await new Promise((resolve, reject) => {
386
+ Util.upload({
387
+ url: Config.serverUrl + '/api/upload',
388
+ filePath: file.path, // \u6587\u4EF6\u8DEF\u5F84
389
+ name: file.name, // \u6587\u4EF6\u540D
390
+ formData: {
391
+ // \u989D\u5916\u7684\u8868\u5355\u6570\u636E
392
+ type: 'image'
393
+ },
394
+ success: (res) => {
395
+ resolve(JSON.parse(res.data));
396
+ },
397
+ error: (err) => {
398
+ reject(err);
399
+ },
400
+ uploading: (p) => {
401
+ // \u4E0A\u4F20\u8FDB\u5EA6\u56DE\u8C03
402
+ progress.value = p;
403
+ }
404
+ });
405
+ });
406
+
407
+ console.log('\u4E0A\u4F20\u6210\u529F:', result);
408
+ return result;
409
+ } catch (err) {
410
+ console.error('\u4E0A\u4F20\u5931\u8D25:', err);
411
+ throw err;
412
+ } finally {
413
+ uploading.value = false;
414
+ }
415
+ }
416
+ </script>`,explanation:`\u8FD9\u662F Util.upload \u7684 M8.4 (Vue3) \u4F7F\u7528\u793A\u4F8B\u3002
417
+
418
+ **\u63A8\u8350\u4F7F\u7528 filePath \u65B9\u5F0F\u4E0A\u4F20\uFF1A**
419
+ - \u652F\u6301\u8DE8\u7AEF\uFF08H5\u3001\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u3001\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F\uFF09
420
+ - filePath \u9700\u8981\u4E0E name \u914D\u5957\u4F7F\u7528
421
+
422
+ **files \u65B9\u5F0F\u4EC5\u652F\u6301 H5\uFF1A**
423
+ - \u9002\u7528\u4E8E\u7EAF H5 \u9879\u76EE
424
+ - \u652F\u6301\u591A\u6587\u4EF6\u4E0A\u4F20`,frameworkVersion:"M8.4"}:{script:`<script>
425
+ /**
426
+ * Util.upload \u6587\u4EF6\u4E0A\u4F20\u793A\u4F8B
427
+ * \u6846\u67B6\u7248\u672C: M8.3 (Vue2 Options API)
428
+ */
429
+ export default {
430
+ data() {
431
+ return {
432
+ uploading: false,
433
+ progress: 0
434
+ };
435
+ },
436
+
437
+ methods: {
438
+ /**
439
+ * \u4E0A\u4F20\u6587\u4EF6 - filePath \u65B9\u5F0F\uFF08\u63A8\u8350\uFF0C\u652F\u6301\u8DE8\u7AEF\uFF09
440
+ */
441
+ uploadFile(file) {
442
+ this.uploading = true;
443
+ this.progress = 0;
444
+
445
+ Util.upload({
446
+ url: Config.serverUrl + '/api/upload',
447
+ filePath: file.path,
448
+ name: file.name,
449
+ formData: {
450
+ type: 'image'
451
+ },
452
+ success: (res) => {
453
+ this.uploading = false;
454
+ const result = JSON.parse(res.data);
455
+ console.log('\u4E0A\u4F20\u6210\u529F:', result);
456
+ },
457
+ error: (err) => {
458
+ this.uploading = false;
459
+ console.error('\u4E0A\u4F20\u5931\u8D25:', err);
460
+ },
461
+ uploading: (p) => {
462
+ this.progress = p;
463
+ }
464
+ });
465
+ }
466
+ }
467
+ };
468
+ </script>`,explanation:`\u8FD9\u662F Util.upload \u7684 M8.3 (Vue2) \u4F7F\u7528\u793A\u4F8B\u3002
469
+
470
+ **\u63A8\u8350\u4F7F\u7528 filePath \u65B9\u5F0F\u4E0A\u4F20\uFF1A**
471
+ - \u652F\u6301\u8DE8\u7AEF\uFF08H5\u3001\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u3001\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F\uFF09
472
+ - filePath \u9700\u8981\u4E0E name \u914D\u5957\u4F7F\u7528`,frameworkVersion:"M8.3"}}function Xe(t,e){if(t.name.toLowerCase()==="ajax")return ce(e);if(t.name.toLowerCase()==="upload")return fe(e);let s=t.fullName,o=t.params.filter(r=>r.required).map(r=>`${r.name}: ${ue(r.type)} // ${r.description}`).join(`,
473
+ `);return e==="M8.4"?{script:`<script setup>
474
+ /**
475
+ * ${t.fullName} \u4F7F\u7528\u793A\u4F8B
476
+ * ${t.description}
477
+ * \u6846\u67B6\u7248\u672C: M8.4 (Vue3)
478
+ */
479
+
480
+ // \u8C03\u7528 ${s}
481
+ const result = ${s}(${o?`{
482
+ ${o}
483
+ }`:""});
484
+ console.log('\u7ED3\u679C:', result);
485
+ </script>`,explanation:`\u8FD9\u662F ${t.fullName} \u7684\u4F7F\u7528\u793A\u4F8B\u3002
486
+ ${t.description}`,frameworkVersion:"M8.4"}:{script:`<script>
487
+ /**
488
+ * ${t.fullName} \u4F7F\u7528\u793A\u4F8B
489
+ * ${t.description}
490
+ * \u6846\u67B6\u7248\u672C: M8.3 (Vue2)
491
+ */
492
+ export default {
493
+ methods: {
494
+ useUtil() {
495
+ const result = ${s}(${o?`{
496
+ ${o}
497
+ }`:""});
498
+ console.log('\u7ED3\u679C:', result);
499
+ }
500
+ }
501
+ };
502
+ </script>`,explanation:`\u8FD9\u662F ${t.fullName} \u7684\u4F7F\u7528\u793A\u4F8B\u3002
503
+ ${t.description}`,frameworkVersion:"M8.3"}}function de(t,e){let s=e.options?.frameworkVersion||"M8.4",o=e.options?.platform;if(e.type==="component"){let r=t.components.get(e.name.toLowerCase());return r?Qe(r,s,o):{explanation:`\u672A\u627E\u5230\u7EC4\u4EF6: ${e.name}`,frameworkVersion:s}}if(e.type==="ejsApi"){let r="",n=e.name;e.name.includes(".")&&([r,n]=e.name.split("."));let i;if(r)i=t.ejsApis.get(`${r}.${n}`);else for(let[,a]of t.ejsApis)if(a.name===n){i=a;break}return i?Ze(i,s):{explanation:`\u672A\u627E\u5230 API: ${e.name}`,frameworkVersion:s}}if(e.type==="util"){let r=e.name.toLowerCase();r.startsWith("util.")&&(r=r.replace("util.",""));let n=t.utilMethods?.get(r);return n?Xe(n,s):r==="ajax"?ce(s):r==="upload"?fe(s):{explanation:`\u672A\u627E\u5230 Util \u65B9\u6CD5: ${e.name}`,frameworkVersion:s}}return{explanation:`\u4E0D\u652F\u6301\u7684\u751F\u6210\u7C7B\u578B: ${e.type}`,frameworkVersion:s}}var E={ejsH5:"EJS H5 \u5E94\u7528",ejsMiniProgram:"EJS \u65B0\u70B9\u5C0F\u7A0B\u5E8F",h5:"H5",dingtalk:"\u9489\u9489",wechat:"\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F",alipay:"\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F",weex:"Weex"},et={ejsh5:"ejsH5",ejs:"ejsH5",ejsminiprogram:"ejsMiniProgram",h5:"h5",dingtalk:"dingtalk",wechat:"wechat",alipay:"alipay",weex:"weex"};function tt(t,e){let s=[],o=[];for(let r of e){let n=et[r.toLowerCase()];if(!n)continue;let i=t[n],a=E[n]||r;i===!1?s.push(a):typeof i=="string"&&o.push(`${a}: ${i}`)}return{unsupported:s,limitations:o}}function st(t,e,s,o){let r=[];if(s==="component"){let n=t.components.get(e.toLowerCase());if(n)for(let[i,a]of t.components){if(i===e.toLowerCase()||a.category!==n.category)continue;let l=!0;for(let p of o){let u=Object.entries(E).find(([c,d])=>d===p)?.[0];if(u&&a.platformSupport[u]===!1){l=!1;break}}l&&r.push(`${a.displayName} (${i})`)}}else{let n=e.split("."),i=n.length>1?n[0]:"";for(let[a,l]of t.ejsApis){if(a===e||l.module!==i)continue;let p=!0;for(let u of o){let c=Object.entries(E).find(([d,f])=>f===u)?.[0];if(c&&l.platformSupport[c]===!1){p=!1;break}}p&&r.push(`ejs.${l.module}.${l.name}`)}}return r.slice(0,3)}function me(t,e,s){let o={items:[],allCompatible:!0,issues:[],suggestions:[]};for(let r of e){let n=r.toLowerCase(),i=!1,a="component",l,p=r,u=t.components.get(n);if(u&&(i=!0,a="component",l=u.platformSupport,p=u.displayName),!i){let m=t.ejsApis.get(n);if(m)i=!0,a="ejsApi",l=m.platformSupport,p=`ejs.${m.module}.${m.name}`;else for(let[D,g]of t.ejsApis)if(g.name.toLowerCase()===n||D===n){i=!0,a="ejsApi",l=g.platformSupport,p=`ejs.${g.module}.${g.name}`;break}}if(!i||!l){o.items.push({name:r,type:"component",platformSupport:ot(),unsupportedPlatforms:[],limitations:[`\u672A\u627E\u5230: ${r}`]}),o.issues.push(`\u672A\u627E\u5230\u7EC4\u4EF6\u6216 API: ${r}`);continue}let{unsupported:c,limitations:d}=tt(l,s),f={name:p,type:a,platformSupport:l,unsupportedPlatforms:c,limitations:d};if(c.length>0){o.allCompatible=!1,o.issues.push(`${p} \u4E0D\u652F\u6301: ${c.join(", ")}`);let m=st(t,r,a,c);m.length>0&&(f.alternatives=m,o.suggestions.push(`${p} \u7684\u66FF\u4EE3\u65B9\u6848: ${m.join(", ")}`))}d.length>0&&o.issues.push(...d.map(m=>`${p} - ${m}`)),o.items.push(f)}return o.allCompatible?o.suggestions.push("\u6240\u6709\u7EC4\u4EF6\u548C API \u5728\u76EE\u6807\u5E73\u53F0\u4E0A\u5747\u5B8C\u5168\u652F\u6301\u3002"):o.suggestions.push("\u5EFA\u8BAE\u5728\u5F00\u53D1\u65F6\u4F7F\u7528\u6761\u4EF6\u7F16\u8BD1 (#ifdef) \u5904\u7406\u5E73\u53F0\u5DEE\u5F02\u3002"),o}function ot(){return{ejsH5:!1,ejsMiniProgram:!1,h5:!1,dingtalk:!1,wechat:!1,alipay:!1}}var _={\u5217\u8868\u8BE6\u60C5:{name:"\u5217\u8868\u8BE6\u60C5",description:"\u5217\u8868\u9875\u9762\u70B9\u51FB\u8FDB\u5165\u8BE6\u60C5\u9875\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u4E0B\u62C9\u5237\u65B0\u3001\u52A0\u8F7D\u66F4\u591A\u3001\u9875\u9762\u8DF3\u8F6C\u7B49\u529F\u80FD",components:["cell","minirefresh","loading"],apis:["navigator.push","navigator.pop"],vue2Code:rt(),vue3Code:nt(),keyPoints:["\u4F7F\u7528 minirefresh \u7EC4\u4EF6\u5B9E\u73B0\u4E0B\u62C9\u5237\u65B0\u548C\u52A0\u8F7D\u66F4\u591A","\u4F7F\u7528 cell \u7EC4\u4EF6\u5C55\u793A\u5217\u8868\u9879","\u4F7F\u7528 navigator.push \u8DF3\u8F6C\u5230\u8BE6\u60C5\u9875","\u8BE6\u60C5\u9875\u4F7F\u7528 navigator.pop \u8FD4\u56DE\u5217\u8868\u9875"]},\u8868\u5355\u63D0\u4EA4:{name:"\u8868\u5355\u63D0\u4EA4",description:"\u8868\u5355\u586B\u5199\u548C\u63D0\u4EA4\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u8868\u5355\u9A8C\u8BC1\u3001\u6570\u636E\u63D0\u4EA4\u3001\u7ED3\u679C\u53CD\u9988\u7B49\u529F\u80FD",components:["form","field","button","picker","datepicker"],apis:["ui.toast","ui.showWaiting","ui.closeWaiting"],vue2Code:it(),vue3Code:at(),keyPoints:["\u4F7F\u7528 form \u7EC4\u4EF6\u5305\u88F9\u8868\u5355\u5143\u7D20","\u4F7F\u7528 field \u7EC4\u4EF6\u5B9E\u73B0\u8F93\u5165\u6846","\u4F7F\u7528 picker/datepicker \u5B9E\u73B0\u9009\u62E9\u5668","\u63D0\u4EA4\u524D\u8FDB\u884C\u8868\u5355\u9A8C\u8BC1","\u4F7F\u7528 loading \u63D0\u793A\u7528\u6237\u7B49\u5F85","\u4F7F\u7528 toast \u53CD\u9988\u63D0\u4EA4\u7ED3\u679C"]},\u56FE\u7247\u4E0A\u4F20:{name:"\u56FE\u7247\u4E0A\u4F20",description:"\u56FE\u7247\u9009\u62E9\u548C\u4E0A\u4F20\u7684\u5178\u578B\u6A21\u5F0F\uFF0C\u5305\u542B\u56FE\u7247\u9009\u62E9\u3001\u9884\u89C8\u3001\u538B\u7F29\u3001\u4E0A\u4F20\u7B49\u529F\u80FD",components:["uploader","imagepreview"],apis:["io.chooseImage","io.uploadFile"],vue2Code:lt(),vue3Code:pt(),keyPoints:["\u4F7F\u7528 uploader \u7EC4\u4EF6\u6216 io.chooseImage \u9009\u62E9\u56FE\u7247","\u652F\u6301\u56FE\u7247\u9884\u89C8\u529F\u80FD","\u4E0A\u4F20\u524D\u53EF\u8FDB\u884C\u56FE\u7247\u538B\u7F29","\u663E\u793A\u4E0A\u4F20\u8FDB\u5EA6"]}};function rt(){return{template:`<template>
188
504
  <div class="list-page">
189
505
  <!-- \u4E0B\u62C9\u5237\u65B0\u5217\u8868 -->
190
506
  <ne-minirefresh
@@ -300,7 +616,7 @@ export default {
300
616
  min-height: 100vh;
301
617
  background: #f5f5f5;
302
618
  }
303
- </style>`,explanation:"\u5217\u8868\u8BE6\u60C5\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u4E0B\u62C9\u5237\u65B0\u3001\u52A0\u8F7D\u66F4\u591A\u3001\u8DF3\u8F6C\u8BE6\u60C5\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function Se(){return{template:`<template>
619
+ </style>`,explanation:"\u5217\u8868\u8BE6\u60C5\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u4E0B\u62C9\u5237\u65B0\u3001\u52A0\u8F7D\u66F4\u591A\u3001\u8DF3\u8F6C\u8BE6\u60C5\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function nt(){return{template:`<template>
304
620
  <div class="list-page">
305
621
  <!-- \u4E0B\u62C9\u5237\u65B0\u5217\u8868 -->
306
622
  <ne-minirefresh
@@ -409,7 +725,7 @@ onMounted(() => {
409
725
  min-height: 100vh;
410
726
  background: #f5f5f5;
411
727
  }
412
- </style>`,explanation:"\u5217\u8868\u8BE6\u60C5\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u548C <script setup> \u8BED\u6CD5",frameworkVersion:"M8.4"}}function Ae(){return{template:`<template>
728
+ </style>`,explanation:"\u5217\u8868\u8BE6\u60C5\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u548C <script setup> \u8BED\u6CD5",frameworkVersion:"M8.4"}}function it(){return{template:`<template>
413
729
  <div class="form-page">
414
730
  <ne-form ref="form" :model="formData" :rules="rules">
415
731
  <!-- \u6587\u672C\u8F93\u5165 -->
@@ -573,7 +889,7 @@ export default {
573
889
  margin-top: 24px;
574
890
  padding: 0 16px;
575
891
  }
576
- </style>`,explanation:"\u8868\u5355\u63D0\u4EA4\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u8868\u5355\u9A8C\u8BC1\u3001\u9009\u62E9\u5668\u3001\u63D0\u4EA4\u53CD\u9988\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function Ie(){return{template:`<template>
892
+ </style>`,explanation:"\u8868\u5355\u63D0\u4EA4\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u8868\u5355\u9A8C\u8BC1\u3001\u9009\u62E9\u5668\u3001\u63D0\u4EA4\u53CD\u9988\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function at(){return{template:`<template>
577
893
  <div class="form-page">
578
894
  <ne-form ref="formRef" :model="formData" :rules="rules">
579
895
  <!-- \u6587\u672C\u8F93\u5165 -->
@@ -731,7 +1047,7 @@ async function onSubmit() {
731
1047
  margin-top: 24px;
732
1048
  padding: 0 16px;
733
1049
  }
734
- </style>`,explanation:"\u8868\u5355\u63D0\u4EA4\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u548C reactive \u7BA1\u7406\u8868\u5355\u72B6\u6001",frameworkVersion:"M8.4"}}function De(){return{template:`<template>
1050
+ </style>`,explanation:"\u8868\u5355\u63D0\u4EA4\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u548C reactive \u7BA1\u7406\u8868\u5355\u72B6\u6001",frameworkVersion:"M8.4"}}function lt(){return{template:`<template>
735
1051
  <div class="upload-page">
736
1052
  <ne-uploader
737
1053
  v-model="fileList"
@@ -849,7 +1165,7 @@ export default {
849
1165
  font-size: 12px;
850
1166
  padding: 2px 0;
851
1167
  }
852
- </style>`,explanation:"\u56FE\u7247\u4E0A\u4F20\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u591A\u56FE\u4E0A\u4F20\u3001\u8FDB\u5EA6\u663E\u793A\u3001\u5927\u5C0F\u9650\u5236\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function Le(){return{template:`<template>
1168
+ </style>`,explanation:"\u56FE\u7247\u4E0A\u4F20\u6A21\u5F0F\u7684 Vue2 \u5B9E\u73B0\uFF0C\u5305\u542B\u591A\u56FE\u4E0A\u4F20\u3001\u8FDB\u5EA6\u663E\u793A\u3001\u5927\u5C0F\u9650\u5236\u7B49\u529F\u80FD",frameworkVersion:"M8.3"}}function pt(){return{template:`<template>
853
1169
  <div class="upload-page">
854
1170
  <ne-uploader
855
1171
  v-model="fileList"
@@ -960,4 +1276,22 @@ async function uploadAll() {
960
1276
  font-size: 12px;
961
1277
  padding: 2px 0;
962
1278
  }
963
- </style>`,explanation:"\u56FE\u7247\u4E0A\u4F20\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u7BA1\u7406\u6587\u4EF6\u5217\u8868\u548C\u4E0A\u4F20\u72B6\u6001",frameworkVersion:"M8.4"}}function ee(e,s){let t=I[e];if(!t){let n=e.toLowerCase();for(let[o,i]of Object.entries(I))if(o.toLowerCase().includes(n)||n.includes(o.toLowerCase()))return i;return{error:`\u672A\u627E\u5230\u573A\u666F: ${e}`,availablePatterns:Object.keys(I)}}if(s){let n=s==="M8.4"?t.vue3Code:t.vue2Code;return{...t,vue2Code:s==="M8.3"?t.vue2Code:{explanation:"\u8BF7\u4F7F\u7528 M8.3 \u7248\u672C\u67E5\u770B",frameworkVersion:"M8.3"},vue3Code:s==="M8.4"?t.vue3Code:{explanation:"\u8BF7\u4F7F\u7528 M8.4 \u7248\u672C\u67E5\u770B",frameworkVersion:"M8.4"}}}return t}var $=null,Fe=Oe(import.meta.url),_e=Te(Fe),We=te(_e,"..");function se(e,s,t){if(process.env[e])return process.env[e];let n=te(We,"docs",s);return Ee(n)?n:t}var ze=se("EJS_DOC_PATH","ejs-doc","ejs-doc"),He=se("M8_DOC_PATH","m8mpdoc-develop","m8mpdoc-develop");async function Je(){console.error("[M8 MCP] \u6B63\u5728\u521D\u59CB\u5316\u6587\u6863\u7D22\u5F15...");try{$=await W(ze,He),console.error(`[M8 MCP] \u7D22\u5F15\u6784\u5EFA\u5B8C\u6210: ${$.components.size} \u4E2A\u7EC4\u4EF6, ${$.ejsApis.size} \u4E2A API`)}catch(e){console.error("[M8 MCP] \u7D22\u5F15\u6784\u5EFA\u5931\u8D25:",e),$={components:new Map,ejsApis:new Map,keywords:new Map,categories:new Map,buildTime:new Date}}}function y(){if(!$)throw new Error("\u6587\u6863\u7D22\u5F15\u5C1A\u672A\u521D\u59CB\u5316");return $}function Re(){let e=new Ne({name:"M8FrameworkMCP",version:"1.0.0"});return e.tool("search_component","\u641C\u7D22 M8 \u6846\u67B6 UI \u7EC4\u4EF6\uFF0C\u652F\u6301\u6309\u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0\u641C\u7D22",{query:h.string().describe("\u641C\u7D22\u5173\u952E\u8BCD\uFF0C\u5982\u7EC4\u4EF6\u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0"),category:h.string().optional().describe('\u53EF\u9009\u7684\u5206\u7C7B\u8FC7\u6EE4\uFF0C\u5982"\u8868\u5355\u7EC4\u4EF6"\u3001"\u53CD\u9988\u7EC4\u4EF6"'),platform:h.string().optional().describe('\u53EF\u9009\u7684\u5E73\u53F0\u8FC7\u6EE4\uFF0C\u5982"wechat"\u3001"alipay"')},async({query:s,category:t,platform:n})=>{let o=J(y(),s,{category:t,platform:n});return{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}),e.tool("search_ejs_api","\u641C\u7D22 EJS \u539F\u751F API\uFF0C\u652F\u6301\u6309\u6A21\u5757\u6216\u529F\u80FD\u63CF\u8FF0\u641C\u7D22",{query:h.string().describe("\u641C\u7D22\u5173\u952E\u8BCD\uFF0C\u5982 API \u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0"),module:h.string().optional().describe('\u53EF\u9009\u7684\u6A21\u5757\u8FC7\u6EE4\uFF0C\u5982"ui"\u3001"device"\u3001"storage"')},async({query:s,module:t})=>{let n=R(y(),s,{module:t});return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e.tool("get_component_detail","\u83B7\u53D6 M8 \u6846\u67B6 UI \u7EC4\u4EF6\u7684\u5B8C\u6574\u6587\u6863\uFF0C\u5305\u62EC Props\u3001Events\u3001\u793A\u4F8B\u4EE3\u7801",{name:h.string().describe('\u7EC4\u4EF6\u540D\u79F0\uFF0C\u5982"button"\u3001"form"\u3001"picker"')},async({name:s})=>{let t=U(y(),s);return{content:[{type:"text",text:JSON.stringify(t,null,2)}]}}),e.tool("get_api_detail","\u83B7\u53D6 EJS API \u7684\u5B8C\u6574\u6587\u6863\uFF0C\u5305\u62EC\u53C2\u6570\u3001\u8FD4\u56DE\u503C\u3001\u5E73\u53F0\u5DEE\u5F02",{module:h.string().describe('\u6A21\u5757\u540D\uFF0C\u5982"ui"\u3001"device"'),name:h.string().describe('API \u540D\u79F0\uFF0C\u5982"toast"\u3001"alert"')},async({module:s,name:t})=>{let n=K(y(),s,t);return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e.tool("recommend","\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u667A\u80FD\u63A8\u8350\u5408\u9002\u7684\u7EC4\u4EF6\u548C API",{requirement:h.string().describe('\u9700\u6C42\u63CF\u8FF0\uFF0C\u5982"\u5B9E\u73B0\u4E00\u4E2A\u5E26\u65E5\u671F\u9009\u62E9\u7684\u8868\u5355"'),platform:h.string().optional().describe('\u76EE\u6807\u5E73\u53F0\uFF0C\u5982"wechat"\u3001"h5"')},async({requirement:s,platform:t})=>{let n=G(y(),s,t);return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e.tool("generate_code","\u751F\u6210\u7B26\u5408 M8 \u6846\u67B6\u89C4\u8303\u7684\u4EE3\u7801\uFF0C\u652F\u6301 M8.3(Vue2) \u548C M8.4(Vue3)",{type:h.enum(["component","ejsApi","pattern"]).describe("\u751F\u6210\u7C7B\u578B"),name:h.string().describe("\u7EC4\u4EF6/API/\u6A21\u5F0F\u540D\u79F0"),frameworkVersion:h.enum(["M8.3","M8.4"]).describe("\u6846\u67B6\u7248\u672C\uFF0CM8.3=Vue2, M8.4=Vue3"),platform:h.string().optional().describe("\u76EE\u6807\u5E73\u53F0\uFF0C\u7528\u4E8E\u751F\u6210\u6761\u4EF6\u7F16\u8BD1\u4EE3\u7801")},async({type:s,name:t,frameworkVersion:n,platform:o})=>{let i=Z(y(),{type:s,name:t,options:{frameworkVersion:n,platform:o}});return{content:[{type:"text",text:JSON.stringify(i,null,2)}]}}),e.tool("check_compatibility","\u68C0\u67E5\u7EC4\u4EF6\u6216 API \u5728\u76EE\u6807\u5E73\u53F0\u7684\u517C\u5BB9\u6027",{items:h.array(h.string()).describe("\u8981\u68C0\u67E5\u7684\u7EC4\u4EF6\u6216 API \u5217\u8868"),targetPlatforms:h.array(h.string()).describe('\u76EE\u6807\u5E73\u53F0\u5217\u8868\uFF0C\u5982["wechat", "alipay", "h5"]')},async({items:s,targetPlatforms:t})=>{let n=q(y(),s,t);return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e.tool("get_pattern","\u83B7\u53D6\u5E38\u89C1\u573A\u666F\u7684\u5B9E\u73B0\u6A21\u5F0F\uFF0C\u5982\u5217\u8868\u8BE6\u60C5\u3001\u8868\u5355\u63D0\u4EA4",{scenario:h.string().describe('\u573A\u666F\u540D\u79F0\uFF0C\u5982"\u5217\u8868\u8BE6\u60C5"\u3001"\u8868\u5355\u63D0\u4EA4"'),frameworkVersion:h.enum(["M8.3","M8.4"]).optional().describe("\u6846\u67B6\u7248\u672C\uFF0C\u4E0D\u6307\u5B9A\u5219\u8FD4\u56DE\u4E24\u4E2A\u7248\u672C")},async({scenario:s,frameworkVersion:t})=>{let n=ee(s,t);return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),e}async function Ue(){await Je();let e=Re(),s=new Ve;console.error("[M8 MCP] \u670D\u52A1\u5668\u542F\u52A8\u4E2D..."),await e.connect(s),console.error("[M8 MCP] \u670D\u52A1\u5668\u5DF2\u542F\u52A8\uFF0C\u7B49\u5F85\u8FDE\u63A5...")}Ue().catch(e=>{console.error("[M8 MCP] \u670D\u52A1\u5668\u542F\u52A8\u5931\u8D25:",e),process.exit(1)});
1279
+ </style>`,explanation:"\u56FE\u7247\u4E0A\u4F20\u6A21\u5F0F\u7684 Vue3 \u5B9E\u73B0\uFF0C\u4F7F\u7528 Composition API \u7BA1\u7406\u6587\u4EF6\u5217\u8868\u548C\u4E0A\u4F20\u72B6\u6001",frameworkVersion:"M8.4"}}function he(t,e){let s=_[t];if(!s){let o=t.toLowerCase();for(let[r,n]of Object.entries(_))if(r.toLowerCase().includes(o)||o.includes(r.toLowerCase()))return n;return{error:`\u672A\u627E\u5230\u573A\u666F: ${t}`,availablePatterns:Object.keys(_)}}if(e){let o=e==="M8.4"?s.vue3Code:s.vue2Code;return{...s,vue2Code:e==="M8.3"?s.vue2Code:{explanation:"\u8BF7\u4F7F\u7528 M8.3 \u7248\u672C\u67E5\u770B",frameworkVersion:"M8.3"},vue3Code:e==="M8.4"?s.vue3Code:{explanation:"\u8BF7\u4F7F\u7528 M8.4 \u7248\u672C\u67E5\u770B",frameworkVersion:"M8.4"}}}return s}function ge(t,e,s={}){return!e||e.trim().length===0?[]:T(t,e.trim(),{...s,limit:s.limit||20})}function ye(t,e){if(!e)return{found:!1,error:"\u8BF7\u63D0\u4F9B\u65B9\u6CD5\u540D\u79F0"};let s=e.toLowerCase();s.startsWith("util.")&&(s=s.replace("util.",""));let o=t.utilMethods.get(s);if(o){let n=[];for(let[a,l]of t.utilMethods)l.category===o.category&&a!==s&&n.push(l.fullName);let i="";return s==="ajax"?i=`Util.ajax \u662F M8 \u6846\u67B6\u63A8\u8350\u7684 HTTP \u8BF7\u6C42\u65B9\u6CD5\uFF0C\u57FA\u4E8E axios \u5C01\u88C5\u3002
1280
+ - \u652F\u6301 Promise \u548C\u56DE\u8C03\u4E24\u79CD\u98CE\u683C
1281
+ - \u81EA\u52A8\u5904\u7406 token \u548C\u4EE3\u7406
1282
+ - \u652F\u6301\u8BF7\u6C42\u53D6\u6D88\u548C\u5E76\u53D1\u63A7\u5236
1283
+ - \u63A8\u8350\u4F7F\u7528 Promise \u98CE\u683C\u914D\u5408 async/await`:s==="upload"&&(i=`Util.upload \u662F M8 \u6846\u67B6\u63A8\u8350\u7684\u6587\u4EF6\u4E0A\u4F20\u65B9\u6CD5\u3002
1284
+ - \u652F\u6301 filePath \u548C files \u4E24\u79CD\u4E0A\u4F20\u65B9\u5F0F
1285
+ - filePath \u65B9\u5F0F\u652F\u6301\u8DE8\u7AEF\uFF08H5\u3001\u5FAE\u4FE1\u3001\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F\uFF09
1286
+ - files \u65B9\u5F0F\u4EC5\u652F\u6301 H5
1287
+ - \u652F\u6301\u4E0A\u4F20\u8FDB\u5EA6\u56DE\u8C03`),{found:!0,method:o,relatedMethods:n.slice(0,5),usageTips:i}}let r=[];for(let[n,i]of t.utilMethods)(n.includes(s)||i.name.toLowerCase().includes(s))&&r.push(i.fullName);return{found:!1,error:`\u672A\u627E\u5230\u65B9\u6CD5: Util.${e}`,suggestions:r.slice(0,5)}}function we(t){let e=[];if(e.push(`# ${t.fullName}`),e.push(""),e.push(t.description),e.push(""),t.usageScenario&&(e.push("## \u4F7F\u7528\u573A\u666F"),e.push(""),e.push(t.usageScenario),e.push("")),t.version&&(e.push(`**\u7248\u672C\u8981\u6C42:** ${t.version}`),e.push("")),e.push("## \u5E73\u53F0\u652F\u6301"),e.push(""),e.push("| \u5E73\u53F0 | \u652F\u6301\u60C5\u51B5 |"),e.push("| --- | --- |"),e.push(`| H5 | ${I(t.platformSupport.h5)} |`),e.push(`| \u65B0\u70B9\u5C0F\u7A0B\u5E8F | ${I(t.platformSupport.ejsMiniProgram)} |`),e.push(`| \u5FAE\u4FE1\u5C0F\u7A0B\u5E8F | ${I(t.platformSupport.wechat)} |`),e.push(`| \u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F | ${I(t.platformSupport.alipay)} |`),e.push(""),t.params.length>0){e.push("## \u53C2\u6570"),e.push(""),e.push("| \u53C2\u6570 | \u7C7B\u578B | \u5FC5\u586B | \u8BF4\u660E |"),e.push("| --- | --- | --- | --- |");for(let s of t.params){let o=s.required?"\u662F":"\u5426",r=s.default?`${s.description}\uFF0C\u9ED8\u8BA4: ${s.default}`:s.description;e.push(`| ${s.name} | ${s.type} | ${o} | ${r} |`)}e.push("")}if(t.returns&&(e.push("## \u8FD4\u56DE\u503C"),e.push(""),e.push(`**\u7C7B\u578B:** ${t.returns.type}`),e.push(""),t.returns.fields&&t.returns.fields.length>0)){e.push("| \u5B57\u6BB5 | \u7C7B\u578B | \u8BF4\u660E |"),e.push("| --- | --- | --- |");for(let s of t.returns.fields)e.push(`| ${s.name} | ${s.type} | ${s.description} |`);e.push("")}if(t.examples.length>0){e.push("## \u4EE3\u7801\u793A\u4F8B"),e.push("");for(let s of t.examples)s.title&&(e.push(`### ${s.title}`),e.push("")),s.frameworkVersion&&(e.push(`> \u6846\u67B6\u7248\u672C: ${s.frameworkVersion}`),e.push("")),e.push(`\`\`\`${s.language}`),e.push(s.code),e.push("```"),e.push("")}return t.relatedMethods&&t.relatedMethods.length>0&&(e.push("## \u76F8\u5173\u65B9\u6CD5"),e.push(""),e.push(t.relatedMethods.map(s=>`- ${s}`).join(`
1288
+ `)),e.push("")),e.join(`
1289
+ `)}function I(t){return t===!0?"\u2705 \u652F\u6301":t===!1?"\u274C \u4E0D\u652F\u6301":`\u26A0\uFE0F ${t}`}import*as C from"fs";import*as $ from"path";var ut="docs/standards";function ct(){let e=$.dirname(new URL(import.meta.url).pathname).replace(/^\/([A-Z]:)/,"$1");return $.join(e,"..","..",ut)}function ft(t){try{let s=C.readFileSync(t,"utf-8").split(`
1290
+ `),o={filePath:t,rules:[],examples:[],antiPatterns:[]},r="",n=null,i="",a=!1,l="";for(let u of s){if(u.startsWith("# ")){o.name=u.substring(2).trim();continue}if(u.startsWith("<!-- ")){let c=u.match(/<!--\s*(\w+):\s*(.+?)\s*-->/);if(c){let[,d,f]=c;d==="id"&&(o.id=f),d==="category"&&(o.category=f),d==="version"&&(o.version=f),d==="lastUpdated"&&(o.lastUpdated=f)}continue}if(u.startsWith("## ")){r=u.substring(3).trim().toLowerCase();continue}if(u.startsWith("### ")){n&&n.title&&o.rules.push(n),n={id:`rule-${o.rules.length+1}`,title:u.substring(4).trim(),description:"",severity:"warning"};continue}if(u.startsWith("```")){if(a){let c={code:i.trim(),language:l||"javascript"};r.includes("\u53CD\u6A21\u5F0F")||r.includes("anti")?o.antiPatterns.push(c):r.includes("\u793A\u4F8B")||r.includes("example")?o.examples.push(c):n&&(i.includes("// \u274C")||i.includes("// \u9519\u8BEF")?n.badExample=i.trim():n.goodExample=i.trim()),i="",a=!1}else a=!0,l=u.substring(3).trim();continue}if(a){i+=u+`
1291
+ `;continue}u.trim()&&!u.startsWith("-")&&!u.startsWith("|")&&(n&&!n.description?n.description=u.trim():!o.description&&r===""&&(o.description=u.trim()))}n&&n.title&&o.rules.push(n);let p=$.basename(t,".md");return o.id||(o.id=p),o.category||(p.includes("css")||p.includes("scss")?o.category="css":p.includes("vue")?o.category="vue":p.includes("js")||p.includes("javascript")?o.category="javascript":p.includes("ts")||p.includes("typescript")?o.category="typescript":p.includes("project")||p.includes("structure")?o.category="project":p.includes("git")?o.category="git":p.includes("naming")&&(o.category="naming")),o.version||(o.version="1.0.0"),o.lastUpdated||(o.lastUpdated=new Date().toISOString().split("T")[0]),o}catch(e){return console.error(`[StandardsManager] \u89E3\u6790\u89C4\u8303\u6587\u6863\u5931\u8D25: ${t}`,e),null}}function xe(){let t=new Map,e=ct();if(!C.existsSync(e))return console.error(`[StandardsManager] \u89C4\u8303\u76EE\u5F55\u4E0D\u5B58\u5728: ${e}`),t;let s=C.readdirSync(e);for(let o of s)if(o.endsWith(".md")){let r=$.join(e,o),n=ft(r);n&&t.set(n.id,n)}return console.error(`[StandardsManager] \u52A0\u8F7D\u4E86 ${t.size} \u4E2A\u89C4\u8303\u6587\u6863`),t}function ve(t,e){let s=[];for(let o of t.values())o.category===e&&s.push(o);return s}function $e(t,e){return t.get(e)}function ke(t,e){let s=[];for(let o of t.values())(!e||o.category===e)&&s.push({id:o.id,name:o.name,category:o.category,description:o.description});return s}function H(t){let e=[];if(e.push(`# ${t.name}`),e.push(""),e.push(`**\u5206\u7C7B:** ${t.category}`),e.push(`**\u7248\u672C:** ${t.version}`),e.push(`**\u66F4\u65B0\u65F6\u95F4:** ${t.lastUpdated}`),e.push(""),e.push(t.description),e.push(""),t.rules.length>0){e.push("## \u89C4\u5219"),e.push("");for(let s of t.rules)e.push(`### ${s.title}`),e.push(""),e.push(s.description),e.push(""),s.goodExample&&(e.push("**\u6B63\u786E\u793A\u4F8B:**"),e.push("```javascript"),e.push(s.goodExample),e.push("```"),e.push("")),s.badExample&&(e.push("**\u9519\u8BEF\u793A\u4F8B:**"),e.push("```javascript"),e.push(s.badExample),e.push("```"),e.push(""))}if(t.examples.length>0){e.push("## \u793A\u4F8B"),e.push("");for(let s of t.examples)s.title&&(e.push(`### ${s.title}`),e.push("")),e.push(`\`\`\`${s.language}`),e.push(s.code),e.push("```"),e.push("")}if(t.antiPatterns.length>0){e.push("## \u53CD\u6A21\u5F0F"),e.push("");for(let s of t.antiPatterns)s.title&&(e.push(`### ${s.title}`),e.push("")),e.push(`\`\`\`${s.language}`),e.push(s.code),e.push("```"),e.push("")}return e.join(`
1292
+ `)}function je(t,e){let s=["css","vue","javascript","typescript","naming","project","git"];if(e.id){let o=$e(t,e.id);return o?{found:!0,standard:o,markdown:H(o)}:{found:!1,error:`\u672A\u627E\u5230\u89C4\u8303: ${e.id}`,availableCategories:s}}if(e.category){let o=ve(t,e.category);return o.length>0?o.length===1?{found:!0,standard:o[0],markdown:H(o[0])}:{found:!0,standards:o}:{found:!1,error:`\u672A\u627E\u5230\u5206\u7C7B "${e.category}" \u4E0B\u7684\u89C4\u8303`,availableCategories:s}}return{found:!1,error:"\u8BF7\u6307\u5B9A\u89C4\u8303 ID \u6216\u5206\u7C7B",availableCategories:s}}function Me(t,e){let s=ke(t,e),o=new Set;for(let r of t.values())o.add(r.category);return{standards:s,total:s.length,categories:Array.from(o).sort()}}function Se(t){let e=[];e.push("# \u53EF\u7528\u7684\u7F16\u7801\u89C4\u8303"),e.push(""),e.push(`\u5171 ${t.total} \u4E2A\u89C4\u8303`),e.push("");let s=new Map;for(let r of t.standards){let n=s.get(r.category)||[];n.push(r),s.set(r.category,n)}let o={css:"CSS/SCSS \u89C4\u8303",vue:"Vue \u7EC4\u4EF6\u89C4\u8303",javascript:"JavaScript \u89C4\u8303",typescript:"TypeScript \u89C4\u8303",naming:"\u547D\u540D\u89C4\u8303",project:"\u9879\u76EE\u7ED3\u6784\u89C4\u8303",git:"Git \u89C4\u8303"};for(let[r,n]of s){e.push(`## ${o[r]||r}`),e.push("");for(let i of n)e.push(`- **${i.name}** (\`${i.id}\`)`),e.push(` ${i.description}`);e.push("")}return e.push("---"),e.push("\u4F7F\u7528 `get_standard` \u5DE5\u5177\u67E5\u770B\u89C4\u8303\u8BE6\u60C5\uFF0C\u4F8B\u5982\uFF1A"),e.push('- \u6309 ID \u67E5\u8BE2: `{ "id": "vue-style" }`'),e.push('- \u6309\u5206\u7C7B\u67E5\u8BE2: `{ "category": "css" }`'),e.join(`
1293
+ `)}var x=null,P=new Map,wt=ht(import.meta.url),xt=gt(wt),vt=Ce(xt,"..");function Pe(t,e,s){if(process.env[t])return process.env[t];let o=Ce(vt,"docs",e);return yt(o)?o:s}var $t=Pe("EJS_DOC_PATH","ejs-doc","ejs-doc"),kt=Pe("M8_DOC_PATH","m8mpdoc-develop","m8mpdoc-develop");async function jt(){console.error("[M8 MCP] \u6B63\u5728\u521D\u59CB\u5316\u6587\u6863\u7D22\u5F15...");try{x=await ee($t,kt),console.error(`[M8 MCP] \u7D22\u5F15\u6784\u5EFA\u5B8C\u6210: ${x.components.size} \u4E2A\u7EC4\u4EF6, ${x.ejsApis.size} \u4E2A API, ${x.utilMethods.size} \u4E2A Util \u65B9\u6CD5`),P=xe(),x.standards=P,console.error(`[M8 MCP] \u52A0\u8F7D\u4E86 ${P.size} \u4E2A\u7F16\u7801\u89C4\u8303`)}catch(t){console.error("[M8 MCP] \u7D22\u5F15\u6784\u5EFA\u5931\u8D25:",t),x={components:new Map,ejsApis:new Map,utilMethods:new Map,standards:new Map,keywords:new Map,categories:new Map,buildTime:new Date}}}function w(){if(!x)throw new Error("\u6587\u6863\u7D22\u5F15\u5C1A\u672A\u521D\u59CB\u5316");return x}function Mt(){let t=new dt({name:"M8FrameworkMCP",version:"1.0.0"});return t.tool("search_component","\u641C\u7D22 M8 \u6846\u67B6 UI \u7EC4\u4EF6\uFF0C\u652F\u6301\u6309\u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0\u641C\u7D22",{query:h.string().describe("\u641C\u7D22\u5173\u952E\u8BCD\uFF0C\u5982\u7EC4\u4EF6\u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0"),category:h.string().optional().describe('\u53EF\u9009\u7684\u5206\u7C7B\u8FC7\u6EE4\uFF0C\u5982"\u8868\u5355\u7EC4\u4EF6"\u3001"\u53CD\u9988\u7EC4\u4EF6"'),platform:h.string().optional().describe('\u53EF\u9009\u7684\u5E73\u53F0\u8FC7\u6EE4\uFF0C\u5982"wechat"\u3001"alipay"')},async({query:e,category:s,platform:o})=>{let r=se(w(),e,{category:s,platform:o});return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}),t.tool("search_ejs_api","\u641C\u7D22 EJS \u539F\u751F API\uFF0C\u652F\u6301\u6309\u6A21\u5757\u6216\u529F\u80FD\u63CF\u8FF0\u641C\u7D22",{query:h.string().describe("\u641C\u7D22\u5173\u952E\u8BCD\uFF0C\u5982 API \u540D\u79F0\u6216\u529F\u80FD\u63CF\u8FF0"),module:h.string().optional().describe('\u53EF\u9009\u7684\u6A21\u5757\u8FC7\u6EE4\uFF0C\u5982"ui"\u3001"device"\u3001"storage"')},async({query:e,module:s})=>{let o=oe(w(),e,{module:s});return{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}),t.tool("get_component_detail","\u83B7\u53D6 M8 \u6846\u67B6 UI \u7EC4\u4EF6\u7684\u5B8C\u6574\u6587\u6863\uFF0C\u5305\u62EC Props\u3001Events\u3001\u793A\u4F8B\u4EE3\u7801",{name:h.string().describe('\u7EC4\u4EF6\u540D\u79F0\uFF0C\u5982"button"\u3001"form"\u3001"picker"')},async({name:e})=>{let s=re(w(),e);return{content:[{type:"text",text:JSON.stringify(s,null,2)}]}}),t.tool("get_api_detail","\u83B7\u53D6 EJS API \u7684\u5B8C\u6574\u6587\u6863\uFF0C\u5305\u62EC\u53C2\u6570\u3001\u8FD4\u56DE\u503C\u3001\u5E73\u53F0\u5DEE\u5F02",{module:h.string().describe('\u6A21\u5757\u540D\uFF0C\u5982"ui"\u3001"device"'),name:h.string().describe('API \u540D\u79F0\uFF0C\u5982"toast"\u3001"alert"')},async({module:e,name:s})=>{let o=ne(w(),e,s);return{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}),t.tool("recommend","\u6839\u636E\u9700\u6C42\u63CF\u8FF0\u667A\u80FD\u63A8\u8350\u5408\u9002\u7684\u7EC4\u4EF6\u548C API",{requirement:h.string().describe('\u9700\u6C42\u63CF\u8FF0\uFF0C\u5982"\u5B9E\u73B0\u4E00\u4E2A\u5E26\u65E5\u671F\u9009\u62E9\u7684\u8868\u5355"'),platform:h.string().optional().describe('\u76EE\u6807\u5E73\u53F0\uFF0C\u5982"wechat"\u3001"h5"')},async({requirement:e,platform:s})=>{let o=ae(w(),e,s);return{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}),t.tool("generate_code","\u751F\u6210\u7B26\u5408 M8 \u6846\u67B6\u89C4\u8303\u7684\u4EE3\u7801\uFF0C\u652F\u6301 M8.3(Vue2) \u548C M8.4(Vue3)",{type:h.enum(["component","ejsApi","pattern"]).describe("\u751F\u6210\u7C7B\u578B"),name:h.string().describe("\u7EC4\u4EF6/API/\u6A21\u5F0F\u540D\u79F0"),frameworkVersion:h.enum(["M8.3","M8.4"]).describe("\u6846\u67B6\u7248\u672C\uFF0CM8.3=Vue2, M8.4=Vue3"),platform:h.string().optional().describe("\u76EE\u6807\u5E73\u53F0\uFF0C\u7528\u4E8E\u751F\u6210\u6761\u4EF6\u7F16\u8BD1\u4EE3\u7801")},async({type:e,name:s,frameworkVersion:o,platform:r})=>{let n=de(w(),{type:e,name:s,options:{frameworkVersion:o,platform:r}});return{content:[{type:"text",text:JSON.stringify(n,null,2)}]}}),t.tool("check_compatibility","\u68C0\u67E5\u7EC4\u4EF6\u6216 API \u5728\u76EE\u6807\u5E73\u53F0\u7684\u517C\u5BB9\u6027",{items:h.array(h.string()).describe("\u8981\u68C0\u67E5\u7684\u7EC4\u4EF6\u6216 API \u5217\u8868"),targetPlatforms:h.array(h.string()).describe('\u76EE\u6807\u5E73\u53F0\u5217\u8868\uFF0C\u5982["wechat", "alipay", "h5"]')},async({items:e,targetPlatforms:s})=>{let o=me(w(),e,s);return{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}),t.tool("get_pattern","\u83B7\u53D6\u5E38\u89C1\u573A\u666F\u7684\u5B9E\u73B0\u6A21\u5F0F\uFF0C\u5982\u5217\u8868\u8BE6\u60C5\u3001\u8868\u5355\u63D0\u4EA4",{scenario:h.string().describe('\u573A\u666F\u540D\u79F0\uFF0C\u5982"\u5217\u8868\u8BE6\u60C5"\u3001"\u8868\u5355\u63D0\u4EA4"'),frameworkVersion:h.enum(["M8.3","M8.4"]).optional().describe("\u6846\u67B6\u7248\u672C\uFF0C\u4E0D\u6307\u5B9A\u5219\u8FD4\u56DE\u4E24\u4E2A\u7248\u672C")},async({scenario:e,frameworkVersion:s})=>{let o=he(e,s);return{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}),t.tool("search_util","\u641C\u7D22 M8 \u6846\u67B6 Util \u5DE5\u5177\u65B9\u6CD5\uFF0C\u5982 Util.ajax\u3001Util.upload \u7B49",{query:h.string().describe('\u641C\u7D22\u5173\u952E\u8BCD\uFF0C\u5982"ajax"\u3001"\u8BF7\u6C42"\u3001"\u4E0A\u4F20"'),category:h.string().optional().describe('\u53EF\u9009\u7684\u5206\u7C7B\u8FC7\u6EE4\uFF0C\u5982"\u6838\u5FC3\u901A\u7528Util"\u3001"Util\u5DE5\u5177\u96C6"')},async({query:e,category:s})=>{let o=ge(w(),e,{category:s});return{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}),t.tool("get_util_detail","\u83B7\u53D6 Util \u5DE5\u5177\u65B9\u6CD5\u7684\u5B8C\u6574\u6587\u6863\uFF0C\u5305\u62EC\u53C2\u6570\u3001\u8FD4\u56DE\u503C\u3001\u4EE3\u7801\u793A\u4F8B",{name:h.string().describe('\u65B9\u6CD5\u540D\uFF0C\u5982"ajax"\u6216"Util.ajax"')},async({name:e})=>{let s=ye(w(),e),o=JSON.stringify(s,null,2);return s.found&&s.method&&(o+=`
1294
+
1295
+ ---
1296
+
1297
+ `+we(s.method)),{content:[{type:"text",text:o}]}}),t.tool("get_standard","\u83B7\u53D6\u7F16\u7801\u89C4\u8303\u6587\u6863\uFF0C\u652F\u6301\u6309\u5206\u7C7B\u6216 ID \u67E5\u8BE2",{id:h.string().optional().describe('\u89C4\u8303 ID\uFF0C\u5982"vue-style"\u3001"css-style"'),category:h.enum(["css","vue","javascript","typescript","naming","project","git"]).optional().describe("\u89C4\u8303\u5206\u7C7B")},async({id:e,category:s})=>{let o=je(P,{id:e,category:s}),r=JSON.stringify(o,null,2);return o.found&&o.markdown&&(r=o.markdown),{content:[{type:"text",text:r}]}}),t.tool("list_standards","\u5217\u51FA\u6240\u6709\u53EF\u7528\u7684\u7F16\u7801\u89C4\u8303",{category:h.enum(["css","vue","javascript","typescript","naming","project","git"]).optional().describe("\u53EF\u9009\u7684\u5206\u7C7B\u8FC7\u6EE4")},async({category:e})=>{let s=Me(P,e);return{content:[{type:"text",text:Se(s)}]}}),t}async function St(){await jt();let t=Mt(),e=new mt;console.error("[M8 MCP] \u670D\u52A1\u5668\u542F\u52A8\u4E2D..."),await t.connect(e),console.error("[M8 MCP] \u670D\u52A1\u5668\u5DF2\u542F\u52A8\uFF0C\u7B49\u5F85\u8FDE\u63A5...")}St().catch(t=>{console.error("[M8 MCP] \u670D\u52A1\u5668\u542F\u52A8\u5931\u8D25:",t),process.exit(1)});