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,247 +0,0 @@
1
- # 列表详情
2
-
3
- ## 前言
4
-
5
- 我们使用 `M8.3移动前端框架` 进行下拉刷新列表、详情页面的开发
6
-
7
- 已根据 教程 章节了解 `M8` 开发的思路
8
-
9
- ## 新建模块
10
-
11
- 模块代码统一放在 `src/pages` 下,每个模块应用对应一个文件夹。
12
-
13
- 我们在此路径下新建文件夹,例如 `m8demo`。
14
-
15
- 在 `m8demo` 文件夹下新建 `router.js` 文件,如下:
16
-
17
- `src/pages/m8demo/router.js` :
18
-
19
- ```js
20
- /**
21
- * router.js无需import组件,需要path路径与vue组件名称保持匹配。
22
- * routers数组下有效参数只有path与style。
23
- * 构建时会自动将模块下的路由配置合并到pages.json内。
24
- */
25
-
26
- // 定义路由规则,url匹配path时,加载component组件页面
27
- const routes = [
28
- {
29
- path: 'pages/m8demo/list',
30
- style: {
31
- navigationBarTitleText: '列表页面',
32
- },
33
- },
34
- {
35
- path: 'pages/m8demo/detail',
36
- style: {
37
- navigationBarTitleText: '详情页面',
38
- },
39
- },
40
- ];
41
-
42
- // 导出路由文件
43
- export default routes;
44
- ```
45
-
46
- ## 列表页面
47
-
48
- 接下来我们在 `m8demo` 下新建 `list.vue` 组件页面
49
-
50
- `list.vue` :
51
-
52
- ```js
53
- <!-- template部分 -->
54
- <template>
55
- <!-- template内只能有一个根节点 -->
56
- <view class="container"></view>
57
- </template>
58
-
59
- <!-- js部分 -->
60
- <script></script>
61
-
62
- <!-- css部分 -->
63
- <style scoped></style>
64
- ```
65
-
66
- `M8`的 `easycom` 机制,将组件引用进一步优化,开发者只管使用,无需在 `JS` 里额外导入和注册。
67
-
68
- ```js
69
- <template>
70
- <view class="container">
71
- <em-minirefresh
72
- ref="scrollPull"
73
- :initPageIndex="initPageIndex"
74
- :page-size="pageSize"
75
- :url="url"
76
- :request-data="dataRequest"
77
- :change-data="dataChange"
78
- >
79
- <template v-slot:default="{ listData }">
80
- <!-- 此处template内为列表list元素,listData为dataChange处理后的接口返回数据 -->
81
- <em-cell v-for="(item, index) in listData" :key="index" :title="item.title" @click="itemClick(item)" />
82
- </template>
83
- </em-minirefresh>
84
- </view>
85
- </template>
86
-
87
- <script>
88
- export default {
89
- // 定义用到的数据,在template中使用{{ }}包裹,自动实现绑定
90
- data() {
91
- return {
92
- // 请求的url
93
- url: `${Config.serverUrl}/rest/list`,
94
- // 接口请求的初始页面
95
- initPageIndex: 0,
96
- // 每次请求的分页大小
97
- pageSize: 10
98
- };
99
- },
100
- // 计算属性
101
- computed: {
102
-
103
- },
104
- // 侦听属性
105
- watch: {
106
-
107
- },
108
- // 实例数据创建完成后调用
109
- created() {
110
-
111
- },
112
- // 实例DOM被挂载后调用
113
- mounted() {
114
-
115
- },
116
- methods: {
117
- // 请求参数函数
118
- dataRequest(currPage, pageSize) {
119
- const data = {
120
- // 当前搜索的第几页,数字类型
121
- currentpageindex: currPage,
122
- // 每页显示记录条数,数字类型
123
- pagesize: pageSize
124
- };
125
- const requestData = {
126
- params: JSON.stringify(data)
127
- };
128
-
129
- return requestData;
130
- },
131
- // 修改数据返回参数
132
- dataChange(res) {
133
- let data;
134
-
135
- if (res && res.status && res.status.code && res.status.code === 1) {
136
- data = res.custom.infolist;
137
- } else {
138
- console.error('接口返回参数错误');
139
- }
140
-
141
- return data;
142
- },
143
- // 列表模板绑定的点击事件函数
144
- itemClick(item) {
145
- ejs.page.open({
146
- pageUrl: "./detail",
147
- pageStyle: 1,
148
- orientation: 1,
149
- data: {
150
- id: item.id,
151
- },
152
- success: function (result) {},
153
- });
154
- }
155
- }
156
- };
157
- </script>
158
-
159
- <!-- css部分 -->
160
- <style lang="scss" scoped>
161
- .container {
162
- height: 100vh;
163
- }
164
- </style>
165
-
166
- ```
167
-
168
- ## 详情页面
169
-
170
- 接下来我们在 `m8demo` 下新建 `detail.vue` 组件页面
171
-
172
- `detail.vue` :
173
-
174
- ```js
175
- <!-- html部分 -->
176
- <template>
177
- <div class="container">
178
- <h1>{{ title }}</h1>
179
- <div v-html="content"></div>
180
- </div>
181
- </template>
182
-
183
- <!-- js部分 -->
184
- <script>
185
- export default {
186
- name: "detail",
187
- components: {},
188
- // 定义用到的数据,在template中使用{{ }}包裹,自动实现绑定
189
- data() {
190
- return {
191
- title: "",
192
- content: "",
193
- };
194
- },
195
- // 计算属性
196
- computed: {
197
-
198
- },
199
- // 侦听属性
200
- watch: {
201
-
202
- },
203
- // 实例数据创建完成后调用
204
- created() {
205
- const id = Util.getExtraDataByKey("id") || ""
206
- this.getDetail(id);
207
- },
208
- // 实例DOM被挂载后调用
209
- mounted() {
210
-
211
- },
212
- methods: {
213
- getDetail(id) {
214
- let _this = this;
215
-
216
- Util.ajax({
217
- url: `${Config.serverUrl}/rest/detail`,
218
- data: {
219
- params: JSON.stringify({
220
- guid: id,
221
- }),
222
- },
223
- })
224
- .then((result) => {
225
- if (
226
- result &&
227
- result.status &&
228
- result.status.code === 1
229
- ) {
230
- _this.title = result.custom.info.title;
231
- _this.content = result.custom.info.data;
232
- }
233
- })
234
- .catch((err) => {
235
- console.error(err);
236
- });
237
- },
238
- }
239
- };
240
- </script>
241
-
242
- <!-- css部分 -->
243
- <style lang="scss" scoped></style>
244
-
245
- ```
246
-
247
- 一个简单的列表详情页面就完成了
@@ -1,276 +0,0 @@
1
- # 列表详情
2
-
3
- ## 前言
4
-
5
- 我们使用 `M8.4移动前端框架` 进行下拉刷新列表、详情页面的开发
6
-
7
- 已根据 教程 章节了解 `M8` 开发的思路
8
-
9
- ## 新建模块
10
-
11
- 模块代码统一放在 `src/pages` 下,每个模块应用对应一个文件夹。
12
-
13
- 我们在此路径下新建文件夹,例如 `m8demo`。
14
-
15
- ### 路由配置
16
-
17
- 在 `m8demo` 文件夹下新建 `router.ts` 文件,如下:
18
-
19
- `src/pages/m8demo/router.ts` :
20
-
21
- ```js
22
- /**
23
- * router.js无需import组件,需要path路径与vue组件名称保持匹配。
24
- * routers数组下有效参数只有path与style。
25
- * 构建时会自动将模块下的路由配置合并到pages.json内。
26
- */
27
-
28
- // 定义路由规则,url匹配path时,加载component组件页面
29
- const routes = [
30
- {
31
- path: 'pages/m8demo/list',
32
- style: {
33
- navigationBarTitleText: '列表页面'
34
- }
35
- }
36
- ];
37
-
38
- // 导出路由文件
39
- export default routes;
40
- ```
41
-
42
- ### Mock数据配置
43
-
44
- 在 `m8demo` 文件夹下新建 `mock.ts` 文件,定义列表请求模拟数据,如下:
45
-
46
- ```js
47
- import Mock from '@mock';
48
-
49
- const resultData = [
50
- {
51
- // 接口地址
52
- methodUrl: '/rest/mock/list',
53
- // 入参
54
- input: {
55
- keyword: '',
56
- currentpageindex: '',
57
- pagesize: ''
58
- },
59
- // 出参
60
- output: Mock.mock({
61
- 'infolist|10-20': [
62
- {
63
- title: () => Mock.Random.csentence(10),
64
- date: ()=> Mock.Random.date(),
65
- id: ()=> Mock.Random.guid(),
66
- content: '来源:综合',
67
- photo: () => Mock.Random.image('114x83', '#00405d', '#FFF', 'Mock.js')
68
- }
69
- ]
70
- })
71
- }
72
- ];
73
-
74
- export default resultData;
75
- ```
76
- mock 文件定义请求本地 `/rest/mock/list` 时响应 `output` 数据。
77
-
78
- ### 列表页面
79
-
80
- 接下来我们在 `m8demo` 下新建 `list.vue` 组件页面
81
-
82
- `list.vue` :
83
-
84
- 基础结构:
85
-
86
- ```html
87
- <!-- template部分 -->
88
- <template>
89
- <view class="container"></view>
90
- </template>
91
-
92
- <!-- script部分 -->
93
- <script lang="ts" setup></script>
94
-
95
- <!-- css部分 -->
96
- <style scoped lang="scss"></style>
97
- ```
98
-
99
- `M8`的 `easycom` 机制,将 M8-UI 组件引用进一步优化,开发者可以直接在 `template` 中使用,无需在 `script` 里额外导入和注册。
100
-
101
- 根据 下拉刷新 组件 `em-minirefresh` 进行列表数据渲染。补充:
102
- ```html
103
- <template>
104
- <view class="container">
105
- <em-minirefresh
106
- ref="scrollPull"
107
- :initPageIndex="initPageIndex"
108
- :page-size="pageSize"
109
- :url="url"
110
- :request-data="dataRequest"
111
- :change-data="dataChange"
112
- >
113
- <template v-slot:default="{ listData }">
114
- <!-- 此处template内为列表list元素,listData为dataChange处理后的接口返回数据 -->
115
- <em-cell v-for="(item, index) in listData" :key="index" :title="item.title" @click="itemClick(item)" />
116
- </template>
117
- </em-minirefresh>
118
- </view>
119
- </template>
120
-
121
- <script lang="ts" setup>
122
- import { ref } from 'vue';
123
-
124
- const url = `${Config.serverUrl}rest/mock/list`;
125
- const initPageIndex = 0;
126
- const pageSize = 10;
127
-
128
- const dataRequest = (_currPage, _pageSize) => {
129
- const data = {
130
- // 当前搜索的第几页,数字类型
131
- currentpageindex: _currPage,
132
- // 每页显示记录条数,数字类型
133
- pagesize: _pageSize
134
- };
135
- const requestData = {
136
- params: JSON.stringify(data)
137
- };
138
-
139
- return requestData;
140
- };
141
- const dataChange = (res) => {
142
- let data;
143
-
144
- if (res && res.status && res.status.code && res.status.code === 1) {
145
- data = res.custom.infolist;
146
- } else {
147
- console.error('接口返回参数错误');
148
- }
149
-
150
- return data;
151
- };
152
- const itemClick = (item) => {
153
- ejs.page.open({
154
- pageUrl: './detail',
155
- data: {
156
- id: item.id
157
- }
158
- });
159
- };
160
- </script>
161
- <!-- css部分 -->
162
- <style lang="scss" scoped>
163
- .container {
164
- height: 100vh;
165
- }
166
- </style>
167
-
168
- ```
169
-
170
- ## 详情页面
171
-
172
- ### 页面路由配置
173
-
174
- 在 `m8demo` 文件夹下的 `router.ts` 文件中补充 `detail` 页面路由配置:
175
-
176
- ```js
177
- /**
178
- * router.js无需import组件,需要path路径与vue组件名称保持匹配。
179
- * routers数组下有效参数只有path与style。
180
- * 构建时会自动将模块下的路由配置合并到pages.json内。
181
- */
182
-
183
- // 定义路由规则,url匹配path时,加载component组件页面
184
- const routes = [
185
- {
186
- // ...
187
- },
188
- {
189
- path: 'pages/m8demo/detail',
190
- style: {
191
- navigationBarTitleText: '详情页面'
192
- }
193
- }
194
- ];
195
-
196
- // 导出路由文件
197
- export default routes;
198
- ```
199
-
200
- ### mock数据配置
201
-
202
- 在 `m8demo` 文件夹中的 `mock.ts` 文件中补充 `detail` 页面的 mock 数据:
203
-
204
- ```js
205
- import Mock from '@mock';
206
-
207
- const resultData = [
208
- {
209
- // ...
210
- },
211
- {
212
- // 接口地址
213
- methodUrl: '/rest/mock/detail',
214
- // 入参
215
- input: {
216
- guid: ''
217
- },
218
- // 出参
219
- output: Mock.mock({
220
- info: {
221
- title: Mock.Random.csentence(5, 10), // 随机生成一段中文文本。
222
- data: Mock.Random.csentence(25, 30)
223
- }
224
- })
225
- }
226
- ];
227
-
228
- export default resultData;
229
- ```
230
-
231
- 接下来我们在 `m8demo` 下新建 `detail.vue` 组件页面
232
-
233
- `detail.vue` :
234
-
235
- ```js
236
- <template>
237
- <div class="container">
238
- <h1>{{ title }}</h1>
239
- <div v-html="content"></div>
240
- </div>
241
- </template>
242
-
243
- <script lang="ts" setup>
244
- import { ref } from 'vue';
245
- import { onLoad } from '@dcloudio/uni-app';
246
-
247
- const title = ref('');
248
- const content = ref('');
249
- const getDetail = (id) => {
250
- Util.ajax({
251
- url: `${Config.serverUrl}rest/mock/detail`,
252
- data: {
253
- params: JSON.stringify({
254
- guid: id
255
- })
256
- }
257
- })
258
- .then((result) => {
259
- if (result && result.status && result.status.code === 1) {
260
- title.value = result.custom.info.title;
261
- content.value = result.custom.info.data;
262
- }
263
- })
264
- .catch((err) => {
265
- console.error(err);
266
- });
267
- };
268
-
269
- onLoad(({ id }) => {
270
- getDetail(id);
271
- });
272
- </script>
273
-
274
- ```
275
-
276
- 一个简单的列表详情页面就完成了
@@ -1,130 +0,0 @@
1
- # 表单提交
2
-
3
- ## 前言
4
-
5
- 我们使用 `M8.3移动前端框架` 进行表单提交页面的开发
6
-
7
- 已根据 教程 章节了解 `M8` 开发的思路
8
-
9
- ## 新建模块
10
-
11
- 模块代码统一放在 `src/pages` 下,每个模块应用对应一个文件夹。
12
-
13
- 我们在此路径下新建文件夹,例如 `m8form`。
14
-
15
- 在 `m8form` 文件夹下新建 `router.js` 文件,如下:
16
-
17
- `src/pages/m8form/router.js` :
18
-
19
- ```js
20
- /**
21
- * router.js无需import组件,需要path路径与vue组件名称保持匹配。
22
- * routers数组下有效参数只有path与style。
23
- * 构建时会自动将模块下的路由配置合并到pages.json内。
24
- */
25
-
26
- // 定义路由规则,url匹配path时,加载component组件页面
27
- const routes = [
28
- {
29
- path: 'pages/m8form/form-sub',
30
- style: {
31
- navigationBarTitleText: '表单提交',
32
- },
33
- },
34
- ];
35
-
36
- // 导出路由文件
37
- export default routes;
38
- ```
39
-
40
- ## 表单页面
41
-
42
- 接下来我们新建 `form-sub.vue` 组件页面
43
-
44
- `form-sub.vue` :
45
-
46
- ```html
47
- <template>
48
- <em-form @submit="onSubmit" @failed="onFailed">
49
- <em-field
50
- v-model="form.username"
51
- label="用户名"
52
- placeholder="用户名"
53
- :rules="[{ required: true, message: '请填写用户名' }]"
54
- />
55
- <em-field
56
- v-model="form.password"
57
- type="password"
58
- label="密码"
59
- placeholder="密码"
60
- :rules="[{ required: true, message: '请填写密码' }]"
61
- />
62
- <em-field label="滑动开关" input-align="right">
63
- <template #input>
64
- <em-switch v-model="form.switchChecked" />
65
- </template>
66
- </em-field>
67
- <em-field label="单选框">
68
- <template #input>
69
- <em-radio-group v-model="form.radio" direction="horizontal">
70
- <em-radio name="1">单选框 1</em-radio>
71
- <em-radio name="2">单选框 2</em-radio>
72
- </em-radio-group>
73
- </template>
74
- </em-field>
75
- <em-field label="数字步进器">
76
- <template #input>
77
- <em-stepper v-model="form.stepper" />
78
- </template>
79
- </em-field>
80
- <em-field label="评分">
81
- <template #input>
82
- <em-rate v-model="form.rate" />
83
- </template>
84
- </em-field>
85
- <div style="margin: 16px;">
86
- <em-button round block type="info" native-type="submit">提交</em-button>
87
- </div>
88
- </em-form>
89
- </template>
90
- ```
91
-
92
- `M8`的 `easycom` 机制,将组件引用进一步优化,开发者只管使用,无需在 `JS` 里额外导入和注册。
93
-
94
- ```js
95
- // script部分
96
- export default {
97
- data() {
98
- return {
99
- form: {
100
- username: '', // 用户名
101
- password: '', // 用户密码
102
- switchChecked: false, // 默认滑动开关为false
103
- radio: '1', // 默认radio置1
104
- stepper: 1, // 默认步进器为1
105
- rate: 3, // 默认评分3
106
- },
107
- };
108
- },
109
- // 计算属性
110
- computed: {},
111
- // 侦听属性
112
- watch: {},
113
- // 实例数据创建完成后调用
114
- created() {},
115
- // 实例DOM被挂载后调用
116
- mounted() {},
117
- methods: {
118
- // 验证通过后触发
119
- onSubmit() {
120
- console.log('submit', this.form);
121
- },
122
- // 验证不通过后触发
123
- onFailed(errorInfo) {
124
- console.log('error', errorInfo);
125
- },
126
- },
127
- };
128
- ```
129
-
130
- 一个简单的表单提交页面就完成了