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.
- package/README.md +153 -30
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +14 -0
- package/dist/cli.js.map +1 -0
- package/dist/docs/apis.d.ts +38 -0
- package/dist/docs/apis.d.ts.map +1 -0
- package/dist/docs/apis.js +326 -0
- package/dist/docs/apis.js.map +1 -0
- package/dist/docs/components.d.ts +45 -0
- package/dist/docs/components.d.ts.map +1 -0
- package/dist/docs/components.js +186 -0
- package/dist/docs/components.js.map +1 -0
- package/dist/docs/index.d.ts +94 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +182 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/docs/loader.d.ts +51 -0
- package/dist/docs/loader.d.ts.map +1 -0
- package/dist/docs/loader.js +165 -0
- package/dist/docs/loader.js.map +1 -0
- package/dist/docs/search.d.ts +28 -0
- package/dist/docs/search.d.ts.map +1 -0
- package/dist/docs/search.js +196 -0
- package/dist/docs/search.js.map +1 -0
- package/dist/docs/standards.d.ts +41 -0
- package/dist/docs/standards.d.ts.map +1 -0
- package/dist/docs/standards.js +134 -0
- package/dist/docs/standards.js.map +1 -0
- package/dist/docs/utils.d.ts +46 -0
- package/dist/docs/utils.d.ts.map +1 -0
- package/dist/docs/utils.js +129 -0
- package/dist/docs/utils.js.map +1 -0
- package/dist/generator/header.d.ts +32 -0
- package/dist/generator/header.d.ts.map +1 -0
- package/dist/generator/header.js +83 -0
- package/dist/generator/header.js.map +1 -0
- package/dist/generator/index.d.ts +50 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +387 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/vue-template.d.ts +54 -0
- package/dist/generator/vue-template.d.ts.map +1 -0
- package/dist/generator/vue-template.js +191 -0
- package/dist/generator/vue-template.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -1
- package/dist/index.js.map +1 -0
- package/dist/recommend/index.d.ts +27 -0
- package/dist/recommend/index.d.ts.map +1 -0
- package/dist/recommend/index.js +412 -0
- package/dist/recommend/index.js.map +1 -0
- package/dist/tools/generate-code.d.ts +18 -0
- package/dist/tools/generate-code.d.ts.map +1 -0
- package/dist/tools/generate-code.js +155 -0
- package/dist/tools/generate-code.js.map +1 -0
- package/dist/tools/get-api-info.d.ts +18 -0
- package/dist/tools/get-api-info.d.ts.map +1 -0
- package/dist/tools/get-api-info.js +65 -0
- package/dist/tools/get-api-info.js.map +1 -0
- package/dist/tools/get-coding-standard.d.ts +18 -0
- package/dist/tools/get-coding-standard.d.ts.map +1 -0
- package/dist/tools/get-coding-standard.js +66 -0
- package/dist/tools/get-coding-standard.js.map +1 -0
- package/dist/tools/get-component-info.d.ts +18 -0
- package/dist/tools/get-component-info.d.ts.map +1 -0
- package/dist/tools/get-component-info.js +60 -0
- package/dist/tools/get-component-info.js.map +1 -0
- package/dist/tools/get-util-info.d.ts +18 -0
- package/dist/tools/get-util-info.d.ts.map +1 -0
- package/dist/tools/get-util-info.js +65 -0
- package/dist/tools/get-util-info.js.map +1 -0
- package/dist/tools/index.d.ts +56 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +101 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/recommend-solution.d.ts +18 -0
- package/dist/tools/recommend-solution.d.ts.map +1 -0
- package/dist/tools/recommend-solution.js +67 -0
- package/dist/tools/recommend-solution.js.map +1 -0
- package/dist/tools/search-docs.d.ts +18 -0
- package/dist/tools/search-docs.d.ts.map +1 -0
- package/dist/tools/search-docs.js +71 -0
- package/dist/tools/search-docs.js.map +1 -0
- package/dist/types/index.d.ts +285 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +27 -26
- package/resources/cases/.gitkeep +0 -0
- package/resources/cases/form-submit-vue2.json +15 -0
- package/resources/cases/index.json +8 -0
- package/resources/cases/list-detail-vue2.json +27 -0
- package/resources/components/.gitkeep +0 -0
- package/resources/components/button.json +74 -0
- package/resources/components/cell.json +69 -0
- package/resources/components/field.json +88 -0
- package/resources/components/index.json +72 -0
- package/resources/standards/.gitkeep +0 -0
- package/resources/standards/css.json +108 -0
- package/resources/standards/javascript.json +129 -0
- package/resources/standards/project-structure.json +101 -0
- package/resources/standards/vue.json +122 -0
- package/resources/utils/.gitkeep +0 -0
- package/resources/utils/ajax.json +76 -0
- package/resources/utils/common.json +129 -0
- package/resources/utils/index.json +7 -0
- package/resources/utils/string.json +112 -0
- package/bin/m8-mcp.js +0 -2
- package/dist/constants.js +0 -1
- package/dist/data/ejs-doc/api_audio/api_audio.md +0 -225
- package/dist/data/ejs-doc/api_auth/api_auth.md +0 -256
- package/dist/data/ejs-doc/api_contact/api_contact.md +0 -295
- package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
- package/dist/data/ejs-doc/api_device/api_device.md +0 -761
- package/dist/data/ejs-doc/api_event/api_event.md +0 -244
- package/dist/data/ejs-doc/api_global/api_global.md +0 -440
- package/dist/data/ejs-doc/api_io/api_io.md +0 -369
- package/dist/data/ejs-doc/api_navigator/api_navigator.md +0 -654
- package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
- package/dist/data/ejs-doc/api_page/api_page.md +0 -261
- package/dist/data/ejs-doc/api_runtime/api_runtime.md +0 -788
- package/dist/data/ejs-doc/api_storage/api_storage.md +0 -320
- package/dist/data/ejs-doc/api_stream/api_stream.md +0 -152
- package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
- package/dist/data/ejs-doc/api_ui/api_ui.md +0 -836
- package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
- package/dist/data/ejs-doc/api_util/api_util.md +0 -615
- package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
- package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
- package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
- package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
- 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
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
- 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
- package/dist/data/standards/css-style.md +0 -531
- package/dist/data/standards/js-style.md +0 -394
- package/dist/data/standards/project-structure.md +0 -325
- package/dist/data/standards/vue-style.md +0 -644
- package/dist/tools/search.js +0 -1
- package/dist/tools/standards.js +0 -1
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文档加载器
|
|
3
|
+
* @作者 M8 Team
|
|
4
|
+
* @创建时间 2024-12-29
|
|
5
|
+
* @描述 负责加载编码规范、组件文档、工具文档和典型案例
|
|
6
|
+
*/
|
|
7
|
+
import { readFileSync, existsSync, readdirSync } from 'fs';
|
|
8
|
+
import { join, dirname } from 'path';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
// 获取当前模块的目录路径
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = dirname(__filename);
|
|
13
|
+
// 资源目录路径
|
|
14
|
+
const RESOURCES_DIR = join(__dirname, '../../resources');
|
|
15
|
+
/**
|
|
16
|
+
* 读取 JSON 文件
|
|
17
|
+
* @param filePath 文件路径
|
|
18
|
+
* @returns 解析后的 JSON 对象
|
|
19
|
+
*/
|
|
20
|
+
function readJsonFile(filePath) {
|
|
21
|
+
try {
|
|
22
|
+
if (!existsSync(filePath)) {
|
|
23
|
+
console.warn(`文件不存在: ${filePath}`);
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
27
|
+
return JSON.parse(content);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error(`读取文件失败: ${filePath}`, error);
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 加载编码规范文档
|
|
36
|
+
* @returns 编码规范文档映射
|
|
37
|
+
*/
|
|
38
|
+
export function loadStandards() {
|
|
39
|
+
const standards = new Map();
|
|
40
|
+
const standardsDir = join(RESOURCES_DIR, 'standards');
|
|
41
|
+
if (!existsSync(standardsDir)) {
|
|
42
|
+
console.warn(`编码规范目录不存在: ${standardsDir}`);
|
|
43
|
+
return standards;
|
|
44
|
+
}
|
|
45
|
+
const files = readdirSync(standardsDir).filter(f => f.endsWith('.json') && f !== 'index.json');
|
|
46
|
+
for (const file of files) {
|
|
47
|
+
const filePath = join(standardsDir, file);
|
|
48
|
+
const doc = readJsonFile(filePath);
|
|
49
|
+
if (doc) {
|
|
50
|
+
standards.set(doc.category, doc);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return standards;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 加载 UI 组件文档
|
|
57
|
+
* @returns 组件文档映射
|
|
58
|
+
*/
|
|
59
|
+
export function loadComponents() {
|
|
60
|
+
const components = new Map();
|
|
61
|
+
const componentsDir = join(RESOURCES_DIR, 'components');
|
|
62
|
+
if (!existsSync(componentsDir)) {
|
|
63
|
+
console.warn(`组件目录不存在: ${componentsDir}`);
|
|
64
|
+
return components;
|
|
65
|
+
}
|
|
66
|
+
const files = readdirSync(componentsDir).filter(f => f.endsWith('.json') && f !== 'index.json');
|
|
67
|
+
for (const file of files) {
|
|
68
|
+
const filePath = join(componentsDir, file);
|
|
69
|
+
const doc = readJsonFile(filePath);
|
|
70
|
+
if (doc) {
|
|
71
|
+
// 同时用 id 和 name 作为键,方便查找
|
|
72
|
+
components.set(doc.id, doc);
|
|
73
|
+
components.set(doc.name, doc);
|
|
74
|
+
// 不带 em- 前缀的名称也作为键
|
|
75
|
+
if (doc.name.startsWith('em-')) {
|
|
76
|
+
components.set(doc.name.replace('em-', ''), doc);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return components;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 加载 Util 工具文档
|
|
84
|
+
* @returns 工具文档映射
|
|
85
|
+
*/
|
|
86
|
+
export function loadUtils() {
|
|
87
|
+
const utils = new Map();
|
|
88
|
+
const utilsDir = join(RESOURCES_DIR, 'utils');
|
|
89
|
+
if (!existsSync(utilsDir)) {
|
|
90
|
+
console.warn(`工具目录不存在: ${utilsDir}`);
|
|
91
|
+
return utils;
|
|
92
|
+
}
|
|
93
|
+
const files = readdirSync(utilsDir).filter(f => f.endsWith('.json') && f !== 'index.json');
|
|
94
|
+
for (const file of files) {
|
|
95
|
+
const filePath = join(utilsDir, file);
|
|
96
|
+
const doc = readJsonFile(filePath);
|
|
97
|
+
if (doc) {
|
|
98
|
+
utils.set(doc.category, doc);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return utils;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* 加载典型案例文档
|
|
105
|
+
* @returns 案例文档数组
|
|
106
|
+
*/
|
|
107
|
+
export function loadCases() {
|
|
108
|
+
const cases = [];
|
|
109
|
+
const casesDir = join(RESOURCES_DIR, 'cases');
|
|
110
|
+
if (!existsSync(casesDir)) {
|
|
111
|
+
console.warn(`案例目录不存在: ${casesDir}`);
|
|
112
|
+
return cases;
|
|
113
|
+
}
|
|
114
|
+
const files = readdirSync(casesDir).filter(f => f.endsWith('.json') && f !== 'index.json');
|
|
115
|
+
for (const file of files) {
|
|
116
|
+
const filePath = join(casesDir, file);
|
|
117
|
+
const doc = readJsonFile(filePath);
|
|
118
|
+
if (doc) {
|
|
119
|
+
cases.push(doc);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return cases;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 加载所有文档并构建索引
|
|
126
|
+
* @returns 文档索引
|
|
127
|
+
*/
|
|
128
|
+
export function loadAllDocuments() {
|
|
129
|
+
return {
|
|
130
|
+
standards: loadStandards(),
|
|
131
|
+
components: loadComponents(),
|
|
132
|
+
utils: loadUtils(),
|
|
133
|
+
apis: new Map(), // API 文档暂时为空,后续可扩展
|
|
134
|
+
cases: loadCases()
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* 获取所有已加载的编码规范类型
|
|
139
|
+
* @param standards 编码规范映射
|
|
140
|
+
* @returns 规范类型数组
|
|
141
|
+
*/
|
|
142
|
+
export function getStandardTypes(standards) {
|
|
143
|
+
return Array.from(standards.keys());
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* 获取所有已加载的组件名称
|
|
147
|
+
* @param components 组件映射
|
|
148
|
+
* @returns 组件名称数组(去重)
|
|
149
|
+
*/
|
|
150
|
+
export function getComponentNames(components) {
|
|
151
|
+
const names = new Set();
|
|
152
|
+
for (const doc of components.values()) {
|
|
153
|
+
names.add(doc.name);
|
|
154
|
+
}
|
|
155
|
+
return Array.from(names);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* 获取所有已加载的 Util 分类
|
|
159
|
+
* @param utils 工具映射
|
|
160
|
+
* @returns 分类数组
|
|
161
|
+
*/
|
|
162
|
+
export function getUtilCategories(utils) {
|
|
163
|
+
return Array.from(utils.keys());
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/docs/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文档搜索功能
|
|
3
|
+
* @作者 M8 Team
|
|
4
|
+
* @创建时间 2024-12-29
|
|
5
|
+
* @描述 实现文档的关键词搜索和分类过滤
|
|
6
|
+
*/
|
|
7
|
+
import type { SearchOptions, SearchResult, DocumentIndex } from '../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* 搜索文档
|
|
10
|
+
* @param index 文档索引
|
|
11
|
+
* @param query 搜索关键词
|
|
12
|
+
* @param options 搜索选项
|
|
13
|
+
* @returns 搜索结果数组
|
|
14
|
+
*/
|
|
15
|
+
export declare function searchDocs(index: DocumentIndex, query: string, options?: SearchOptions): SearchResult[];
|
|
16
|
+
/**
|
|
17
|
+
* 获取搜索结果的摘要信息
|
|
18
|
+
* @param results 搜索结果
|
|
19
|
+
* @returns 摘要字符串
|
|
20
|
+
*/
|
|
21
|
+
export declare function getSearchSummary(results: SearchResult[]): string;
|
|
22
|
+
/**
|
|
23
|
+
* 格式化搜索结果为文本
|
|
24
|
+
* @param results 搜索结果
|
|
25
|
+
* @returns 格式化的文本
|
|
26
|
+
*/
|
|
27
|
+
export declare function formatSearchResults(results: SearchResult[]): string;
|
|
28
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/docs/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAa3B;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,YAAY,EAAE,CAyHhB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAiBhE;AAkBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAmBnE"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文档搜索功能
|
|
3
|
+
* @作者 M8 Team
|
|
4
|
+
* @创建时间 2024-12-29
|
|
5
|
+
* @描述 实现文档的关键词搜索和分类过滤
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 检查文本是否包含关键词(不区分大小写)
|
|
9
|
+
* @param text 要检查的文本
|
|
10
|
+
* @param keyword 关键词
|
|
11
|
+
* @returns 是否包含
|
|
12
|
+
*/
|
|
13
|
+
function containsKeyword(text, keyword) {
|
|
14
|
+
if (!text)
|
|
15
|
+
return false;
|
|
16
|
+
return text.toLowerCase().includes(keyword.toLowerCase());
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 搜索文档
|
|
20
|
+
* @param index 文档索引
|
|
21
|
+
* @param query 搜索关键词
|
|
22
|
+
* @param options 搜索选项
|
|
23
|
+
* @returns 搜索结果数组
|
|
24
|
+
*/
|
|
25
|
+
export function searchDocs(index, query, options) {
|
|
26
|
+
const results = [];
|
|
27
|
+
const category = options?.category;
|
|
28
|
+
const limit = options?.limit ?? 10;
|
|
29
|
+
// 搜索编码规范
|
|
30
|
+
if (!category || category === 'standard') {
|
|
31
|
+
for (const [, doc] of index.standards) {
|
|
32
|
+
// 搜索规范标题
|
|
33
|
+
if (containsKeyword(doc.title, query) || containsKeyword(doc.description, query)) {
|
|
34
|
+
results.push({
|
|
35
|
+
title: doc.title,
|
|
36
|
+
category: 'standard',
|
|
37
|
+
description: doc.description || '',
|
|
38
|
+
content: `包含 ${doc.rules.length} 条规则`
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
// 搜索具体规则
|
|
42
|
+
for (const rule of doc.rules) {
|
|
43
|
+
if (containsKeyword(rule.title, query) || containsKeyword(rule.description, query)) {
|
|
44
|
+
results.push({
|
|
45
|
+
title: `${doc.title} - ${rule.title}`,
|
|
46
|
+
category: 'standard',
|
|
47
|
+
description: rule.description,
|
|
48
|
+
content: rule.correctExample || ''
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// 搜索 UI 组件
|
|
55
|
+
if (!category || category === 'ui-component') {
|
|
56
|
+
const seenComponents = new Set();
|
|
57
|
+
for (const [, doc] of index.components) {
|
|
58
|
+
// 避免重复(因为同一个组件可能有多个键)
|
|
59
|
+
if (seenComponents.has(doc.id))
|
|
60
|
+
continue;
|
|
61
|
+
seenComponents.add(doc.id);
|
|
62
|
+
if (containsKeyword(doc.name, query) ||
|
|
63
|
+
containsKeyword(doc.title, query) ||
|
|
64
|
+
containsKeyword(doc.description, query)) {
|
|
65
|
+
results.push({
|
|
66
|
+
title: `${doc.name} (${doc.title})`,
|
|
67
|
+
category: 'ui-component',
|
|
68
|
+
description: doc.description,
|
|
69
|
+
content: `Props: ${doc.props.length}, Events: ${doc.events.length}`
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// 搜索 Util 工具
|
|
75
|
+
if (!category || category === 'util-tool') {
|
|
76
|
+
for (const [, doc] of index.utils) {
|
|
77
|
+
// 搜索分类
|
|
78
|
+
if (containsKeyword(doc.title, query) || containsKeyword(doc.description, query)) {
|
|
79
|
+
results.push({
|
|
80
|
+
title: `Util.${doc.category}`,
|
|
81
|
+
category: 'util-tool',
|
|
82
|
+
description: doc.description || doc.title,
|
|
83
|
+
content: `包含 ${doc.methods.length} 个方法`
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// 搜索具体方法
|
|
87
|
+
for (const method of doc.methods) {
|
|
88
|
+
if (containsKeyword(method.name, query) || containsKeyword(method.description, query)) {
|
|
89
|
+
results.push({
|
|
90
|
+
title: `Util.${doc.category === 'common' ? '' : doc.category + '.'}${method.name}`,
|
|
91
|
+
category: 'util-tool',
|
|
92
|
+
description: method.description,
|
|
93
|
+
content: method.examples?.[0]?.code || ''
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// 搜索典型案例
|
|
100
|
+
if (!category || category === 'typical-case') {
|
|
101
|
+
for (const doc of index.cases) {
|
|
102
|
+
if (containsKeyword(doc.title, query) || containsKeyword(doc.description, query)) {
|
|
103
|
+
results.push({
|
|
104
|
+
title: doc.title,
|
|
105
|
+
category: 'typical-case',
|
|
106
|
+
description: doc.description,
|
|
107
|
+
content: `Vue${doc.vueVersion} 版本`
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// 搜索 EJS API(如果有)
|
|
113
|
+
if (!category || category === 'ejs-api') {
|
|
114
|
+
for (const [, doc] of index.apis) {
|
|
115
|
+
if (containsKeyword(doc.module, query) || containsKeyword(doc.description, query)) {
|
|
116
|
+
results.push({
|
|
117
|
+
title: `ejs.${doc.module}`,
|
|
118
|
+
category: 'ejs-api',
|
|
119
|
+
description: doc.description,
|
|
120
|
+
content: `包含 ${doc.methods.length} 个方法`
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
// 搜索具体方法
|
|
124
|
+
for (const method of doc.methods) {
|
|
125
|
+
if (containsKeyword(method.name, query) || containsKeyword(method.description, query)) {
|
|
126
|
+
results.push({
|
|
127
|
+
title: `ejs.${doc.module}.${method.name}`,
|
|
128
|
+
category: 'ejs-api',
|
|
129
|
+
description: method.description,
|
|
130
|
+
content: method.examples?.[0]?.code || ''
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// 限制结果数量
|
|
137
|
+
return results.slice(0, limit);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* 获取搜索结果的摘要信息
|
|
141
|
+
* @param results 搜索结果
|
|
142
|
+
* @returns 摘要字符串
|
|
143
|
+
*/
|
|
144
|
+
export function getSearchSummary(results) {
|
|
145
|
+
if (results.length === 0) {
|
|
146
|
+
return '未找到匹配的文档。请尝试其他关键词或检查拼写。';
|
|
147
|
+
}
|
|
148
|
+
const categoryCounts = {};
|
|
149
|
+
for (const result of results) {
|
|
150
|
+
categoryCounts[result.category] = (categoryCounts[result.category] || 0) + 1;
|
|
151
|
+
}
|
|
152
|
+
const parts = [];
|
|
153
|
+
for (const [category, count] of Object.entries(categoryCounts)) {
|
|
154
|
+
const categoryName = getCategoryDisplayName(category);
|
|
155
|
+
parts.push(`${categoryName}: ${count}`);
|
|
156
|
+
}
|
|
157
|
+
return `找到 ${results.length} 条结果 (${parts.join(', ')})`;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* 获取分类的显示名称
|
|
161
|
+
* @param category 分类标识
|
|
162
|
+
* @returns 显示名称
|
|
163
|
+
*/
|
|
164
|
+
function getCategoryDisplayName(category) {
|
|
165
|
+
const names = {
|
|
166
|
+
'ejs-api': 'EJS API',
|
|
167
|
+
'ui-component': 'UI 组件',
|
|
168
|
+
'util-tool': 'Util 工具',
|
|
169
|
+
'typical-case': '典型案例',
|
|
170
|
+
'standard': '编码规范'
|
|
171
|
+
};
|
|
172
|
+
return names[category] || category;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* 格式化搜索结果为文本
|
|
176
|
+
* @param results 搜索结果
|
|
177
|
+
* @returns 格式化的文本
|
|
178
|
+
*/
|
|
179
|
+
export function formatSearchResults(results) {
|
|
180
|
+
if (results.length === 0) {
|
|
181
|
+
return '未找到匹配的文档。请尝试其他关键词或检查拼写。';
|
|
182
|
+
}
|
|
183
|
+
const lines = [getSearchSummary(results), ''];
|
|
184
|
+
for (let i = 0; i < results.length; i++) {
|
|
185
|
+
const result = results[i];
|
|
186
|
+
lines.push(`${i + 1}. **${result.title}**`);
|
|
187
|
+
lines.push(` 分类: ${getCategoryDisplayName(result.category)}`);
|
|
188
|
+
lines.push(` 描述: ${result.description}`);
|
|
189
|
+
if (result.content) {
|
|
190
|
+
lines.push(` ${result.content}`);
|
|
191
|
+
}
|
|
192
|
+
lines.push('');
|
|
193
|
+
}
|
|
194
|
+
return lines.join('\n');
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/docs/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 编码规范查询
|
|
3
|
+
* @作者 M8 Team
|
|
4
|
+
* @创建时间 2024-12-29
|
|
5
|
+
* @描述 实现编码规范信息的查询功能
|
|
6
|
+
*/
|
|
7
|
+
import type { CodingStandardDoc, CodingRule, StandardType } from '../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* 获取编码规范
|
|
10
|
+
* @param standards 规范文档映射
|
|
11
|
+
* @param type 规范类型
|
|
12
|
+
* @returns 规范文档或 null
|
|
13
|
+
*/
|
|
14
|
+
export declare function getCodingStandard(standards: Map<string, CodingStandardDoc>, type: StandardType): CodingStandardDoc | CodingStandardDoc[] | null;
|
|
15
|
+
/**
|
|
16
|
+
* 按关键词过滤规则
|
|
17
|
+
* @param doc 规范文档
|
|
18
|
+
* @param keyword 关键词
|
|
19
|
+
* @returns 过滤后的规则数组
|
|
20
|
+
*/
|
|
21
|
+
export declare function filterRulesByKeyword(doc: CodingStandardDoc, keyword: string): CodingRule[];
|
|
22
|
+
/**
|
|
23
|
+
* 获取所有可用的规范类型
|
|
24
|
+
* @param standards 规范文档映射
|
|
25
|
+
* @returns 类型数组
|
|
26
|
+
*/
|
|
27
|
+
export declare function getAvailableStandardTypes(standards: Map<string, CodingStandardDoc>): string[];
|
|
28
|
+
/**
|
|
29
|
+
* 格式化编码规范为文本
|
|
30
|
+
* @param doc 规范文档或文档数组
|
|
31
|
+
* @param keyword 可选的关键词过滤
|
|
32
|
+
* @returns 格式化的文本
|
|
33
|
+
*/
|
|
34
|
+
export declare function formatCodingStandard(doc: CodingStandardDoc | CodingStandardDoc[], keyword?: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* 获取规范摘要
|
|
37
|
+
* @param standards 规范文档映射
|
|
38
|
+
* @returns 摘要文本
|
|
39
|
+
*/
|
|
40
|
+
export declare function getStandardsSummary(standards: Map<string, CodingStandardDoc>): string;
|
|
41
|
+
//# sourceMappingURL=standards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards.d.ts","sourceRoot":"","sources":["../../src/docs/standards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACzC,IAAI,EAAE,YAAY,GACjB,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAahD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,MAAM,GACd,UAAU,EAAE,CAOd;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,EAAE,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,EAC5C,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CA4ER;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAWrF"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 编码规范查询
|
|
3
|
+
* @作者 M8 Team
|
|
4
|
+
* @创建时间 2024-12-29
|
|
5
|
+
* @描述 实现编码规范信息的查询功能
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 获取编码规范
|
|
9
|
+
* @param standards 规范文档映射
|
|
10
|
+
* @param type 规范类型
|
|
11
|
+
* @returns 规范文档或 null
|
|
12
|
+
*/
|
|
13
|
+
export function getCodingStandard(standards, type) {
|
|
14
|
+
if (type === 'all') {
|
|
15
|
+
return Array.from(standards.values());
|
|
16
|
+
}
|
|
17
|
+
// 处理 project-structure 类型映射
|
|
18
|
+
const typeMap = {
|
|
19
|
+
'project-structure': 'project-structure',
|
|
20
|
+
'project': 'project-structure'
|
|
21
|
+
};
|
|
22
|
+
const normalizedType = typeMap[type] || type;
|
|
23
|
+
return standards.get(normalizedType) || null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 按关键词过滤规则
|
|
27
|
+
* @param doc 规范文档
|
|
28
|
+
* @param keyword 关键词
|
|
29
|
+
* @returns 过滤后的规则数组
|
|
30
|
+
*/
|
|
31
|
+
export function filterRulesByKeyword(doc, keyword) {
|
|
32
|
+
const normalized = keyword.toLowerCase();
|
|
33
|
+
return doc.rules.filter(rule => rule.title.toLowerCase().includes(normalized) ||
|
|
34
|
+
rule.description.toLowerCase().includes(normalized) ||
|
|
35
|
+
rule.id.toLowerCase().includes(normalized));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 获取所有可用的规范类型
|
|
39
|
+
* @param standards 规范文档映射
|
|
40
|
+
* @returns 类型数组
|
|
41
|
+
*/
|
|
42
|
+
export function getAvailableStandardTypes(standards) {
|
|
43
|
+
return Array.from(standards.keys());
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 格式化编码规范为文本
|
|
47
|
+
* @param doc 规范文档或文档数组
|
|
48
|
+
* @param keyword 可选的关键词过滤
|
|
49
|
+
* @returns 格式化的文本
|
|
50
|
+
*/
|
|
51
|
+
export function formatCodingStandard(doc, keyword) {
|
|
52
|
+
const lines = [];
|
|
53
|
+
if (Array.isArray(doc)) {
|
|
54
|
+
// 格式化所有规范的摘要
|
|
55
|
+
lines.push('# M8 编码规范汇总');
|
|
56
|
+
lines.push('');
|
|
57
|
+
for (const d of doc) {
|
|
58
|
+
lines.push(`## ${d.title}`);
|
|
59
|
+
lines.push('');
|
|
60
|
+
lines.push(d.description || '');
|
|
61
|
+
lines.push('');
|
|
62
|
+
lines.push(`包含 ${d.rules.length} 条规则`);
|
|
63
|
+
lines.push('');
|
|
64
|
+
// 列出前 5 条规则
|
|
65
|
+
const rulesToShow = d.rules.slice(0, 5);
|
|
66
|
+
for (const rule of rulesToShow) {
|
|
67
|
+
lines.push(`- ${rule.title}`);
|
|
68
|
+
}
|
|
69
|
+
if (d.rules.length > 5) {
|
|
70
|
+
lines.push(`- ... 还有 ${d.rules.length - 5} 条规则`);
|
|
71
|
+
}
|
|
72
|
+
lines.push('');
|
|
73
|
+
}
|
|
74
|
+
lines.push('使用 `get_coding_standard` 工具并指定 `type` 参数可获取具体类型的详细规范。');
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// 格式化单个规范
|
|
78
|
+
lines.push(`# ${doc.title}`);
|
|
79
|
+
lines.push('');
|
|
80
|
+
lines.push(doc.description || '');
|
|
81
|
+
lines.push('');
|
|
82
|
+
const rules = keyword ? filterRulesByKeyword(doc, keyword) : doc.rules;
|
|
83
|
+
if (keyword && rules.length === 0) {
|
|
84
|
+
lines.push(`未找到包含关键词 "${keyword}" 的规则。`);
|
|
85
|
+
lines.push('');
|
|
86
|
+
lines.push('所有可用规则:');
|
|
87
|
+
for (const rule of doc.rules) {
|
|
88
|
+
lines.push(`- ${rule.title}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
if (keyword) {
|
|
93
|
+
lines.push(`找到 ${rules.length} 条包含 "${keyword}" 的规则:`);
|
|
94
|
+
lines.push('');
|
|
95
|
+
}
|
|
96
|
+
for (const rule of rules) {
|
|
97
|
+
lines.push(`## ${rule.title}`);
|
|
98
|
+
lines.push('');
|
|
99
|
+
lines.push(rule.description);
|
|
100
|
+
lines.push('');
|
|
101
|
+
if (rule.correctExample) {
|
|
102
|
+
lines.push('### ✅ 正确示例');
|
|
103
|
+
lines.push('```');
|
|
104
|
+
lines.push(rule.correctExample);
|
|
105
|
+
lines.push('```');
|
|
106
|
+
lines.push('');
|
|
107
|
+
}
|
|
108
|
+
if (rule.incorrectExample) {
|
|
109
|
+
lines.push('### ❌ 错误示例');
|
|
110
|
+
lines.push('```');
|
|
111
|
+
lines.push(rule.incorrectExample);
|
|
112
|
+
lines.push('```');
|
|
113
|
+
lines.push('');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return lines.join('\n');
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* 获取规范摘要
|
|
122
|
+
* @param standards 规范文档映射
|
|
123
|
+
* @returns 摘要文本
|
|
124
|
+
*/
|
|
125
|
+
export function getStandardsSummary(standards) {
|
|
126
|
+
const lines = ['# M8 编码规范', ''];
|
|
127
|
+
for (const [type, doc] of standards) {
|
|
128
|
+
lines.push(`- **${doc.title}** (${type}): ${doc.rules.length} 条规则`);
|
|
129
|
+
}
|
|
130
|
+
lines.push('');
|
|
131
|
+
lines.push('使用 `get_coding_standard` 工具获取详细规范。');
|
|
132
|
+
return lines.join('\n');
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=standards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards.js","sourceRoot":"","sources":["../../src/docs/standards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Util 工具信息查询
|
|
3
|
+
* @作者 M8 Team
|
|
4
|
+
* @创建时间 2024-12-29
|
|
5
|
+
* @描述 实现 Util 工具方法信息的查询功能
|
|
6
|
+
*/
|
|
7
|
+
import type { UtilDoc, UtilMethod } from '../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* 获取 Util 分类信息
|
|
10
|
+
* @param utils Util 文档映射
|
|
11
|
+
* @param category 分类名称
|
|
12
|
+
* @returns Util 分类信息或 null
|
|
13
|
+
*/
|
|
14
|
+
export declare function getUtilInfo(utils: Map<string, UtilDoc>, category: string): UtilDoc | null;
|
|
15
|
+
/**
|
|
16
|
+
* 获取 Util 方法信息
|
|
17
|
+
* @param utils Util 文档映射
|
|
18
|
+
* @param category 分类名称
|
|
19
|
+
* @param methodName 方法名称
|
|
20
|
+
* @returns Util 方法信息或 null
|
|
21
|
+
*/
|
|
22
|
+
export declare function getUtilMethodInfo(utils: Map<string, UtilDoc>, category: string, methodName: string): UtilMethod | null;
|
|
23
|
+
/**
|
|
24
|
+
* 获取所有可用的 Util 分类
|
|
25
|
+
* @param utils Util 文档映射
|
|
26
|
+
* @returns 分类名称数组
|
|
27
|
+
*/
|
|
28
|
+
export declare function getAvailableCategories(utils: Map<string, UtilDoc>): string[];
|
|
29
|
+
/**
|
|
30
|
+
* 格式化 Util 信息为文本
|
|
31
|
+
* @param doc Util 文档
|
|
32
|
+
* @param methodName 可选的方法名称
|
|
33
|
+
* @returns 格式化的文本
|
|
34
|
+
*/
|
|
35
|
+
export declare function formatUtilInfo(doc: UtilDoc, methodName?: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* 搜索 Util 方法
|
|
38
|
+
* @param utils Util 文档映射
|
|
39
|
+
* @param query 搜索关键词
|
|
40
|
+
* @returns 匹配的方法列表
|
|
41
|
+
*/
|
|
42
|
+
export declare function searchUtilMethods(utils: Map<string, UtilDoc>, query: string): Array<{
|
|
43
|
+
category: string;
|
|
44
|
+
method: UtilMethod;
|
|
45
|
+
}>;
|
|
46
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/docs/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,GAAG,IAAI,CAGhB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,UAAU,GAAG,IAAI,CAMnB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAqExE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC,CAgBjD"}
|