m8-mcp-server 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +118 -32
- package/dist/index.d.mts +449 -0
- package/dist/index.d.ts +449 -0
- package/dist/index.js +700 -1
- package/dist/index.mjs +700 -0
- package/package.json +34 -21
- package/prompts/PROMPTS.md +476 -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
package/package.json
CHANGED
|
@@ -1,43 +1,56 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "m8-mcp-server",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "M8 移动前端跨端框架 MCP 智能开发辅助工具",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
6
8
|
"bin": {
|
|
7
|
-
"m8-mcp": "./
|
|
9
|
+
"m8-mcp-server": "./dist/index.js"
|
|
8
10
|
},
|
|
9
11
|
"files": [
|
|
10
12
|
"dist",
|
|
11
|
-
"
|
|
13
|
+
"docs",
|
|
14
|
+
"prompts",
|
|
12
15
|
"README.md"
|
|
13
16
|
],
|
|
14
17
|
"scripts": {
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
18
|
+
"dev": "tsup --watch",
|
|
19
|
+
"build": "tsup",
|
|
20
|
+
"test": "vitest run",
|
|
21
|
+
"test:watch": "vitest",
|
|
22
|
+
"test:coverage": "vitest run --coverage",
|
|
23
|
+
"lint": "eslint src --ext .ts",
|
|
24
|
+
"prepublishOnly": "npm run build"
|
|
21
25
|
},
|
|
22
26
|
"keywords": [
|
|
23
27
|
"mcp",
|
|
28
|
+
"model-context-protocol",
|
|
24
29
|
"m8",
|
|
25
30
|
"ejs",
|
|
26
|
-
"
|
|
31
|
+
"mobile",
|
|
32
|
+
"development",
|
|
33
|
+
"ai-assistant",
|
|
34
|
+
"vue",
|
|
35
|
+
"cross-platform"
|
|
27
36
|
],
|
|
28
37
|
"author": "",
|
|
29
|
-
"license": "
|
|
38
|
+
"license": "MIT",
|
|
30
39
|
"dependencies": {
|
|
31
|
-
"@modelcontextprotocol/sdk": "^0.
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"gray-matter": "^4.0.3",
|
|
35
|
-
"zod": "^3.23.8"
|
|
40
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
41
|
+
"minisearch": "^7.1.0",
|
|
42
|
+
"zod": "^3.23.0"
|
|
36
43
|
},
|
|
37
44
|
"devDependencies": {
|
|
38
|
-
"@types/node": "^20.
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
45
|
+
"@types/node": "^20.10.0",
|
|
46
|
+
"fast-check": "^3.15.0",
|
|
47
|
+
"terser": "^5.27.0",
|
|
48
|
+
"tsup": "^8.0.0",
|
|
49
|
+
"typescript": "^5.3.0",
|
|
50
|
+
"vitest": "^1.2.0",
|
|
51
|
+
"@vitest/coverage-v8": "^1.2.0"
|
|
52
|
+
},
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=18.0.0"
|
|
42
55
|
}
|
|
43
56
|
}
|
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
# M8 MCP Server 提示词规范
|
|
2
|
+
|
|
3
|
+
## 🎯 MCP Prompts 使用说明
|
|
4
|
+
|
|
5
|
+
M8 MCP Server 提供了内置的 MCP Prompts,可以自动应用编码规范生成代码。使用 Prompts 时,您只需描述需求,系统会自动注入完整的编码规范和代码模板。
|
|
6
|
+
|
|
7
|
+
### 可用的 Prompts
|
|
8
|
+
|
|
9
|
+
| Prompt 名称 | 描述 | 参数 |
|
|
10
|
+
|------------|------|------|
|
|
11
|
+
| `generate_page` | 生成符合 M8 框架规范的页面代码 | `requirement`(必需), `vueVersion`(可选) |
|
|
12
|
+
| `generate_component` | 生成符合 M8 框架规范的 Vue 组件 | `requirement`(必需), `vueVersion`(可选) |
|
|
13
|
+
| `generate_form` | 生成表单页面,包含验证和提交逻辑 | `requirement`(必需), `vueVersion`(可选) |
|
|
14
|
+
| `generate_list` | 生成列表页面,包含下拉刷新和加载更多 | `requirement`(必需), `vueVersion`(可选) |
|
|
15
|
+
| `review_code` | 根据编码规范审查代码 | `code`(必需), `type`(可选) |
|
|
16
|
+
|
|
17
|
+
### 参数说明
|
|
18
|
+
|
|
19
|
+
- **requirement**: 需求描述,例如 "用户登录表单" 或 "商品列表页面"
|
|
20
|
+
- **vueVersion**: Vue 版本,`2` 表示 M8.3/Vue2,`3` 表示 M8.4/Vue3(默认为 3)
|
|
21
|
+
- **code**: 需要审查的代码
|
|
22
|
+
- **type**: 代码类型,可选值:`vue`、`javascript`、`scss`
|
|
23
|
+
|
|
24
|
+
### 使用示例
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
// 生成 Vue3 页面
|
|
28
|
+
使用 generate_page prompt,参数:
|
|
29
|
+
- requirement: "用户个人中心页面,显示头像、昵称、手机号"
|
|
30
|
+
- vueVersion: "3"
|
|
31
|
+
|
|
32
|
+
// 生成 Vue2 表单
|
|
33
|
+
使用 generate_form prompt,参数:
|
|
34
|
+
- requirement: "用户注册表单,包含姓名、手机号、验证码"
|
|
35
|
+
- vueVersion: "2"
|
|
36
|
+
|
|
37
|
+
// 审查代码
|
|
38
|
+
使用 review_code prompt,参数:
|
|
39
|
+
- code: "<你的代码>"
|
|
40
|
+
- type: "vue"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Prompts 自动注入的内容
|
|
44
|
+
|
|
45
|
+
使用 Prompts 时,系统会自动注入:
|
|
46
|
+
- ✅ Vue/JavaScript/SCSS 编码规范
|
|
47
|
+
- ✅ 版本对应的代码模板
|
|
48
|
+
- ✅ EJS API vs M8 组件选择指南
|
|
49
|
+
- ✅ 全局变量使用提醒(Util、Config)
|
|
50
|
+
- ✅ 根据需求关键词注入的上下文内容
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 🚨 重要:自动化代码生成流程
|
|
55
|
+
|
|
56
|
+
当用户请求生成页面代码、组件代码或任何 M8 框架相关代码时,**必须自动执行以下流程**,无需用户额外提示:
|
|
57
|
+
|
|
58
|
+
### 第一步:检测 Vue 版本(必须)
|
|
59
|
+
|
|
60
|
+
在生成任何代码前,**必须先确定项目的 Vue 版本**:
|
|
61
|
+
|
|
62
|
+
1. 检查项目的 `package.json` 文件中的 `vue` 依赖版本
|
|
63
|
+
2. 根据版本判断框架类型:
|
|
64
|
+
- `"vue": "^2.x.x"` → **M8.3 (Vue2)**
|
|
65
|
+
- `"vue": "^3.x.x"` → **M8.4 (Vue3)**
|
|
66
|
+
3. 如果无法自动检测,**必须询问用户**:
|
|
67
|
+
```
|
|
68
|
+
请确认您的项目版本:
|
|
69
|
+
1. M8.3 (Vue2)
|
|
70
|
+
2. M8.4 (Vue3)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 第二步:自动获取编码规范(必须)
|
|
74
|
+
|
|
75
|
+
确定版本后,**自动调用以下 MCP 工具获取规范**:
|
|
76
|
+
|
|
77
|
+
```javascript
|
|
78
|
+
// 1. 获取 Vue 组件规范
|
|
79
|
+
get_coding_standard({ type: 'vue' })
|
|
80
|
+
|
|
81
|
+
// 2. 获取 JavaScript 规范
|
|
82
|
+
get_coding_standard({ type: 'javascript' })
|
|
83
|
+
|
|
84
|
+
// 3. 获取 CSS/SCSS 规范
|
|
85
|
+
get_coding_standard({ type: 'css' })
|
|
86
|
+
|
|
87
|
+
// 4. 如果涉及项目结构,获取项目结构规范
|
|
88
|
+
get_coding_standard({ type: 'project-structure' })
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 第三步:查询相关组件/API(按需)
|
|
92
|
+
|
|
93
|
+
根据用户需求,**自动查询相关组件和 API**:
|
|
94
|
+
|
|
95
|
+
```javascript
|
|
96
|
+
// 如果需要 UI 组件
|
|
97
|
+
recommend_solution({ requirement: '用户需求描述', type: 'ui' })
|
|
98
|
+
|
|
99
|
+
// 如果需要原生功能
|
|
100
|
+
get_api_info({ module: 'ui' }) // 或 page, storage, device 等
|
|
101
|
+
|
|
102
|
+
// 如果需要工具方法
|
|
103
|
+
get_util_info({ category: 'ajax' }) // 或 string, date 等
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 第四步:生成符合规范的代码
|
|
107
|
+
|
|
108
|
+
根据获取的规范和组件信息,生成代码。
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 版本差异速查表
|
|
113
|
+
|
|
114
|
+
| 特性 | M8.3 (Vue2) | M8.4 (Vue3) |
|
|
115
|
+
|------|-------------|-------------|
|
|
116
|
+
| 组件语法 | Options API | Composition API + `<script setup>` |
|
|
117
|
+
| 响应式 | `data()` 返回对象 | `ref()`, `reactive()` |
|
|
118
|
+
| 生命周期 | `created`, `mounted` | `onMounted`, `onUnmounted` |
|
|
119
|
+
| 状态管理 | Vuex | Pinia |
|
|
120
|
+
| 样式穿透 | `::v-deep` | `:deep()` |
|
|
121
|
+
| 获取页面参数 | `Util.getExtraDataByKey()` | `onLoad((options) => {})` |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 核心编码规范(内置)
|
|
126
|
+
|
|
127
|
+
以下规范已内置,生成代码时**必须遵守**:
|
|
128
|
+
|
|
129
|
+
### Vue 组件规范
|
|
130
|
+
|
|
131
|
+
```vue
|
|
132
|
+
<!--
|
|
133
|
+
* @作者: [作者名]
|
|
134
|
+
* @创建时间: YYYY-MM-DD HH:mm:ss
|
|
135
|
+
* @修改时间: YYYY-MM-DD HH:mm:ss
|
|
136
|
+
* @版本: [1.0]
|
|
137
|
+
* @版权: 国泰新点软件股份有限公司
|
|
138
|
+
* @描述: [组件功能描述]
|
|
139
|
+
-->
|
|
140
|
+
<template>
|
|
141
|
+
<div class="page_container">
|
|
142
|
+
<!-- 重构页面不添加导航栏 em-header -->
|
|
143
|
+
<!-- 内容区域 -->
|
|
144
|
+
</div>
|
|
145
|
+
</template>
|
|
146
|
+
|
|
147
|
+
<script setup>
|
|
148
|
+
// Vue3 使用 script setup
|
|
149
|
+
import { ref, computed, onMounted } from 'vue';
|
|
150
|
+
</script>
|
|
151
|
+
|
|
152
|
+
<style lang="scss" scoped>
|
|
153
|
+
@import "./css/page-name.scss";
|
|
154
|
+
</style>
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**必须遵守:**
|
|
158
|
+
- ✅ 文件头部必须有完整注释块
|
|
159
|
+
- ✅ 样式必须剥离到外部 `.scss` 文件
|
|
160
|
+
- ✅ `<style>` 必须使用 `scoped`
|
|
161
|
+
- ❌ 重构页面禁止添加 `em-header` 导航栏
|
|
162
|
+
- ❌ 禁止在 `.vue` 文件中写大量样式代码
|
|
163
|
+
|
|
164
|
+
### JavaScript 规范
|
|
165
|
+
|
|
166
|
+
```javascript
|
|
167
|
+
// ✅ 变量/函数: camelCase
|
|
168
|
+
const userName = 'John';
|
|
169
|
+
function getUserInfo() {}
|
|
170
|
+
|
|
171
|
+
// ✅ 常量: UPPER_SNAKE_CASE
|
|
172
|
+
const MAX_COUNT = 100;
|
|
173
|
+
|
|
174
|
+
// ✅ 必须使用 Util.ajax,禁止 fetch/axios
|
|
175
|
+
async function loadData() {
|
|
176
|
+
try {
|
|
177
|
+
const result = await Util.ajax({
|
|
178
|
+
url: Config.serverUrl + '/api/data',
|
|
179
|
+
type: 'POST',
|
|
180
|
+
data: { params: JSON.stringify(params) }
|
|
181
|
+
});
|
|
182
|
+
if (result.status?.code === 1) {
|
|
183
|
+
return result.data;
|
|
184
|
+
}
|
|
185
|
+
} catch (error) {
|
|
186
|
+
console.error('请求失败:', error);
|
|
187
|
+
ejs.ui.toast({ message: '网络错误' });
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// ❌ 禁止 import Util 和 Config(它们是全局变量)
|
|
192
|
+
// import { Util } from '@shared'; // 错误!
|
|
193
|
+
// import { Config } from '@config'; // 错误!
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**必须遵守:**
|
|
197
|
+
- ✅ 使用 `Util.ajax` 发送请求
|
|
198
|
+
- ✅ 使用 `Config.serverUrl` 拼接 API 地址
|
|
199
|
+
- ✅ `Util` 和 `Config` 是全局变量,禁止 import
|
|
200
|
+
- ✅ 日志必须包含描述:`console.log('描述:', data)`
|
|
201
|
+
- ✅ 使用 `async/await` 处理异步
|
|
202
|
+
|
|
203
|
+
### SCSS 规范
|
|
204
|
+
|
|
205
|
+
```scss
|
|
206
|
+
// ✅ 使用 SASS 变量,禁止硬编码颜色
|
|
207
|
+
$color-primary: #1890ff;
|
|
208
|
+
$color-text-primary: #333;
|
|
209
|
+
$spacing-md: 16px;
|
|
210
|
+
|
|
211
|
+
// ✅ 类名: 小写英文 + 下划线
|
|
212
|
+
.page_container {
|
|
213
|
+
background: $color-bg-gray;
|
|
214
|
+
|
|
215
|
+
.page_header {
|
|
216
|
+
padding: $spacing-md;
|
|
217
|
+
|
|
218
|
+
.header_title {
|
|
219
|
+
color: $color-text-primary;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// ❌ 禁止硬编码颜色值
|
|
225
|
+
// ❌ 禁止超过 3 层嵌套
|
|
226
|
+
// ❌ 禁止使用 ID 选择器
|
|
227
|
+
// ❌ 禁止使用 !important
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**必须遵守:**
|
|
231
|
+
- ✅ 使用 SASS 变量管理颜色
|
|
232
|
+
- ✅ 类名使用小写英文 + 下划线
|
|
233
|
+
- ✅ 选择器嵌套不超过 3 层
|
|
234
|
+
- ✅ `position` 定位必须加 `z-index`
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 代码模板
|
|
239
|
+
|
|
240
|
+
### Vue3 页面模板 (M8.4)
|
|
241
|
+
|
|
242
|
+
```vue
|
|
243
|
+
<!--
|
|
244
|
+
* @作者: [作者名]
|
|
245
|
+
* @创建时间: YYYY-MM-DD HH:mm:ss
|
|
246
|
+
* @修改时间: YYYY-MM-DD HH:mm:ss
|
|
247
|
+
* @版本: [1.0]
|
|
248
|
+
* @版权: 国泰新点软件股份有限公司
|
|
249
|
+
* @描述: [页面功能描述]
|
|
250
|
+
-->
|
|
251
|
+
<template>
|
|
252
|
+
<div class="page_container">
|
|
253
|
+
<div class="page_content">
|
|
254
|
+
<!-- 页面内容 -->
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
</template>
|
|
258
|
+
|
|
259
|
+
<script setup>
|
|
260
|
+
import { ref, computed, onMounted } from 'vue';
|
|
261
|
+
|
|
262
|
+
// 响应式数据
|
|
263
|
+
const loading = ref(false);
|
|
264
|
+
const dataList = ref([]);
|
|
265
|
+
|
|
266
|
+
// 计算属性
|
|
267
|
+
const isEmpty = computed(() => dataList.value.length === 0);
|
|
268
|
+
|
|
269
|
+
// 生命周期
|
|
270
|
+
onMounted(() => {
|
|
271
|
+
loadData();
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* 加载数据
|
|
276
|
+
*/
|
|
277
|
+
async function loadData() {
|
|
278
|
+
loading.value = true;
|
|
279
|
+
try {
|
|
280
|
+
const result = await Util.ajax({
|
|
281
|
+
url: Config.serverUrl + '/api/list',
|
|
282
|
+
type: 'POST',
|
|
283
|
+
data: { params: JSON.stringify({}) }
|
|
284
|
+
});
|
|
285
|
+
if (result.status?.code === 1) {
|
|
286
|
+
dataList.value = result.data || [];
|
|
287
|
+
} else {
|
|
288
|
+
ejs.ui.toast({ message: result.status?.text || '加载失败' });
|
|
289
|
+
}
|
|
290
|
+
} catch (error) {
|
|
291
|
+
console.error('加载数据失败:', error);
|
|
292
|
+
ejs.ui.toast({ message: '网络错误,请重试' });
|
|
293
|
+
} finally {
|
|
294
|
+
loading.value = false;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
</script>
|
|
298
|
+
|
|
299
|
+
<style lang="scss" scoped>
|
|
300
|
+
@import "./css/page-name.scss";
|
|
301
|
+
</style>
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Vue2 页面模板 (M8.3)
|
|
305
|
+
|
|
306
|
+
```vue
|
|
307
|
+
<!--
|
|
308
|
+
* @作者: [作者名]
|
|
309
|
+
* @创建时间: YYYY-MM-DD HH:mm:ss
|
|
310
|
+
* @修改时间: YYYY-MM-DD HH:mm:ss
|
|
311
|
+
* @版本: [1.0]
|
|
312
|
+
* @版权: 国泰新点软件股份有限公司
|
|
313
|
+
* @描述: [页面功能描述]
|
|
314
|
+
-->
|
|
315
|
+
<template>
|
|
316
|
+
<div class="page_container">
|
|
317
|
+
<div class="page_content">
|
|
318
|
+
<!-- 页面内容 -->
|
|
319
|
+
</div>
|
|
320
|
+
</div>
|
|
321
|
+
</template>
|
|
322
|
+
|
|
323
|
+
<script>
|
|
324
|
+
export default {
|
|
325
|
+
name: 'PageName',
|
|
326
|
+
data() {
|
|
327
|
+
return {
|
|
328
|
+
loading: false,
|
|
329
|
+
dataList: []
|
|
330
|
+
};
|
|
331
|
+
},
|
|
332
|
+
computed: {
|
|
333
|
+
isEmpty() {
|
|
334
|
+
return this.dataList.length === 0;
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
created() {
|
|
338
|
+
this.loadData();
|
|
339
|
+
},
|
|
340
|
+
methods: {
|
|
341
|
+
/**
|
|
342
|
+
* 加载数据
|
|
343
|
+
*/
|
|
344
|
+
async loadData() {
|
|
345
|
+
this.loading = true;
|
|
346
|
+
try {
|
|
347
|
+
const result = await Util.ajax({
|
|
348
|
+
url: Config.serverUrl + '/api/list',
|
|
349
|
+
type: 'POST',
|
|
350
|
+
data: { params: JSON.stringify({}) }
|
|
351
|
+
});
|
|
352
|
+
if (result.status?.code === 1) {
|
|
353
|
+
this.dataList = result.data || [];
|
|
354
|
+
} else {
|
|
355
|
+
ejs.ui.toast({ message: result.status?.text || '加载失败' });
|
|
356
|
+
}
|
|
357
|
+
} catch (error) {
|
|
358
|
+
console.error('加载数据失败:', error);
|
|
359
|
+
ejs.ui.toast({ message: '网络错误,请重试' });
|
|
360
|
+
} finally {
|
|
361
|
+
this.loading = false;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
</script>
|
|
367
|
+
|
|
368
|
+
<style lang="scss" scoped>
|
|
369
|
+
@import "./css/page-name.scss";
|
|
370
|
+
</style>
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### SCSS 文件模板
|
|
374
|
+
|
|
375
|
+
```scss
|
|
376
|
+
// page-name.scss
|
|
377
|
+
|
|
378
|
+
.page_container {
|
|
379
|
+
min-height: 100vh;
|
|
380
|
+
background: $color-bg-gray;
|
|
381
|
+
|
|
382
|
+
.page_content {
|
|
383
|
+
padding: $spacing-md;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.page_header {
|
|
387
|
+
padding: $spacing-md;
|
|
388
|
+
background: $color-bg-base;
|
|
389
|
+
|
|
390
|
+
.header_title {
|
|
391
|
+
font-size: $font-size-lg;
|
|
392
|
+
font-weight: 500;
|
|
393
|
+
color: $color-text-primary;
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.page_list {
|
|
398
|
+
margin-top: $spacing-sm;
|
|
399
|
+
|
|
400
|
+
.list_item {
|
|
401
|
+
padding: $spacing-md;
|
|
402
|
+
background: $color-bg-base;
|
|
403
|
+
border-bottom: 1px solid $color-border;
|
|
404
|
+
|
|
405
|
+
&:last-child {
|
|
406
|
+
border-bottom: none;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
## EJS API vs M8 组件选择指南
|
|
416
|
+
|
|
417
|
+
| 功能 | 优先使用 | 说明 |
|
|
418
|
+
|------|----------|------|
|
|
419
|
+
| Toast 提示 | `ejs.ui.toast()` | 原生 API |
|
|
420
|
+
| 确认弹窗 | `ejs.ui.confirm()` | 原生 API |
|
|
421
|
+
| 日期选择 | `ejs.ui.pickDate()` | 原生 API |
|
|
422
|
+
| 时间选择 | `ejs.ui.pickTime()` | 原生 API |
|
|
423
|
+
| Loading | `ejs.ui.showWaiting()` | 原生 API |
|
|
424
|
+
| 页面跳转 | `ejs.page.open()` | 原生 API |
|
|
425
|
+
| 按钮 | `em-button` | M8 组件 |
|
|
426
|
+
| 输入框 | `em-field` | M8 组件 |
|
|
427
|
+
| 列表项 | `em-cell` | M8 组件 |
|
|
428
|
+
| 上传 | `em-uploader` | M8 组件 |
|
|
429
|
+
| 下拉刷新 | `em-minirefresh` | M8 组件 |
|
|
430
|
+
|
|
431
|
+
**原则:交互类优先 EJS API,UI 展示类使用 M8 组件**
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
## MCP 工具参考
|
|
436
|
+
|
|
437
|
+
### search_docs - 文档搜索
|
|
438
|
+
```
|
|
439
|
+
参数:query(必需), category(可选), limit(可选)
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
### get_component_info - 组件信息
|
|
443
|
+
```
|
|
444
|
+
参数:componentName(必需)
|
|
445
|
+
示例:em-button, em-field, em-cell
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
### get_api_info - EJS API 信息
|
|
449
|
+
```
|
|
450
|
+
参数:module(必需), method(可选)
|
|
451
|
+
模块:ui, page, storage, device, auth, io
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
### get_util_info - Util 工具信息
|
|
455
|
+
```
|
|
456
|
+
参数:category(必需), method(可选)
|
|
457
|
+
分类:string, date, base64, ajax
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### get_coding_standard - 编码规范
|
|
461
|
+
```
|
|
462
|
+
参数:type(必需), keyword(可选)
|
|
463
|
+
类型:css, javascript, vue, project-structure, all
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
### generate_code - 代码生成
|
|
467
|
+
```
|
|
468
|
+
参数:type(必需), requirement(必需), vueVersion(可选)
|
|
469
|
+
类型:vue-component, javascript, scss, api-call
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
### recommend_solution - 智能推荐
|
|
473
|
+
```
|
|
474
|
+
参数:requirement(必需), type(可选)
|
|
475
|
+
类型:ui, data, native, general
|
|
476
|
+
```
|
package/bin/m8-mcp.js
DELETED
package/dist/constants.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const a0_0x4db045=a0_0x33ed;(function(_0x57558c,_0x5ac6a1){const _0x495b27=a0_0x33ed,_0x49eb16=_0x57558c();while(!![]){try{const _0x1de8c1=-parseInt(_0x495b27(0x1c4))/0x1+parseInt(_0x495b27(0x1b9))/0x2*(-parseInt(_0x495b27(0x1cc))/0x3)+-parseInt(_0x495b27(0x1c0))/0x4*(parseInt(_0x495b27(0x1c9))/0x5)+parseInt(_0x495b27(0x1b7))/0x6+-parseInt(_0x495b27(0x1c5))/0x7+-parseInt(_0x495b27(0x1d0))/0x8+parseInt(_0x495b27(0x1c1))/0x9;if(_0x1de8c1===_0x5ac6a1)break;else _0x49eb16['push'](_0x49eb16['shift']());}catch(_0x22f907){_0x49eb16['push'](_0x49eb16['shift']());}}}(a0_0x2dc6,0x5d4f8));const a0_0x41522a=(function(){let _0x493f54=!![];return function(_0x2da0b3,_0x1ec6b9){const _0x3baa30=_0x493f54?function(){if(_0x1ec6b9){const _0x4704be=_0x1ec6b9['apply'](_0x2da0b3,arguments);return _0x1ec6b9=null,_0x4704be;}}:function(){};return _0x493f54=![],_0x3baa30;};}()),a0_0x3e463f=a0_0x41522a(this,function(){const _0x58149a=a0_0x33ed;return a0_0x3e463f['toString']()[_0x58149a(0x1bf)](_0x58149a(0x1d6))[_0x58149a(0x1c3)]()[_0x58149a(0x1ce)](a0_0x3e463f)[_0x58149a(0x1bf)](_0x58149a(0x1d6));});function a0_0x2dc6(){const _0x1cffff=['2708360Iqrwoe','__esModule','data','standards','defineProperty','__importDefault','(((.+)+)+)+$','DATA_DIR','4437930PphuVN','STANDARDS_DIR','638882yFPNwr','getDataDir','m8mpdoc-develop','src/data','default','PROJECT_ROOT','search','107996YbyRrV','6664860LevGdZ','resolve','toString','151828htOxLA','505323XSvZct','extname','.ts','M8_DOCS_DIR','40olYobA','join','EJS_DOCS_DIR','3nxKjXS','../src/data','constructor','PROD_DOCS_DIR'];a0_0x2dc6=function(){return _0x1cffff;};return a0_0x2dc6();}function a0_0x33ed(_0x17e400,_0x42e155){_0x17e400=_0x17e400-0x1b6;const _0x345b33=a0_0x2dc6();let _0x3e463f=_0x345b33[_0x17e400];return _0x3e463f;}a0_0x3e463f();'use strict';var __importDefault=this&&this[a0_0x4db045(0x1d5)]||function(_0x1578df){const _0x10c994=a0_0x4db045;return _0x1578df&&_0x1578df[_0x10c994(0x1d1)]?_0x1578df:{'default':_0x1578df};};Object[a0_0x4db045(0x1d4)](exports,a0_0x4db045(0x1d1),{'value':!![]}),exports['STANDARDS_DIR']=exports[a0_0x4db045(0x1cb)]=exports['M8_DOCS_DIR']=exports[a0_0x4db045(0x1cf)]=exports['DOCS_DIR']=exports[a0_0x4db045(0x1be)]=exports[a0_0x4db045(0x1b6)]=void 0x0,exports[a0_0x4db045(0x1ba)]=getDataDir;const path_1=__importDefault(require('path'));exports[a0_0x4db045(0x1b6)]=path_1['default'][a0_0x4db045(0x1ca)](__dirname,a0_0x4db045(0x1cd));const IS_TS_NODE=path_1[a0_0x4db045(0x1bd)][a0_0x4db045(0x1c6)](__filename)===a0_0x4db045(0x1c7);exports['PROJECT_ROOT']=path_1[a0_0x4db045(0x1bd)][a0_0x4db045(0x1c2)](__dirname,IS_TS_NODE?'..':'..'),exports['DOCS_DIR']=path_1[a0_0x4db045(0x1bd)]['join'](exports['PROJECT_ROOT'],a0_0x4db045(0x1bc)),exports[a0_0x4db045(0x1cf)]=path_1['default'][a0_0x4db045(0x1ca)](exports[a0_0x4db045(0x1be)],a0_0x4db045(0x1d2));function getDataDir(){const _0x31528e=a0_0x4db045;return path_1[_0x31528e(0x1bd)][_0x31528e(0x1ca)](__dirname,_0x31528e(0x1d2));}exports[a0_0x4db045(0x1c8)]=a0_0x4db045(0x1bb),exports[a0_0x4db045(0x1cb)]='ejs-doc',exports[a0_0x4db045(0x1b8)]=a0_0x4db045(0x1d3);
|