m8-mcp-server 1.0.0 → 1.0.2

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 (266) hide show
  1. package/README.md +153 -30
  2. package/dist/cli.d.ts +9 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +14 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/docs/apis.d.ts +38 -0
  7. package/dist/docs/apis.d.ts.map +1 -0
  8. package/dist/docs/apis.js +326 -0
  9. package/dist/docs/apis.js.map +1 -0
  10. package/dist/docs/components.d.ts +45 -0
  11. package/dist/docs/components.d.ts.map +1 -0
  12. package/dist/docs/components.js +186 -0
  13. package/dist/docs/components.js.map +1 -0
  14. package/dist/docs/index.d.ts +94 -0
  15. package/dist/docs/index.d.ts.map +1 -0
  16. package/dist/docs/index.js +182 -0
  17. package/dist/docs/index.js.map +1 -0
  18. package/dist/docs/loader.d.ts +51 -0
  19. package/dist/docs/loader.d.ts.map +1 -0
  20. package/dist/docs/loader.js +165 -0
  21. package/dist/docs/loader.js.map +1 -0
  22. package/dist/docs/search.d.ts +28 -0
  23. package/dist/docs/search.d.ts.map +1 -0
  24. package/dist/docs/search.js +196 -0
  25. package/dist/docs/search.js.map +1 -0
  26. package/dist/docs/standards.d.ts +41 -0
  27. package/dist/docs/standards.d.ts.map +1 -0
  28. package/dist/docs/standards.js +134 -0
  29. package/dist/docs/standards.js.map +1 -0
  30. package/dist/docs/utils.d.ts +46 -0
  31. package/dist/docs/utils.d.ts.map +1 -0
  32. package/dist/docs/utils.js +129 -0
  33. package/dist/docs/utils.js.map +1 -0
  34. package/dist/generator/header.d.ts +32 -0
  35. package/dist/generator/header.d.ts.map +1 -0
  36. package/dist/generator/header.js +83 -0
  37. package/dist/generator/header.js.map +1 -0
  38. package/dist/generator/index.d.ts +50 -0
  39. package/dist/generator/index.d.ts.map +1 -0
  40. package/dist/generator/index.js +387 -0
  41. package/dist/generator/index.js.map +1 -0
  42. package/dist/generator/vue-template.d.ts +54 -0
  43. package/dist/generator/vue-template.d.ts.map +1 -0
  44. package/dist/generator/vue-template.js +191 -0
  45. package/dist/generator/vue-template.js.map +1 -0
  46. package/dist/index.d.ts +21 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +73 -1
  49. package/dist/index.js.map +1 -0
  50. package/dist/recommend/index.d.ts +27 -0
  51. package/dist/recommend/index.d.ts.map +1 -0
  52. package/dist/recommend/index.js +412 -0
  53. package/dist/recommend/index.js.map +1 -0
  54. package/dist/tools/generate-code.d.ts +18 -0
  55. package/dist/tools/generate-code.d.ts.map +1 -0
  56. package/dist/tools/generate-code.js +155 -0
  57. package/dist/tools/generate-code.js.map +1 -0
  58. package/dist/tools/get-api-info.d.ts +18 -0
  59. package/dist/tools/get-api-info.d.ts.map +1 -0
  60. package/dist/tools/get-api-info.js +65 -0
  61. package/dist/tools/get-api-info.js.map +1 -0
  62. package/dist/tools/get-coding-standard.d.ts +18 -0
  63. package/dist/tools/get-coding-standard.d.ts.map +1 -0
  64. package/dist/tools/get-coding-standard.js +66 -0
  65. package/dist/tools/get-coding-standard.js.map +1 -0
  66. package/dist/tools/get-component-info.d.ts +18 -0
  67. package/dist/tools/get-component-info.d.ts.map +1 -0
  68. package/dist/tools/get-component-info.js +60 -0
  69. package/dist/tools/get-component-info.js.map +1 -0
  70. package/dist/tools/get-util-info.d.ts +18 -0
  71. package/dist/tools/get-util-info.d.ts.map +1 -0
  72. package/dist/tools/get-util-info.js +65 -0
  73. package/dist/tools/get-util-info.js.map +1 -0
  74. package/dist/tools/index.d.ts +56 -0
  75. package/dist/tools/index.d.ts.map +1 -0
  76. package/dist/tools/index.js +101 -0
  77. package/dist/tools/index.js.map +1 -0
  78. package/dist/tools/recommend-solution.d.ts +18 -0
  79. package/dist/tools/recommend-solution.d.ts.map +1 -0
  80. package/dist/tools/recommend-solution.js +67 -0
  81. package/dist/tools/recommend-solution.js.map +1 -0
  82. package/dist/tools/search-docs.d.ts +18 -0
  83. package/dist/tools/search-docs.d.ts.map +1 -0
  84. package/dist/tools/search-docs.js +71 -0
  85. package/dist/tools/search-docs.js.map +1 -0
  86. package/dist/types/index.d.ts +285 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/index.js +8 -0
  89. package/dist/types/index.js.map +1 -0
  90. package/package.json +27 -26
  91. package/resources/cases/.gitkeep +0 -0
  92. package/resources/cases/form-submit-vue2.json +15 -0
  93. package/resources/cases/index.json +8 -0
  94. package/resources/cases/list-detail-vue2.json +27 -0
  95. package/resources/components/.gitkeep +0 -0
  96. package/resources/components/button.json +74 -0
  97. package/resources/components/cell.json +69 -0
  98. package/resources/components/field.json +88 -0
  99. package/resources/components/index.json +72 -0
  100. package/resources/standards/.gitkeep +0 -0
  101. package/resources/standards/css.json +108 -0
  102. package/resources/standards/javascript.json +129 -0
  103. package/resources/standards/project-structure.json +101 -0
  104. package/resources/standards/vue.json +122 -0
  105. package/resources/utils/.gitkeep +0 -0
  106. package/resources/utils/ajax.json +76 -0
  107. package/resources/utils/common.json +129 -0
  108. package/resources/utils/index.json +7 -0
  109. package/resources/utils/string.json +112 -0
  110. package/bin/m8-mcp.js +0 -2
  111. package/dist/constants.js +0 -1
  112. package/dist/data/ejs-doc/api_audio/api_audio.md +0 -225
  113. package/dist/data/ejs-doc/api_auth/api_auth.md +0 -256
  114. package/dist/data/ejs-doc/api_contact/api_contact.md +0 -295
  115. package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  116. package/dist/data/ejs-doc/api_device/api_device.md +0 -761
  117. package/dist/data/ejs-doc/api_event/api_event.md +0 -244
  118. package/dist/data/ejs-doc/api_global/api_global.md +0 -440
  119. package/dist/data/ejs-doc/api_io/api_io.md +0 -369
  120. package/dist/data/ejs-doc/api_navigator/api_navigator.md +0 -654
  121. package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  122. package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  123. package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  124. package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  125. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  126. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  127. package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  128. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  129. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  130. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  131. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  132. package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  133. package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  134. package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  135. package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  136. package/dist/data/ejs-doc/api_page/api_page.md +0 -261
  137. package/dist/data/ejs-doc/api_runtime/api_runtime.md +0 -788
  138. package/dist/data/ejs-doc/api_storage/api_storage.md +0 -320
  139. package/dist/data/ejs-doc/api_stream/api_stream.md +0 -152
  140. package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  141. package/dist/data/ejs-doc/api_ui/api_ui.md +0 -836
  142. package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  143. package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  144. package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
  145. package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  146. package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  147. package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  148. package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  149. package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  150. package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  151. package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  152. package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  153. package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  154. package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
  155. package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
  156. package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
  157. package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  158. package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  159. package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
  160. package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  161. package/dist/data/ejs-doc/api_util/api_util.md +0 -615
  162. package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
  163. package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
  164. package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
  165. package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
  166. package/dist/data/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
  167. package/dist/data/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
  168. package/dist/data/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
  169. package/dist/data/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
  170. package/dist/data/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
  171. package/dist/data/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
  172. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
  173. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
  174. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
  175. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
  176. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
  177. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
  178. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
  179. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
  180. package/dist/data/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
  181. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
  182. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
  183. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
  184. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
  185. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
  186. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
  187. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
  188. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
  189. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
  190. package/dist/data/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
  191. package/dist/data/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
  192. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
  193. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
  194. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +0 -213
  195. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +0 -501
  196. package/dist/data/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
  197. package/dist/data/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
  198. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +0 -539
  199. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
  200. package/dist/data/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
  201. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
  202. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
  203. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +0 -152
  204. package/dist/data/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
  205. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
  206. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
  207. package/dist/data/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
  208. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +0 -519
  209. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +0 -152
  210. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +0 -103
  211. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +0 -285
  212. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
  213. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
  214. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
  215. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +0 -340
  216. package/dist/data/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
  217. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
  218. package/dist/data/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
  219. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
  220. package/dist/data/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
  221. package/dist/data/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
  222. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +0 -111
  223. package/dist/data/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
  224. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
  225. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
  226. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +0 -429
  227. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
  228. package/dist/data/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
  229. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +0 -577
  230. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +0 -491
  231. package/dist/data/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
  232. package/dist/data/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
  233. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +0 -139
  234. package/dist/data/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
  235. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
  236. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +0 -289
  237. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +0 -97
  238. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +0 -146
  239. package/dist/data/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
  240. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +0 -120
  241. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +0 -114
  242. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +0 -119
  243. package/dist/data/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
  244. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +0 -161
  245. package/dist/data/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
  246. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +0 -314
  247. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
  248. package/dist/data/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
  249. package/dist/data/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
  250. package/dist/data/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
  251. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
  252. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +0 -51
  253. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
  254. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +0 -1538
  255. package/dist/data/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
  256. package/dist/data/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
  257. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
  258. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +0 -531
  259. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
  260. package/dist/data/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
  261. package/dist/data/standards/css-style.md +0 -531
  262. package/dist/data/standards/js-style.md +0 -394
  263. package/dist/data/standards/project-structure.md +0 -325
  264. package/dist/data/standards/vue-style.md +0 -644
  265. package/dist/tools/search.js +0 -1
  266. package/dist/tools/standards.js +0 -1
@@ -0,0 +1,387 @@
1
+ /**
2
+ * 代码生成器主入口
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 根据需求生成符合 M8 规范的代码
6
+ */
7
+ import { generateFileHeader, generateScssFileHeader } from './header.js';
8
+ import { generateVueTemplate } from './vue-template.js';
9
+ /**
10
+ * 生成 API 调用代码
11
+ * @param requirement 需求描述
12
+ * @returns 生成的代码
13
+ */
14
+ function generateApiCallCode(requirement) {
15
+ const header = generateFileHeader({
16
+ description: requirement
17
+ });
18
+ // 分析需求,生成对应的 API 调用代码
19
+ const code = `${header}
20
+
21
+ /**
22
+ * ${requirement}
23
+ * 使用 Util.ajax 发送请求,遵循 M8 规范
24
+ */
25
+
26
+ // 引入配置
27
+ import Config from '@/config';
28
+
29
+ /**
30
+ * 发送 API 请求
31
+ * @param {Object} params - 请求参数
32
+ * @returns {Promise} 请求结果
33
+ */
34
+ export function fetchData(params = {}) {
35
+ return new Promise((resolve, reject) => {
36
+ Util.ajax({
37
+ url: Config.serverUrl + '/api/endpoint',
38
+ type: 'POST',
39
+ data: params,
40
+ success: (res) => {
41
+ if (res.success) {
42
+ resolve(res.data);
43
+ } else {
44
+ reject(new Error(res.message || '请求失败'));
45
+ }
46
+ },
47
+ error: (err) => {
48
+ reject(err);
49
+ }
50
+ });
51
+ });
52
+ }
53
+
54
+ /**
55
+ * GET 请求示例
56
+ * @param {string} id - 数据 ID
57
+ * @returns {Promise} 请求结果
58
+ */
59
+ export function getDataById(id) {
60
+ return new Promise((resolve, reject) => {
61
+ Util.ajax({
62
+ url: Config.serverUrl + '/api/data/' + id,
63
+ type: 'GET',
64
+ success: (res) => {
65
+ if (res.success) {
66
+ resolve(res.data);
67
+ } else {
68
+ reject(new Error(res.message || '请求失败'));
69
+ }
70
+ },
71
+ error: (err) => {
72
+ reject(err);
73
+ }
74
+ });
75
+ });
76
+ }
77
+ `;
78
+ return {
79
+ code,
80
+ language: 'javascript',
81
+ explanation: `生成了符合 M8 规范的 API 调用代码:
82
+ - 使用 Util.ajax 而非 fetch 或 axios
83
+ - 使用 Config.serverUrl 作为 API 基础 URL
84
+ - 包含完整的错误处理
85
+ - 包含规范的文件头注释`
86
+ };
87
+ }
88
+ /**
89
+ * 生成 JavaScript 代码
90
+ * @param requirement 需求描述
91
+ * @returns 生成的代码
92
+ */
93
+ function generateJavaScriptCode(requirement) {
94
+ const header = generateFileHeader({
95
+ description: requirement
96
+ });
97
+ const code = `${header}
98
+
99
+ /**
100
+ * ${requirement}
101
+ */
102
+
103
+ // TODO: 根据需求实现具体逻辑
104
+
105
+ /**
106
+ * 示例函数
107
+ * @param {Object} options - 配置选项
108
+ * @returns {*} 处理结果
109
+ */
110
+ export function processData(options = {}) {
111
+ // TODO: 实现数据处理逻辑
112
+ return options;
113
+ }
114
+ `;
115
+ return {
116
+ code,
117
+ language: 'javascript',
118
+ explanation: `生成了基础的 JavaScript 代码框架,包含:
119
+ - 规范的文件头注释
120
+ - 函数注释模板
121
+ - 基础代码结构`
122
+ };
123
+ }
124
+ /**
125
+ * 生成 SCSS 代码
126
+ * @param requirement 需求描述
127
+ * @returns 生成的代码
128
+ */
129
+ function generateScssCode(requirement) {
130
+ const header = generateScssFileHeader({
131
+ description: requirement
132
+ });
133
+ const code = `${header}
134
+
135
+ /**
136
+ * ${requirement}
137
+ */
138
+
139
+ // 变量定义
140
+ $primary-color: #1989fa;
141
+ $text-color: #323233;
142
+ $border-color: #ebedf0;
143
+ $background-color: #f7f8fa;
144
+
145
+ // 混入定义
146
+ @mixin flex-center {
147
+ display: flex;
148
+ align-items: center;
149
+ justify-content: center;
150
+ }
151
+
152
+ @mixin ellipsis {
153
+ overflow: hidden;
154
+ text-overflow: ellipsis;
155
+ white-space: nowrap;
156
+ }
157
+
158
+ // 组件样式
159
+ .component {
160
+ padding: 12px;
161
+ background-color: $background-color;
162
+
163
+ &__header {
164
+ @include flex-center;
165
+ padding: 8px 0;
166
+ border-bottom: 1px solid $border-color;
167
+ }
168
+
169
+ &__content {
170
+ padding: 16px 0;
171
+ }
172
+
173
+ &__title {
174
+ @include ellipsis;
175
+ font-size: 16px;
176
+ color: $text-color;
177
+ }
178
+
179
+ &__footer {
180
+ padding: 8px 0;
181
+ text-align: center;
182
+ }
183
+ }
184
+ `;
185
+ return {
186
+ code,
187
+ language: 'scss',
188
+ explanation: `生成了符合 M8 规范的 SCSS 代码:
189
+ - 使用 BEM 命名规范
190
+ - 定义了常用变量
191
+ - 包含常用混入
192
+ - 规范的文件头注释`
193
+ };
194
+ }
195
+ /**
196
+ * 生成 Vue 组件代码
197
+ * @param requirement 需求描述
198
+ * @param vueVersion Vue 版本
199
+ * @param components 使用的组件列表
200
+ * @returns 生成的代码
201
+ */
202
+ function generateVueComponentCode(requirement, vueVersion = 2, components = []) {
203
+ // 从需求中提取组件名称
204
+ const componentName = extractComponentName(requirement);
205
+ const options = {
206
+ name: componentName,
207
+ vueVersion,
208
+ description: requirement,
209
+ components,
210
+ includeStyle: true
211
+ };
212
+ const code = generateVueTemplate(options);
213
+ const apiStyle = vueVersion === 3 ? 'Composition API (script setup)' : 'Options API';
214
+ return {
215
+ code,
216
+ language: 'vue',
217
+ explanation: `生成了 Vue${vueVersion} 组件代码:
218
+ - 使用 ${apiStyle} 语法
219
+ - 包含规范的文件头注释
220
+ - 使用 BEM 命名的 SCSS 样式
221
+ - ${components.length > 0 ? `集成了 ${components.join(', ')} 组件` : '基础组件结构'}`
222
+ };
223
+ }
224
+ /**
225
+ * 从需求描述中提取组件名称
226
+ * @param requirement 需求描述
227
+ * @returns 组件名称
228
+ */
229
+ function extractComponentName(requirement) {
230
+ // 尝试从需求中提取有意义的名称
231
+ const patterns = [
232
+ /创建(.+?)组件/,
233
+ /生成(.+?)页面/,
234
+ /实现(.+?)功能/,
235
+ /(.+?)列表/,
236
+ /(.+?)表单/,
237
+ /(.+?)详情/
238
+ ];
239
+ for (const pattern of patterns) {
240
+ const match = requirement.match(pattern);
241
+ if (match && match[1]) {
242
+ // 转换为 kebab-case
243
+ return match[1]
244
+ .trim()
245
+ .replace(/[\s_]+/g, '-')
246
+ .toLowerCase();
247
+ }
248
+ }
249
+ // 默认名称
250
+ return 'my-component';
251
+ }
252
+ /**
253
+ * 代码生成器类
254
+ */
255
+ export class CodeGenerator {
256
+ /**
257
+ * 生成代码
258
+ * @param options 生成选项
259
+ * @returns 生成的代码
260
+ */
261
+ generateCode(options) {
262
+ const { type, requirement, vueVersion = 2, components = [] } = options;
263
+ // 如果 type 是数组,使用 generateMultipleCode
264
+ if (Array.isArray(type)) {
265
+ const result = this.generateMultipleCode({
266
+ types: type,
267
+ requirement,
268
+ vueVersion,
269
+ components
270
+ });
271
+ // 返回第一个文件作为兼容
272
+ return {
273
+ code: result.files.map(f => f.code).join('\n\n'),
274
+ language: 'text',
275
+ explanation: result.explanation
276
+ };
277
+ }
278
+ switch (type) {
279
+ case 'vue-component':
280
+ return generateVueComponentCode(requirement, vueVersion, components);
281
+ case 'javascript':
282
+ return generateJavaScriptCode(requirement);
283
+ case 'scss':
284
+ return generateScssCode(requirement);
285
+ case 'api-call':
286
+ return generateApiCallCode(requirement);
287
+ case 'full-page':
288
+ // full-page 转换为多文件生成
289
+ const result = this.generateMultipleCode({
290
+ types: ['vue-component', 'scss'],
291
+ requirement,
292
+ vueVersion,
293
+ components
294
+ });
295
+ return {
296
+ code: result.files.map(f => `// === ${f.filename} ===\n${f.code}`).join('\n\n'),
297
+ language: 'text',
298
+ explanation: result.explanation
299
+ };
300
+ default:
301
+ return {
302
+ code: '',
303
+ language: 'text',
304
+ explanation: `不支持的代码类型: ${type}`
305
+ };
306
+ }
307
+ }
308
+ /**
309
+ * 生成多种类型的代码
310
+ * @param options 多文件生成选项
311
+ * @returns 多文件生成结果
312
+ */
313
+ generateMultipleCode(options) {
314
+ const { types, requirement, vueVersion = 2, components = [] } = options;
315
+ const componentName = extractComponentName(requirement);
316
+ const files = [];
317
+ const explanations = [];
318
+ for (const type of types) {
319
+ let result;
320
+ let filename;
321
+ switch (type) {
322
+ case 'vue-component':
323
+ result = generateVueComponentCode(requirement, vueVersion, components);
324
+ filename = `${toPascalCase(componentName)}.vue`;
325
+ break;
326
+ case 'javascript':
327
+ result = generateJavaScriptCode(requirement);
328
+ filename = `${componentName}.js`;
329
+ break;
330
+ case 'scss':
331
+ result = generateScssCode(requirement);
332
+ filename = `${componentName}.scss`;
333
+ break;
334
+ case 'api-call':
335
+ result = generateApiCallCode(requirement);
336
+ filename = `${componentName}-api.js`;
337
+ break;
338
+ default:
339
+ continue;
340
+ }
341
+ files.push({
342
+ type,
343
+ code: result.code,
344
+ language: result.language,
345
+ filename
346
+ });
347
+ explanations.push(`**${filename}**: ${result.explanation}`);
348
+ }
349
+ return {
350
+ files,
351
+ explanation: explanations.join('\n\n')
352
+ };
353
+ }
354
+ /**
355
+ * 生成文件头注释
356
+ * @param options 头部选项
357
+ * @returns 头部注释字符串
358
+ */
359
+ generateFileHeader(options) {
360
+ return generateFileHeader(options);
361
+ }
362
+ /**
363
+ * 生成 Vue 模板
364
+ * @param options 模板选项
365
+ * @returns Vue 组件代码
366
+ */
367
+ generateVueTemplate(options) {
368
+ return generateVueTemplate(options);
369
+ }
370
+ }
371
+ /**
372
+ * 转换为 PascalCase
373
+ * @param str 输入字符串
374
+ * @returns PascalCase 字符串
375
+ */
376
+ function toPascalCase(str) {
377
+ return str
378
+ .split('-')
379
+ .map(part => part.charAt(0).toUpperCase() + part.slice(1))
380
+ .join('');
381
+ }
382
+ // 导出单例
383
+ export const codeGenerator = new CodeGenerator();
384
+ // 导出子模块
385
+ export * from './header.js';
386
+ export * from './vue-template.js';
387
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Vue 模板生成器
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 生成 Vue2 和 Vue3 组件模板
6
+ */
7
+ /**
8
+ * Vue 模板生成选项
9
+ */
10
+ export interface VueTemplateOptions {
11
+ /** 组件名称 */
12
+ name: string;
13
+ /** Vue 版本 (2 或 3) */
14
+ vueVersion: 2 | 3;
15
+ /** 组件描述 */
16
+ description: string;
17
+ /** 使用的 UI 组件列表 */
18
+ components?: string[];
19
+ /** 是否包含样式 */
20
+ includeStyle?: boolean;
21
+ /** 作者 */
22
+ author?: string;
23
+ }
24
+ /**
25
+ * 生成 Vue2 组件模板 (Options API)
26
+ * @param options 模板选项
27
+ * @returns Vue2 组件代码
28
+ */
29
+ export declare function generateVue2Template(options: VueTemplateOptions): string;
30
+ /**
31
+ * 生成 Vue3 组件模板 (Composition API with script setup)
32
+ * @param options 模板选项
33
+ * @returns Vue3 组件代码
34
+ */
35
+ export declare function generateVue3Template(options: VueTemplateOptions): string;
36
+ /**
37
+ * 根据版本生成 Vue 模板
38
+ * @param options 模板选项
39
+ * @returns Vue 组件代码
40
+ */
41
+ export declare function generateVueTemplate(options: VueTemplateOptions): string;
42
+ /**
43
+ * 检查代码是否使用 Options API (Vue2 风格)
44
+ * @param code 代码字符串
45
+ * @returns 是否使用 Options API
46
+ */
47
+ export declare function isOptionsApi(code: string): boolean;
48
+ /**
49
+ * 检查代码是否使用 Composition API (Vue3 风格)
50
+ * @param code 代码字符串
51
+ * @returns 是否使用 Composition API
52
+ */
53
+ export declare function isCompositionApi(code: string): boolean;
54
+ //# sourceMappingURL=vue-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-template.d.ts","sourceRoot":"","sources":["../../src/generator/vue-template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAyFxE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA0ExE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAKvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Vue 模板生成器
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 生成 Vue2 和 Vue3 组件模板
6
+ */
7
+ import { generateVueFileHeader, generateFileHeader } from './header.js';
8
+ /**
9
+ * 生成 Vue2 组件模板 (Options API)
10
+ * @param options 模板选项
11
+ * @returns Vue2 组件代码
12
+ */
13
+ export function generateVue2Template(options) {
14
+ const { name, description, components = [], includeStyle = true, author } = options;
15
+ const headerOptions = {
16
+ author,
17
+ description
18
+ };
19
+ const header = generateVueFileHeader(headerOptions);
20
+ const scriptHeader = generateFileHeader(headerOptions);
21
+ // 生成组件导入语句
22
+ const imports = components.length > 0
23
+ ? components.map(c => {
24
+ const componentName = c.startsWith('em-') ? c : `em-${c}`;
25
+ return `// ${componentName} 组件已全局注册,无需导入`;
26
+ }).join('\n')
27
+ : '';
28
+ const template = `${header}
29
+ <template>
30
+ <div class="${name}">
31
+ <!-- TODO: 添加组件内容 -->
32
+ <div class="${name}__content">
33
+ ${components.map(c => `<${c.startsWith('em-') ? c : `em-${c}`}></${c.startsWith('em-') ? c : `em-${c}`}>`).join('\n ')}
34
+ </div>
35
+ </div>
36
+ </template>
37
+
38
+ <script>
39
+ ${scriptHeader}
40
+
41
+ ${imports}
42
+
43
+ export default {
44
+ name: '${name}',
45
+
46
+ components: {
47
+ // M8 UI 组件已全局注册
48
+ },
49
+
50
+ props: {
51
+ // TODO: 定义组件属性
52
+ },
53
+
54
+ data() {
55
+ return {
56
+ // TODO: 定义组件数据
57
+ };
58
+ },
59
+
60
+ computed: {
61
+ // TODO: 定义计算属性
62
+ },
63
+
64
+ watch: {
65
+ // TODO: 定义侦听器
66
+ },
67
+
68
+ created() {
69
+ // TODO: 组件创建时的逻辑
70
+ },
71
+
72
+ mounted() {
73
+ // TODO: 组件挂载后的逻辑
74
+ },
75
+
76
+ methods: {
77
+ // TODO: 定义组件方法
78
+ }
79
+ };
80
+ </script>
81
+ ${includeStyle ? `
82
+ <style lang="scss" scoped>
83
+ .${name} {
84
+ &__content {
85
+ // TODO: 添加样式
86
+ }
87
+ }
88
+ </style>
89
+ ` : ''}`;
90
+ return template;
91
+ }
92
+ /**
93
+ * 生成 Vue3 组件模板 (Composition API with script setup)
94
+ * @param options 模板选项
95
+ * @returns Vue3 组件代码
96
+ */
97
+ export function generateVue3Template(options) {
98
+ const { name, description, components = [], includeStyle = true, author } = options;
99
+ const headerOptions = {
100
+ author,
101
+ description
102
+ };
103
+ const header = generateVueFileHeader(headerOptions);
104
+ const template = `${header}
105
+ <template>
106
+ <div class="${name}">
107
+ <!-- TODO: 添加组件内容 -->
108
+ <div class="${name}__content">
109
+ ${components.map(c => `<${c.startsWith('em-') ? c : `em-${c}`}></${c.startsWith('em-') ? c : `em-${c}`}>`).join('\n ')}
110
+ </div>
111
+ </div>
112
+ </template>
113
+
114
+ <script setup>
115
+ /**
116
+ * @描述 ${description}
117
+ */
118
+
119
+ import { ref, reactive, computed, onMounted } from 'vue';
120
+
121
+ // ==================== Props ====================
122
+ const props = defineProps({
123
+ // TODO: 定义组件属性
124
+ });
125
+
126
+ // ==================== Emits ====================
127
+ const emit = defineEmits([
128
+ // TODO: 定义组件事件
129
+ ]);
130
+
131
+ // ==================== 响应式数据 ====================
132
+ const state = reactive({
133
+ // TODO: 定义组件状态
134
+ });
135
+
136
+ // ==================== 计算属性 ====================
137
+ // const computedValue = computed(() => {
138
+ // // TODO: 计算逻辑
139
+ // });
140
+
141
+ // ==================== 方法 ====================
142
+ // const handleClick = () => {
143
+ // // TODO: 处理逻辑
144
+ // };
145
+
146
+ // ==================== 生命周期 ====================
147
+ onMounted(() => {
148
+ // TODO: 组件挂载后的逻辑
149
+ });
150
+ </script>
151
+ ${includeStyle ? `
152
+ <style lang="scss" scoped>
153
+ .${name} {
154
+ &__content {
155
+ // TODO: 添加样式
156
+ }
157
+ }
158
+ </style>
159
+ ` : ''}`;
160
+ return template;
161
+ }
162
+ /**
163
+ * 根据版本生成 Vue 模板
164
+ * @param options 模板选项
165
+ * @returns Vue 组件代码
166
+ */
167
+ export function generateVueTemplate(options) {
168
+ if (options.vueVersion === 3) {
169
+ return generateVue3Template(options);
170
+ }
171
+ return generateVue2Template(options);
172
+ }
173
+ /**
174
+ * 检查代码是否使用 Options API (Vue2 风格)
175
+ * @param code 代码字符串
176
+ * @returns 是否使用 Options API
177
+ */
178
+ export function isOptionsApi(code) {
179
+ return code.includes('export default {') &&
180
+ (code.includes('data()') || code.includes('methods:') || code.includes('computed:'));
181
+ }
182
+ /**
183
+ * 检查代码是否使用 Composition API (Vue3 风格)
184
+ * @param code 代码字符串
185
+ * @returns 是否使用 Composition API
186
+ */
187
+ export function isCompositionApi(code) {
188
+ return code.includes('<script setup>') ||
189
+ (code.includes('setup()') && code.includes('return {'));
190
+ }
191
+ //# sourceMappingURL=vue-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-template.js","sourceRoot":"","sources":["../../src/generator/vue-template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * M8 MCP Server 主入口
3
+ * @作者 M8 Team
4
+ * @创建时间 2024-12-29
5
+ * @描述 MCP Server 实现,提供文档查询、智能推荐和代码生成服务
6
+ */
7
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
+ /**
9
+ * 创建并启动 MCP Server
10
+ */
11
+ export declare function createServer(): Promise<Server>;
12
+ /**
13
+ * 启动 MCP Server
14
+ */
15
+ export declare function startServer(): Promise<void>;
16
+ export { documentManager } from './docs/index.js';
17
+ export { toolManager } from './tools/index.js';
18
+ export { codeGenerator } from './generator/index.js';
19
+ export { recommendationEngine } from './recommend/index.js';
20
+ export * from './types/index.js';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAUnE;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAqCpD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBjD;AAGD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,cAAc,kBAAkB,CAAC"}