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.
Files changed (164) hide show
  1. package/README.md +118 -32
  2. package/dist/index.d.mts +449 -0
  3. package/dist/index.d.ts +449 -0
  4. package/dist/index.js +700 -1
  5. package/dist/index.mjs +700 -0
  6. package/package.json +34 -21
  7. package/prompts/PROMPTS.md +476 -0
  8. package/bin/m8-mcp.js +0 -2
  9. package/dist/constants.js +0 -1
  10. package/dist/data/ejs-doc/api_audio/api_audio.md +0 -225
  11. package/dist/data/ejs-doc/api_auth/api_auth.md +0 -256
  12. package/dist/data/ejs-doc/api_contact/api_contact.md +0 -295
  13. package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  14. package/dist/data/ejs-doc/api_device/api_device.md +0 -761
  15. package/dist/data/ejs-doc/api_event/api_event.md +0 -244
  16. package/dist/data/ejs-doc/api_global/api_global.md +0 -440
  17. package/dist/data/ejs-doc/api_io/api_io.md +0 -369
  18. package/dist/data/ejs-doc/api_navigator/api_navigator.md +0 -654
  19. package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  20. package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  21. package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  22. package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  23. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  24. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  25. package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  26. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  27. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  28. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  29. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  30. package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  31. package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  32. package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  33. package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  34. package/dist/data/ejs-doc/api_page/api_page.md +0 -261
  35. package/dist/data/ejs-doc/api_runtime/api_runtime.md +0 -788
  36. package/dist/data/ejs-doc/api_storage/api_storage.md +0 -320
  37. package/dist/data/ejs-doc/api_stream/api_stream.md +0 -152
  38. package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  39. package/dist/data/ejs-doc/api_ui/api_ui.md +0 -836
  40. package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  41. package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  42. package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
  43. package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  44. package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  45. package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  46. package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  47. package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  48. package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  49. package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  50. package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  51. package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  52. package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
  53. package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
  54. package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
  55. package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  56. package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  57. package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
  58. package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  59. package/dist/data/ejs-doc/api_util/api_util.md +0 -615
  60. package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
  61. package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
  62. package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
  63. package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
  71. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
  72. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
  73. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
  74. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
  75. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
  76. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
  77. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
  78. 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
  79. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
  80. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
  81. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
  82. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
  83. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
  84. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
  85. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
  86. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
  87. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
  88. 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
  89. 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
  90. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
  91. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
  98. 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
  99. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
  100. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
  101. 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
  102. 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
  103. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
  104. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
  111. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
  112. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
  113. 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
  114. 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
  115. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
  116. 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
  117. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
  118. 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
  119. 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
  120. 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
  121. 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
  122. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
  123. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
  124. 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
  125. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. 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
  140. 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
  141. 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
  142. 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
  143. 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
  144. 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
  145. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
  146. 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
  147. 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
  148. 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
  149. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
  150. 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
  151. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
  152. 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
  153. 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
  154. 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
  155. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
  156. 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
  157. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
  158. 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
  159. package/dist/data/standards/css-style.md +0 -531
  160. package/dist/data/standards/js-style.md +0 -394
  161. package/dist/data/standards/project-structure.md +0 -325
  162. package/dist/data/standards/vue-style.md +0 -644
  163. package/dist/tools/search.js +0 -1
  164. package/dist/tools/standards.js +0 -1
@@ -1,116 +0,0 @@
1
- # Mock 的使用
2
-
3
- ## 前言
4
-
5
- 在跨端框架中,为了支持跨平台小程序使用,使用`better-mock`库代替了mockjs库,使用方法保持一致。
6
-
7
- `Mock.js` 是一款模拟数据生成器,旨在帮助前端工程师独立于后端进行开发。提供了以下模拟功能:
8
-
9
- - 根据数据模板生成模拟数据
10
- - 模拟 `Ajax` 请求,生成并返回模拟数据
11
-
12
- `Mock` 的具体使用方法可参照 [Mock.js 官方文档](http://mockjs.com/0.1/ 'Mock.js官方文档')
13
-
14
- ## 配置开启
15
-
16
- 需要`mock`数据时,在框架 `ejs.m8.project -> src -> shared` 文件夹下的 `config.js` 配置文件中设置 `isMock` 字段为 `true`,框架会自动开启 `Mock` 的功能。
17
-
18
- ```js
19
- export default {
20
- ...
21
- /**
22
- * 是否进行mock模拟数据请求
23
- * 仅在debug模式下有效
24
- */
25
- isMock: true,
26
- ...
27
- };
28
- ```
29
-
30
- ___
31
-
32
- 支持在pages下的每个模块下定义mock.js文件,框架将会自动引入定义的mock.js文件
33
-
34
-
35
- ## 文件位置
36
-
37
- ```
38
- ejs.m8.project
39
- ├── src
40
- │   ├── pages
41
- │   │   ├── [module_name] // 以模块名命名的文件夹
42
- │   │   │ ├── css // 当前模块下的css样式目录
43
- │   │   │ ├── images // 当前模块下的图片资源目录
44
- │   │   │ ├── [module_name_A].vue // 模块单文件组件
45
- │   │   │ ├── [module_name_B].vue // 模块单文件组件
46
- │   │   │ ├── [module_name_C].vue // 模块单文件组件
47
- │   │   │ ├── router.js // 此模块对应的路由定义
48
- │   │   │ ├── store.js // 此模块对应的状态管理定义
49
- │   │   │ ├── mock.js // v8.2.15版本支持,此模块对应的mock管理定义
50
- ```
51
-
52
- ## mock.js文件示例
53
- 示例一
54
-
55
- ```js
56
- import Mock from '@mock'; // 与M8.2应用不同,跨端中通过重新定义别名引用。注意引用的名称为 @mock
57
- export default [
58
- {
59
- // 接口地址
60
- methodUrl: '/rest/mock/test',
61
- // 入参
62
- input: {
63
- guid: ''
64
- },
65
- // 出参
66
- output: Mock.mock({
67
- info: {
68
- title: Mock.Random.csentence(5, 10), // 随机生成一段中文文本。
69
- data: Mock.Random.csentence(25, 30)
70
- }
71
- })
72
- }
73
- ];
74
- ```
75
- 导出resultData数组,每个元素为一个mock数据对象,其中包含以下属性:
76
-
77
- - methodUrl:用于匹配mock的接口地址
78
- - input: 入参
79
- - output: 用于模拟的出参mock数据
80
-
81
- 经过以上步骤模拟好请求后,在应用中请求相应接口就会接收到对应的模拟数据(框架中已封装好`axios`),例如:
82
-
83
- ```js
84
- Util.ajax({
85
- url: `${Config.serverUrl}/rest/mock/test`,
86
- data: {
87
- params: JSON.stringify({
88
- guid: id
89
- })
90
- }
91
- })
92
- .then(result => {
93
- if (result && result.status && result.status.code === 1) {
94
- console.log(result);
95
- }
96
- })
97
- .catch(err => {
98
- console.error(err);
99
- });
100
- ```
101
-
102
- 控制台打印:
103
-
104
- ```js
105
- {
106
- custom: {
107
- info: {
108
- data: "元府连度圆委象比做县接南条系区集根标式状节温打水院集。",
109
- title: "包近际计包院主于。"
110
- }
111
- },
112
- status: {
113
- code: 1
114
- }
115
- }
116
- ```
@@ -1,531 +0,0 @@
1
- # CSS/SCSS 编码规范
2
-
3
- <!-- id: css-style -->
4
- <!-- category: css -->
5
- <!-- version: 1.1.0 -->
6
- <!-- lastUpdated: 2024-12-19 -->
7
-
8
- 本规范定义了 M8 框架项目中 CSS/SCSS 的编码标准。
9
-
10
- ## 样式变量管理
11
-
12
- ### 使用 SASS 变量统一管理颜色和样式
13
-
14
- 整体风格(颜色、字体、间距等)必须使用 SASS 变量统一管理,禁止在代码中硬编码颜色值。
15
-
16
- ```scss
17
- // ✅ 正确 - 在 variables.scss 中定义
18
- // 主题色
19
- $color-primary: #1890ff;
20
- $color-success: #52c41a;
21
- $color-warning: #faad14;
22
- $color-error: #ff4d4f;
23
-
24
- // 文字颜色
25
- $color-text-primary: #333;
26
- $color-text-secondary: #666;
27
- $color-text-placeholder: #999;
28
-
29
- // 背景色
30
- $color-bg-base: #fff;
31
- $color-bg-gray: #f5f5f5;
32
-
33
- // 边框色
34
- $color-border: #e8e8e8;
35
-
36
- // 字体大小
37
- $font-size-xs: 10px;
38
- $font-size-sm: 12px;
39
- $font-size-base: 14px;
40
- $font-size-lg: 16px;
41
- $font-size-xl: 18px;
42
-
43
- // 间距
44
- $spacing-xs: 4px;
45
- $spacing-sm: 8px;
46
- $spacing-md: 16px;
47
- $spacing-lg: 24px;
48
- $spacing-xl: 32px;
49
-
50
- // 使用变量
51
- .button {
52
- background-color: $color-primary;
53
- color: $color-text-primary;
54
- font-size: $font-size-base;
55
- padding: $spacing-sm $spacing-md;
56
- }
57
-
58
- // ❌ 错误 - 硬编码颜色值
59
- .button {
60
- background-color: #1890ff;
61
- color: #333333;
62
- }
63
- ```
64
-
65
- ## 命名规范
66
-
67
- ### BEM 命名规范
68
-
69
- 推荐使用 BEM (Block Element Modifier) 命名规范,但需结合项目实际情况。
70
-
71
- - 块 (Block): `block`
72
- - 元素 (Element): `block__element`
73
- - 修饰符 (Modifier): `block--modifier`
74
-
75
- ```css
76
- .card {
77
- }
78
- .card__header {
79
- }
80
- .card__header--active {
81
- }
82
- ```
83
-
84
- ### 采用模块化命名方式
85
-
86
- 使用大的框架命名,如 header/footer/wrapper/left/right 等。
87
-
88
- ```css
89
- /* ✅ 正确 - 框架命名 */
90
- .header {
91
- }
92
- .footer {
93
- }
94
- .wrapper {
95
- }
96
- .sidebar_left {
97
- }
98
- .sidebar_right {
99
- }
100
- .main_content {
101
- }
102
-
103
- /* ✅ 正确 - 模块化命名 */
104
- .user_card {
105
- }
106
- .user_card_header {
107
- }
108
- .user_card_body {
109
- }
110
- .nav_menu {
111
- }
112
- .nav_menu_item {
113
- }
114
- ```
115
-
116
- ### 类名使用小写英文、数字和下划线组合
117
-
118
- 样式名称由小写英文、数字和下划线组合命名,避免使用中文拼音,命名要语义化、简明化。
119
-
120
- ```css
121
- /* ✅ 正确 */
122
- .page_header {
123
- }
124
- .nav_item {
125
- }
126
- .btn_primary {
127
- }
128
- .list_item_1 {
129
- }
130
- .user_avatar {
131
- }
132
-
133
- /* ❌ 错误 - 使用中文拼音 */
134
- .yonghu_touxiang {
135
- }
136
- .daohang_liebiao {
137
- }
138
-
139
- /* ❌ 错误 - 使用驼峰命名 */
140
- .pageHeader {
141
- }
142
- .navItem {
143
- }
144
-
145
- /* ❌ 错误 - 命名不语义化 */
146
- .a1 {
147
- }
148
- .box1 {
149
- }
150
- .div2 {
151
- }
152
- ```
153
-
154
- ### 样式穿透 (Deep Selectors)
155
-
156
- - **Vue2**: 使用 `::v-deep` 代替 `/deep/` (已废弃)。
157
- - **Vue3**: 官方推荐使用 `:deep()` 选择器。
158
-
159
- **注意**:使用 `::v-deep` 或者 `:deep()` 在对组件样式穿透后,禁止结合 BEM 后缀选择器(如 `&__title`),因为 Sass 无法正确编译。
160
-
161
- 解决方式 1:分开写选择器
162
-
163
- ```scss
164
- :deep(.em-cell) {
165
- // .em-cell 的样式
166
- }
167
-
168
- :deep(.em-cell__title) {
169
- // .em-cell__title 的样式
170
- }
171
- ```
172
-
173
- 解决方式 2:使用 Sass 的 `@at-root` 指令
174
-
175
- ```scss
176
- :deep(.em-cell) {
177
- @at-root {
178
- #{&}__title {
179
- // 你的样式
180
- }
181
- }
182
- }
183
- ```
184
-
185
- ## 选择器规范
186
-
187
- ### 避免使用 ID 选择器
188
-
189
- ID 选择器优先级过高,不利于样式复用和覆盖。
190
-
191
- ```css
192
- /* ✅ 正确 */
193
- .header {
194
- }
195
- .main_content {
196
- }
197
-
198
- /* ❌ 错误 */
199
- #header {
200
- }
201
- #main_content {
202
- }
203
- ```
204
-
205
- ### 尽量少使用标签选择器
206
-
207
- ```css
208
- /* ✅ 正确 */
209
- .nav_link {
210
- }
211
- .list_item {
212
- }
213
-
214
- /* ❌ 错误 - 直接使用标签选择器 */
215
- a {
216
- }
217
- li {
218
- }
219
- div {
220
- }
221
- ```
222
-
223
- ### 尽量少使用通配符选择器
224
-
225
- ```css
226
- /* ❌ 错误 */
227
- * {
228
- margin: 0;
229
- padding: 0;
230
- }
231
-
232
- /* ✅ 正确 - 使用 reset 或 normalize */
233
- html,
234
- body,
235
- div,
236
- span,
237
- h1,
238
- h2,
239
- h3,
240
- p {
241
- margin: 0;
242
- padding: 0;
243
- }
244
- ```
245
-
246
- ### 多选择器情况,每个选择器单独占一行
247
-
248
- ```css
249
- /* ✅ 正确 */
250
- .header,
251
- .footer,
252
- .sidebar {
253
- padding: 16px;
254
- }
255
-
256
- /* ❌ 错误 */
257
- .header,
258
- .footer,
259
- .sidebar {
260
- padding: 16px;
261
- }
262
- ```
263
-
264
- ### 选择器嵌套不超过 3 层
265
-
266
- 过深的嵌套会增加选择器优先级,降低性能。
267
-
268
- ```scss
269
- /* ✅ 正确 */
270
- .card {
271
- .card_header {
272
- .card_title {
273
- }
274
- }
275
- }
276
-
277
- /* ❌ 错误 */
278
- .page {
279
- .content {
280
- .card {
281
- .card_header {
282
- .card_title {
283
- }
284
- }
285
- }
286
- }
287
- }
288
- ```
289
-
290
- ## 属性书写规范
291
-
292
- ### CSS 推荐书写顺序
293
-
294
- 按以下顺序排列 CSS 属性:
295
-
296
- 1. 位置属性 (position, top, right, z-index, display, float 等)
297
- 2. 大小 (width, height, padding, margin)
298
- 3. 文字系列 (font, line-height, letter-spacing, color, text-align 等)
299
- 4. 背景 (background, border 等)
300
- 5. 其他 (animation, transition 等)
301
-
302
- ```css
303
- /* ✅ 正确 */
304
- .element {
305
- /* 1. 位置属性 */
306
- position: absolute;
307
- top: 0;
308
- left: 0;
309
- z-index: 10;
310
- display: flex;
311
- float: left;
312
-
313
- /* 2. 大小 */
314
- width: 100%;
315
- height: 50px;
316
- padding: 16px;
317
- margin: 0 auto;
318
-
319
- /* 3. 文字系列 */
320
- font-size: 14px;
321
- font-weight: 500;
322
- line-height: 1.5;
323
- letter-spacing: 1px;
324
- color: #333;
325
- text-align: center;
326
-
327
- /* 4. 背景 */
328
- background: #fff;
329
- border: 1px solid #eee;
330
- border-radius: 4px;
331
-
332
- /* 5. 其他 */
333
- cursor: pointer;
334
- animation: fadeIn 0.3s;
335
- transition: all 0.3s;
336
- }
337
- ```
338
-
339
- ### 使用 position 定位时,必须加上 z-index
340
-
341
- ```css
342
- /* ✅ 正确 */
343
- .modal {
344
- position: fixed;
345
- top: 0;
346
- left: 0;
347
- z-index: 1000;
348
- }
349
-
350
- .dropdown {
351
- position: absolute;
352
- top: 100%;
353
- left: 0;
354
- z-index: 100;
355
- }
356
-
357
- /* ❌ 错误 - 缺少 z-index */
358
- .modal {
359
- position: fixed;
360
- top: 0;
361
- left: 0;
362
- }
363
- ```
364
-
365
- ### 16 进制颜色值可缩写时必须缩写
366
-
367
- 当设置的颜色是 16 进制的色彩值时,如果每两位的值相同,必须缩写。
368
-
369
- ```css
370
- /* ✅ 正确 */
371
- .text {
372
- color: #333;
373
- background: #fff;
374
- border-color: #eee;
375
- }
376
-
377
- /* ❌ 错误 */
378
- .text {
379
- color: #333333;
380
- background: #ffffff;
381
- border-color: #eeeeee;
382
- }
383
- ```
384
-
385
- ### 避免为 0 值指定单位
386
-
387
- ```css
388
- /* ✅ 正确 */
389
- .element {
390
- margin: 0;
391
- padding: 0;
392
- border: 0;
393
- }
394
-
395
- /* ❌ 错误 */
396
- .element {
397
- margin: 0px;
398
- padding: 0px;
399
- border: 0px;
400
- }
401
- ```
402
-
403
- ## 代码整洁
404
-
405
- ### 删除冗余代码
406
-
407
- CSS 文件中的冗余代码必须删除,包括:
408
-
409
- - 未使用的样式规则
410
- - 重复的属性声明
411
- - 被注释掉的旧代码
412
- - 空的样式规则
413
-
414
- ```css
415
- /* ❌ 错误 - 冗余代码 */
416
- .button {
417
- color: red;
418
- color: blue; /* 重复声明 */
419
- }
420
-
421
- /* .old_button { } */ /* 注释掉的旧代码 */
422
-
423
- .empty {
424
- } /* 空规则 */
425
-
426
- /* ✅ 正确 */
427
- .button {
428
- color: blue;
429
- }
430
- ```
431
-
432
- ## SCSS 规范
433
-
434
- ### 变量命名
435
-
436
- 使用有意义的变量名,遵循 `$组件-属性-状态` 的命名模式。
437
-
438
- ```scss
439
- /* ✅ 正确 */
440
- $color-primary: #1890ff;
441
- $color-success: #52c41a;
442
- $font-size-base: 14px;
443
- $btn-padding-horizontal: 16px;
444
-
445
- /* ❌ 错误 */
446
- $blue: #1890ff;
447
- $c1: #52c41a;
448
- $fs: 14px;
449
- ```
450
-
451
- ### Mixin 使用
452
-
453
- 复用的样式块应该抽取为 mixin。
454
-
455
- ```scss
456
- /* ✅ 正确 */
457
- @mixin ellipsis($lines: 1) {
458
- @if $lines == 1 {
459
- overflow: hidden;
460
- text-overflow: ellipsis;
461
- white-space: nowrap;
462
- } @else {
463
- display: -webkit-box;
464
- -webkit-line-clamp: $lines;
465
- -webkit-box-orient: vertical;
466
- overflow: hidden;
467
- }
468
- }
469
-
470
- .title {
471
- @include ellipsis(2);
472
- }
473
- ```
474
-
475
- ## 响应式设计
476
-
477
- ### 使用移动优先策略
478
-
479
- ```scss
480
- /* ✅ 正确 - 移动优先 */
481
- .container {
482
- padding: 16px;
483
-
484
- @media (min-width: 768px) {
485
- padding: 24px;
486
- }
487
-
488
- @media (min-width: 1024px) {
489
- padding: 32px;
490
- }
491
- }
492
-
493
- /* ❌ 错误 - 桌面优先 */
494
- .container {
495
- padding: 32px;
496
-
497
- @media (max-width: 1024px) {
498
- padding: 24px;
499
- }
500
-
501
- @media (max-width: 768px) {
502
- padding: 16px;
503
- }
504
- }
505
- ```
506
-
507
- ## 反模式
508
-
509
- ### 避免使用 !important
510
-
511
- ```css
512
- /* ❌ 错误 */
513
- .button {
514
- color: red !important;
515
- }
516
-
517
- /* ✅ 正确 - 提高选择器优先级 */
518
- .page .button {
519
- color: red;
520
- }
521
- ```
522
-
523
- ### 避免使用内联样式
524
-
525
- ```html
526
- <!-- ❌ 错误 -->
527
- <div style="color: red; font-size: 14px;">内容</div>
528
-
529
- <!-- ✅ 正确 -->
530
- <div class="highlight_text">内容</div>
531
- ```