m8-mcp-server 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/README.md +153 -30
  2. package/dist/cli.d.ts +9 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +14 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/docs/apis.d.ts +38 -0
  7. package/dist/docs/apis.d.ts.map +1 -0
  8. package/dist/docs/apis.js +326 -0
  9. package/dist/docs/apis.js.map +1 -0
  10. package/dist/docs/components.d.ts +45 -0
  11. package/dist/docs/components.d.ts.map +1 -0
  12. package/dist/docs/components.js +186 -0
  13. package/dist/docs/components.js.map +1 -0
  14. package/dist/docs/index.d.ts +94 -0
  15. package/dist/docs/index.d.ts.map +1 -0
  16. package/dist/docs/index.js +182 -0
  17. package/dist/docs/index.js.map +1 -0
  18. package/dist/docs/loader.d.ts +51 -0
  19. package/dist/docs/loader.d.ts.map +1 -0
  20. package/dist/docs/loader.js +165 -0
  21. package/dist/docs/loader.js.map +1 -0
  22. package/dist/docs/search.d.ts +28 -0
  23. package/dist/docs/search.d.ts.map +1 -0
  24. package/dist/docs/search.js +196 -0
  25. package/dist/docs/search.js.map +1 -0
  26. package/dist/docs/standards.d.ts +41 -0
  27. package/dist/docs/standards.d.ts.map +1 -0
  28. package/dist/docs/standards.js +134 -0
  29. package/dist/docs/standards.js.map +1 -0
  30. package/dist/docs/utils.d.ts +46 -0
  31. package/dist/docs/utils.d.ts.map +1 -0
  32. package/dist/docs/utils.js +129 -0
  33. package/dist/docs/utils.js.map +1 -0
  34. package/dist/generator/header.d.ts +32 -0
  35. package/dist/generator/header.d.ts.map +1 -0
  36. package/dist/generator/header.js +83 -0
  37. package/dist/generator/header.js.map +1 -0
  38. package/dist/generator/index.d.ts +50 -0
  39. package/dist/generator/index.d.ts.map +1 -0
  40. package/dist/generator/index.js +387 -0
  41. package/dist/generator/index.js.map +1 -0
  42. package/dist/generator/vue-template.d.ts +54 -0
  43. package/dist/generator/vue-template.d.ts.map +1 -0
  44. package/dist/generator/vue-template.js +191 -0
  45. package/dist/generator/vue-template.js.map +1 -0
  46. package/dist/index.d.ts +21 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +73 -1
  49. package/dist/index.js.map +1 -0
  50. package/dist/recommend/index.d.ts +27 -0
  51. package/dist/recommend/index.d.ts.map +1 -0
  52. package/dist/recommend/index.js +412 -0
  53. package/dist/recommend/index.js.map +1 -0
  54. package/dist/tools/generate-code.d.ts +18 -0
  55. package/dist/tools/generate-code.d.ts.map +1 -0
  56. package/dist/tools/generate-code.js +155 -0
  57. package/dist/tools/generate-code.js.map +1 -0
  58. package/dist/tools/get-api-info.d.ts +18 -0
  59. package/dist/tools/get-api-info.d.ts.map +1 -0
  60. package/dist/tools/get-api-info.js +65 -0
  61. package/dist/tools/get-api-info.js.map +1 -0
  62. package/dist/tools/get-coding-standard.d.ts +18 -0
  63. package/dist/tools/get-coding-standard.d.ts.map +1 -0
  64. package/dist/tools/get-coding-standard.js +66 -0
  65. package/dist/tools/get-coding-standard.js.map +1 -0
  66. package/dist/tools/get-component-info.d.ts +18 -0
  67. package/dist/tools/get-component-info.d.ts.map +1 -0
  68. package/dist/tools/get-component-info.js +60 -0
  69. package/dist/tools/get-component-info.js.map +1 -0
  70. package/dist/tools/get-util-info.d.ts +18 -0
  71. package/dist/tools/get-util-info.d.ts.map +1 -0
  72. package/dist/tools/get-util-info.js +65 -0
  73. package/dist/tools/get-util-info.js.map +1 -0
  74. package/dist/tools/index.d.ts +56 -0
  75. package/dist/tools/index.d.ts.map +1 -0
  76. package/dist/tools/index.js +101 -0
  77. package/dist/tools/index.js.map +1 -0
  78. package/dist/tools/recommend-solution.d.ts +18 -0
  79. package/dist/tools/recommend-solution.d.ts.map +1 -0
  80. package/dist/tools/recommend-solution.js +67 -0
  81. package/dist/tools/recommend-solution.js.map +1 -0
  82. package/dist/tools/search-docs.d.ts +18 -0
  83. package/dist/tools/search-docs.d.ts.map +1 -0
  84. package/dist/tools/search-docs.js +71 -0
  85. package/dist/tools/search-docs.js.map +1 -0
  86. package/dist/types/index.d.ts +285 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/index.js +8 -0
  89. package/dist/types/index.js.map +1 -0
  90. package/package.json +27 -26
  91. package/resources/cases/.gitkeep +0 -0
  92. package/resources/cases/form-submit-vue2.json +15 -0
  93. package/resources/cases/index.json +8 -0
  94. package/resources/cases/list-detail-vue2.json +27 -0
  95. package/resources/components/.gitkeep +0 -0
  96. package/resources/components/button.json +74 -0
  97. package/resources/components/cell.json +69 -0
  98. package/resources/components/field.json +88 -0
  99. package/resources/components/index.json +72 -0
  100. package/resources/standards/.gitkeep +0 -0
  101. package/resources/standards/css.json +108 -0
  102. package/resources/standards/javascript.json +129 -0
  103. package/resources/standards/project-structure.json +101 -0
  104. package/resources/standards/vue.json +122 -0
  105. package/resources/utils/.gitkeep +0 -0
  106. package/resources/utils/ajax.json +76 -0
  107. package/resources/utils/common.json +129 -0
  108. package/resources/utils/index.json +7 -0
  109. package/resources/utils/string.json +112 -0
  110. package/bin/m8-mcp.js +0 -2
  111. package/dist/constants.js +0 -1
  112. package/dist/data/ejs-doc/api_audio/api_audio.md +0 -225
  113. package/dist/data/ejs-doc/api_auth/api_auth.md +0 -256
  114. package/dist/data/ejs-doc/api_contact/api_contact.md +0 -295
  115. package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  116. package/dist/data/ejs-doc/api_device/api_device.md +0 -761
  117. package/dist/data/ejs-doc/api_event/api_event.md +0 -244
  118. package/dist/data/ejs-doc/api_global/api_global.md +0 -440
  119. package/dist/data/ejs-doc/api_io/api_io.md +0 -369
  120. package/dist/data/ejs-doc/api_navigator/api_navigator.md +0 -654
  121. package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  122. package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  123. package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  124. package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  125. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  126. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  127. package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  128. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  129. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  130. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  131. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  132. package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  133. package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  134. package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  135. package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  136. package/dist/data/ejs-doc/api_page/api_page.md +0 -261
  137. package/dist/data/ejs-doc/api_runtime/api_runtime.md +0 -788
  138. package/dist/data/ejs-doc/api_storage/api_storage.md +0 -320
  139. package/dist/data/ejs-doc/api_stream/api_stream.md +0 -152
  140. package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  141. package/dist/data/ejs-doc/api_ui/api_ui.md +0 -836
  142. package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  143. package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  144. package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
  145. package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  146. package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  147. package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  148. package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  149. package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  150. package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  151. package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  152. package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  153. package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  154. package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
  155. package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
  156. package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
  157. package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  158. package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  159. package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
  160. package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  161. package/dist/data/ejs-doc/api_util/api_util.md +0 -615
  162. package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
  163. package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
  164. package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
  165. package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
  166. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205.md +0 -247
  167. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205vue3.md +0 -276
  168. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244.md +0 -130
  169. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244vue3.md +0 -115
  170. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/000-/346/240/270/345/277/203/346/226/271/346/263/225.md +0 -398
  171. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/001-Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +0 -456
  172. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
  173. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
  174. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
  175. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
  176. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
  177. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
  178. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
  179. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
  180. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/010-Util/346/211/251/345/261/225/346/214/207/345/215/227.md +0 -76
  181. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
  182. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
  183. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
  184. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
  185. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
  186. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
  187. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
  188. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
  189. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
  190. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/000-/347/273/204/344/273/266/345/272/223/344/270/213/350/275/275/344/275/277/347/224/250.md +0 -188
  191. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +0 -460
  192. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
  193. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
  194. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +0 -213
  195. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +0 -501
  196. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +0 -168
  197. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +0 -617
  198. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +0 -539
  199. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
  200. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +0 -150
  201. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
  202. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
  203. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +0 -152
  204. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +0 -427
  205. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
  206. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
  207. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +0 -175
  208. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +0 -519
  209. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +0 -152
  210. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +0 -103
  211. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +0 -285
  212. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
  213. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
  214. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
  215. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +0 -340
  216. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +0 -265
  217. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
  218. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +0 -115
  219. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
  220. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +0 -631
  221. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +0 -531
  222. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +0 -111
  223. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +0 -337
  224. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
  225. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
  226. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +0 -429
  227. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
  228. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +0 -295
  229. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +0 -577
  230. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +0 -491
  231. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +0 -265
  232. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +0 -203
  233. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +0 -139
  234. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +0 -199
  235. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
  236. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +0 -289
  237. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +0 -97
  238. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +0 -146
  239. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +0 -292
  240. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +0 -120
  241. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +0 -114
  242. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +0 -119
  243. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +0 -208
  244. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +0 -161
  245. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +0 -248
  246. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +0 -314
  247. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
  248. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +0 -325
  249. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +0 -360
  250. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +0 -595
  251. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
  252. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +0 -51
  253. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
  254. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +0 -1538
  255. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +0 -261
  256. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +0 -161
  257. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
  258. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +0 -531
  259. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
  260. package/dist/data/m8mpdoc-develop/012-Mock/347/232/204/344/275/277/347/224/250/Mock/347/232/204/344/275/277/347/224/250.md +0 -116
  261. package/dist/data/standards/css-style.md +0 -531
  262. package/dist/data/standards/js-style.md +0 -394
  263. package/dist/data/standards/project-structure.md +0 -325
  264. package/dist/data/standards/vue-style.md +0 -644
  265. package/dist/tools/search.js +0 -1
  266. package/dist/tools/standards.js +0 -1
@@ -1,137 +0,0 @@
1
- # 扩展-其他API
2
-
3
- ## 使用场景
4
-
5
- 一些扩展的API。
6
-
7
- ### Util.openSetting(OBJECT)
8
-
9
- 调起客户端小程序设置界面,返回用户设置的操作结果。
10
-
11
- **平台差异**
12
-
13
- | H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
14
- | :---: | :--------: | :--------: | :----------: |
15
- | X | X | √ | √ |
16
-
17
- |属性|类型|必填|说明|
18
- |---|---|---|---|---|
19
- |success|function|否|接口调用成功的回调函数|
20
- |fail|function|否|接口调用失败的回调函数|
21
- |complete|function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
22
-
23
- **success 返回参数**
24
-
25
- |属性|类型|说明|
26
- |---|---|---|
27
- |authSetting|Object|用户授权结果,其中 key 为 [scope](#scope-列表) 值,value 为 Boolean 值,表示用户是否允许授权|
28
-
29
- **代码示例**
30
-
31
- ```javascript
32
- Util.openSetting({
33
- success(res) {
34
- console.log(res.authSetting)
35
- }
36
- });
37
- ```
38
-
39
- ### Util.getSetting(OBJECT)
40
- 获取用户的当前设置。
41
-
42
- **平台差异**
43
-
44
- | H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
45
- | :---: | :--------: | :--------: | :----------: |
46
- | X | X | √ | √ |
47
-
48
- |属性|类型|默认值|必填|说明|
49
- |---|---|---|---|---|
50
- |withSubscriptions|Boolean|false |否|是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 **(微信小程序 2.10.1 支持)**|
51
- |success|function||否|接口调用成功的回调函数|
52
- |fail|function||否|接口调用失败的回调函数|
53
- |complete|function||否|接口调用结束的回调函数(调用成功、失败都会执行)|
54
-
55
-
56
- **success 返回参数**
57
-
58
- |属性|类型|说明|
59
- |---|---|---|
60
- |authSetting|Object|用户授权结果,其中 key 为 [scope](#scope-列表) 值,value 为 Boolean 值,表示用户是否允许授权|
61
- |subscriptionsSetting|SubscriptionsSetting|用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。**(微信小程序 2.10.1 支持)**|
62
-
63
- #### 示例代码
64
- ```js
65
- Util.getSetting({
66
- success(res) {
67
- console.log(res.authSetting)
68
- }
69
- })
70
- ```
71
-
72
- ##### scope-列表
73
-
74
-
75
- | scope | 描述 | 平台差异说明 |
76
- | ---------------------------- | ------------ | ----------------------------------- |
77
- | scope.userInfo | 用户信息 | |
78
- | scope.userLocation | 地理位置 | |
79
- | scope.userLocationBackground | 后台定位 | 微信小程序 |
80
- | scope.address | 通信地址 | |
81
- | scope.record | 录音功能 | |
82
- | scope.writePhotosAlbum | 保存到相册 | |
83
- | scope.camera | 摄像头 | |
84
- | scope.invoice | 获取发票 | 微信小程序 |
85
- | scope.invoiceTitle | 发票抬头 | 微信小程序 |
86
- | scope.werun | 微信运动步数 | 微信小程序 |
87
-
88
- 注意:scope.userLocation 权限需要在 manifest.json 配置 permission
89
-
90
- ### Util.getAccountInfoSync()
91
-
92
- 获取当前帐号信息,可以返回小程序的Appid。
93
-
94
- **平台差异**
95
-
96
- | H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
97
- | :---: | :--------: | :--------: | :----------: |
98
- | X | X | √ | X |
99
-
100
- **返回值**
101
-
102
- **Object**
103
-
104
- 帐号信息
105
-
106
- | 属性 | 类型 | 说明 |
107
- | --- | --- | --- |
108
- | miniProgram | Object| 小程序帐号信息 |
109
- | plugin | Object | 插件帐号信息(仅在插件中调用时包含这一项) |
110
- | appName | string| 智能小程序名称 (仅百度小程序支持) |
111
- | lastAppURL | string| 智能小程序最近一次打开的调起协议 (仅百度小程序支持) |
112
- | scheme | string| 调起协议的协议头 (仅百度小程序支持) |
113
-
114
-
115
- **miniProgram 的结构**
116
-
117
- | 属性 | 类型 | 说明 |
118
- | --- | --- | --- |
119
- | appId | string | 小程序 appId |
120
-
121
-
122
- **plugin 的结构**
123
-
124
- | 属性 | 类型 | 说明 |
125
- | --- | --- | --- |
126
- | appId | string | 插件 appId |
127
- | version | string | 插件版本号 |
128
-
129
-
130
- **示例代码**
131
-
132
- ```js
133
- const accountInfo = Util.getAccountInfoSync();
134
- console.log(accountInfo.miniProgram.appId); // 小程序 appId
135
- console.log(accountInfo.plugin.appId); // 插件 appId
136
- console.log(accountInfo.plugin.version); // 插件版本号, 'a.b.c' 这样的形式
137
- ```
@@ -1,363 +0,0 @@
1
- # 三方小程序登录管理器
2
-
3
- ## 说明:
4
-
5
- 三方小程序登录管理器,基于框架SSO服务,实现在三方小程序中授权获取手机号码、验证、注册、绑定、登出、注销等功能。
6
-
7
- ## 支持版本:
8
-
9
- #### 移动前端框架:
10
-
11
- `ejs.m8.mobileframe@8.3.9`
12
-
13
- `@epoint-mrc/utils@1.0.8`
14
-
15
- #### 服务端:
16
-
17
- 内部版:`F9框架版本F9.5.3`
18
-
19
- 公众版(个人/法人):`F9框架版本F9.5.3` ,支持迁移到`身份宝v1.1.0-sp1`
20
-
21
- ## 使用场景:
22
-
23
- 支持在微信小程序、支付宝小程序(计划)内使用。
24
-
25
- 支持在公司框架SSO服务公众版(个人/法人)、内部版中使用。
26
-
27
- **平台差异**
28
-
29
- | H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
30
- | :---: | :--------: | :--------: | :----------: |
31
- | X | X | √ | √(计划) |
32
-
33
- ### 注意
34
-
35
- 由于使用到了微信获取用户手机号码code,微信限制小程序注册主体需要为企业注册。
36
-
37
- 开发调试时,开发者工具需要使用该小程序微信管理后台申请的开发人员账号登录,才能在开发者工具内进行提调试。
38
-
39
- ## API:
40
-
41
- ### Util.mpVerifyManager.init(object)
42
-
43
- 初始化三方小程序登录管理器。初始化只需要初始化一次,建议放在main.js里。
44
-
45
- __参数说明__
46
-
47
- | 参数 |必填| 参数类型 | 可选值 | 说明 |
48
- | :------------- |:-------------:|:-------------:|:-------------|:-------------|
49
- | ssoUrl | 是 | String | | sso服务地址。例如:`https://domain:port/epoint-shell-member-center-demo/` |
50
- | loginType | 是 | String | `mp`、`ep` | 登录类型:公众版(mp);内部版(ep) |
51
- | ep3rdAppid | 是 | String | | 三方系统应用id,通过框架三方集成平台获取 | <!-- TODO补充后端文档 -->
52
- | ep3rdPlatid | 是 | String | | 三方集成平台id,通过框架三方集成平台获取 |<!-- TODO补充后端文档 -->
53
- | authorizeRouterPath | 否 | String | | 授权登录页面。用户openId如果sso中未绑定,会跳转到授权登录页面,授权获取手机号。支持其他个性化路由地址。默认为`/modules/innerlogin/index` |
54
- | registerRouterPath | 否 | String | | 注册页路由地址。授权获取的手机号码如果未在系统中存在,会跳转到注册页面。支持其他个性化路由地址。默认为`/modules/innerlogin/page/register/register` |
55
- | noMobileBindRouterPath | 否 | String | | 提示未注册手机号页面。默认为`/modules/innerlogin/page/bind/mobilebind` |
56
- | legalPersonRouterPath | 否 | String | | 法人登录多身份选择路由地址。默认为`/modules/innerlogin/page/register/login_choice_identity` |
57
- | registerLegalRouterPath | 否 | String | | 法人注册路由地址。默认为`/modules/innerlogin/page/register/register_legal` |
58
- | useManagerToken | 否 | boolean | | Util.ajax 是否使用登录管理器获取的 token |
59
- | appGuid | 否 | String | | 当使用内部版登录时,为了展示EMP平台上对应的应用程序的Client_Id的隐私授权页面,需要在隐私授权协议连接中拼接appGuid |
60
- | plugins | 否 | Array | | 插件,可以进行个性化业务拦截处理 |
61
- | userType | 否 | String |`P`、`L`| 用户登录类型。公众版登录时,需要传参`P`(个人)/ `L`(法人);内部版登录时可不传。默认为`P` |
62
-
63
-
64
- **示例**
65
- ```js
66
- // 初始化平台小程序用户身份管理器。初始化只需要初始化一次,建议放在main.js里。
67
- Util.mpVerifyManager.init({
68
- // ssoUrl: sso服务地址
69
- ssoUrl: 'https://domain:port/epoint-shell-member-center-demo/',
70
- // 登录类型:公众版(mp);内部版(ep)
71
- loginType: 'mp',
72
- // 三方系统应用id,通过框架三方集成平台获取
73
- ep3rdAppid: 'applet',
74
- // 三方集成平台id,通过框架三方集成平台获取
75
- ep3rdPlatid: 'weixin'
76
- });
77
- ```
78
-
79
- ### Util.mpVerifyManager.login(object)
80
-
81
- 触发小程序登录流程
82
-
83
- __参数说明__
84
-
85
- | 参数 |必填| 参数类型 | 可选值 | 说明 |
86
- | :------------- |:-------------:|:-------------:|:-------------:|:-------------|
87
- | userType | 否 | String |`P`、`L`| 用户登录类型。公众版登录时,需要传参`P`(个人)/ `L`(法人);内部版登录时可不传。默认为`P` |
88
- | useCacheToken | 否 | Boolean | `true`、`false` | 是否使用缓存的token。默认为`true` |
89
-
90
- __返回参数__
91
-
92
- | 参数 |参数类型| 说明 |
93
- | :------------- |:-------------:|:-------------|
94
- | login_status | String | 登录状态码 |
95
- | login_text | String | 登录状态描述 |
96
- | access_token | String | 访问令牌 |
97
- | refresh_token | String | 刷新令牌 |
98
- | expires_in | String | 令牌有效期 |
99
- | jsessionid | String | 会话id |
100
-
101
-
102
-
103
- **示例**
104
- ```js
105
- // ...
106
- await Util.mpVerifyManager.login({
107
- // 用户类型:P:个人、L:法人
108
- userType: 'P'
109
- });
110
- // 登录成功之后的请求会自动携带token
111
- // Util.ajax(...)
112
- // ...
113
- ```
114
-
115
- ### Util.mpVerifyManager.logout()
116
-
117
- 用户登出,清空用户登录信息
118
-
119
- **示例**
120
- ```js
121
- Util.mpVerifyManager.logout();
122
- ```
123
-
124
-
125
- ### Util.mpVerifyManager.getUserAuth()
126
-
127
- 获取用户登录信息
128
-
129
- __返回参数__
130
-
131
- | 参数 |参数类型| 说明 |
132
- | :------------- |:-------------:|:-------------|
133
- | login_status | String | 登录状态码 |
134
- | login_text | String | 登录状态描述 |
135
- | access_token | String | 访问令牌 |
136
- | refresh_token | String | 刷新令牌 |
137
- | expires_in | String | 令牌有效期 |
138
- | jsessionid | String | 会话id |
139
-
140
- **示例**
141
- ```js
142
- const userAuth = await Util.mpVerifyManager.getUserAuth();
143
- ```
144
-
145
- ## API页面说明
146
-
147
- 三方小程序登录管理器内置了相关页面,用于授权登录、验证、注册等。如果需要个性化页面,可以在初始化时传入个性化路由地址。
148
-
149
- ### 目录结构
150
-
151
- 默认目录结构如下
152
-
153
- ```
154
- ejs.m8.mobileframe
155
- |- src
156
- | |- modules // 框架集成的业务组件模块
157
- | | |- innerlogin // 三方小程序登录管理器内置模块
158
- | | | |- pages // 具体页面
159
- | | | | |- bind
160
- | | | | | |- mobilebind.vue // 号码未绑定账号页面
161
- | | | | |- demo
162
- | | | | | |- demo.vue // 三方小程序示例页面入口
163
- | | | | | |- internal.vue // 三方小程序内部版登录示例页面
164
- | | | | | |- public.vue // 三方小程序公众版登录示例页面
165
- | | | | |- register
166
- | | | | | |- login_choice_identity.vue // 公众版法人登录多账号选择页面
167
- | | | | | |- privacy_footer.vue // 通用隐私授权协议
168
- | | | | | |- register_legal.vue // 公众版法人注册页面
169
- | | | | | |- register.vue // 公众版个人注册页面
170
- | | | | | |- webview.vue // 在线隐私协议webview展示页面
171
- | | | |- plugin
172
- | | | | |- plugin.js // 个性化插件示例
173
- | | | |- index.vue // 登录入口,手机号码授权页面
174
-
175
- ```
176
-
177
- ## plugin插件说明
178
-
179
- 三方小程序登录管理器内置了个性化插件,用于个性化业务拦截处理。如果需要在登录流程进行拦截处理,可以在初始化时传入个性化插件。
180
-
181
- ### 钩子
182
-
183
- 以下生命周期钩子函数,是由 compiler 暴露, 可以通过如下方式访问:
184
-
185
- ```js
186
- compiler.hooks.someHook.tap('MyPlugin', () => {
187
- /* ... */
188
- });
189
- // 或者
190
- compiler.hooks.someHook.tapAsync('MyPlugin', () => {
191
- return new Promise((resolve) => {
192
- /* ... */
193
- resolve();
194
- });
195
- });
196
- ```
197
-
198
- 目前提供的均为异步钩子,可以通过 tap 或 tapAsync 来注册。
199
-
200
- #### beforeLogin
201
-
202
- `AsyncHook`
203
-
204
- 登录前钩子,在执行Util.mpVerifyManager.init前触发。
205
-
206
- - 回调参数:`MpVerifyManager`
207
-
208
- ```js
209
- compiler.hooks.beforeLogin.tap('MyPlugin', () => {
210
- /* ... */
211
- });
212
- ```
213
-
214
- #### afterLogin
215
-
216
- `AsyncHook`
217
-
218
- 登录后钩子,从SSO服务或者本地缓存中获取用户登录信息后触发。
219
-
220
- - 回调参数:`MpVerifyManager`
221
-
222
- ```js
223
- compiler.hooks.afterLogin.tap('MyPlugin', () => {
224
- /* ... */
225
- });
226
- ```
227
-
228
- #### beforeSaveUserAuth
229
-
230
- `AsyncHook`
231
-
232
- 保存用户登录信息之前触发
233
-
234
- - 回调参数:`userAuth`
235
-
236
- ```js
237
- compiler.hooks.beforeSaveUserAuth.tap('MyPlugin', () => {
238
- /* ... */
239
- });
240
- ```
241
-
242
- #### beforeGetUserAuth
243
-
244
- `AsyncHook`
245
-
246
- 获取用户登录信息之前触发
247
-
248
- - 回调参数:`userAuth`
249
-
250
- ```js
251
- compiler.hooks.beforeSaveUserAuth.tap('MyPlugin', () => {
252
- /* ... */
253
- });
254
- ```
255
-
256
- #### afterClearUserAuth
257
-
258
- `AsyncHook`
259
-
260
- 清除用户登录信息之后触发
261
-
262
- - 回调参数:`userAuth`
263
-
264
- ```js
265
- compiler.hooks.afterClearUserAuth.tap('MyPlugin', () => {
266
- /* ... */
267
- });
268
- ```
269
-
270
- #### beforeLogout
271
-
272
- `AsyncHook`
273
-
274
- 登出之前触发
275
-
276
- - 回调参数:`MpVerifyManager`
277
-
278
- ```js
279
- compiler.hooks.beforeLogout.tap('MyPlugin', () => {
280
- /* ... */
281
- });
282
- ```
283
-
284
- #### afterLogout
285
-
286
- `AsyncHook`
287
-
288
- 登出之后触发
289
-
290
- - 回调参数:`MpVerifyManager`
291
-
292
- ```js
293
- compiler.hooks.afterLogout.tap('MyPlugin', () => {
294
- /* ... */
295
- });
296
- ```
297
-
298
- #### getMpCode
299
-
300
- `AsyncHook`
301
-
302
- 获取三方小程序code之前触发,适用于非微信、支付宝小程序时,获取对应的code。
303
-
304
- - 回调参数:`MpVerifyManager`
305
-
306
- ```js
307
- compiler.hooks.getMpCode.tapAsync('MyPlugin', (mpVerifyManager) => {
308
- return new Promise((resolve) => {
309
- // 模拟api调用
310
- setTimeout(function() {
311
- mpVerifyManager.code = 'xxx';
312
- resolve();
313
- }, 3000);
314
- });
315
- });
316
- ```
317
-
318
- ### 注册使用plugin示例
319
-
320
- ```js
321
- // 定义插件
322
- class PluginDemo {
323
- constructor() {
324
- this.name = 'PluginDemo';
325
- }
326
- // 插件执行内容定义在apply方法中
327
- apply(compiler) {
328
- // 插件示例
329
- compiler.hooks.beforeLogin.tap('MyPlugin', () => {
330
- ejs.ui.showWaiting('请稍等');
331
- });
332
- // 插件示例带回调
333
- compiler.hooks.afterLogin.tapAsync('MyPlugin', () => {
334
- return new Promise((resolve) => {
335
- ejs.ui.closeWaiting();
336
- resolve();
337
- });
338
- });
339
- }
340
- }
341
-
342
- // 初始化平台小程序用户身份管理器。初始化只需要初始化一次,建议放在main.js里。
343
- Util.mpVerifyManager.init({
344
- // ...其他配置
345
- // 初始化时传入个性化插件
346
- plugins: [new PluginDemo()],
347
- });
348
- ```
349
-
350
-
351
- ### 附:小程序登录流程
352
-
353
- #### 公众版
354
-
355
- ![小程序登录流程-公众版](assets/006/public.png)
356
-
357
- #### 内部版
358
-
359
- ![小程序登录流程-内部版](assets/006/internal.png)
360
-
361
- #### 页面相关截图
362
-
363
- ![小程序登录流程](assets/006/mp-prtsc.png)
@@ -1,188 +0,0 @@
1
- # 组件库下载和使用
2
-
3
- `@epoint-mrc/em-components` 是基于 M8 跨端框架开发的,符合新点小程序规范的跨端组件库。
4
-
5
- **M8 移动前端跨端框架已默认集成了本组件库,开发者无须再次下载。**
6
-
7
- **同时,跨端框架已配置好了`easycom`配置,vue 文件内无需引用、注册跨端 UI 组件,可直接在 template 中使用。**
8
-
9
- #### 通过函数调用的组件
10
-
11
- 组件库中部分组件可以通过函数调用。
12
-
13
- 为简化引入方式,在跨端框架中,将这些组件函数注册成为全局函数,当使用函数方式调用组件时,会在编译时自动引入对应文件。
14
-
15
- 以下是跨端框架为组件库注册的全局函数:
16
-
17
- ```js
18
- // 框架通过 ProvidePlugin 插件为页面注入对应文件
19
- new webpack.ProvidePlugin({
20
- // 键为全局函数名,值为该函数对应的文件路径
21
- Toast: [require.resolve('@epoint-mrc/em-components/src/components/em-toast/index.js'), 'default'],
22
- Dialog: [require.resolve('@epoint-mrc/em-components/src/components/em-dialog/index.js'), 'default'],
23
- EmMap: [require.resolve('@epoint-mrc/em-components/src/components/em-map/index.js'), 'default'],
24
- Notify: [require.resolve('@epoint-mrc/em-components/src/components/em-notify/index.js'), 'default'],
25
- ImagePreview: [require.resolve('@epoint-mrc/em-components/src/components/em-image-preview/index.js'), 'default'],
26
- SelectPerson: [require.resolve('@epoint-mrc/em-components/src/components/em-select-person/index.js'), 'default'],
27
- Locale: [require.resolve('@epoint-mrc/em-components/src/components/locale/index.js'), 'default'],
28
- // 方便ejs调用的专属组件
29
- EjsApi: [require.resolve('@epoint-mrc/em-components/src/components/ejs-api/index.js'), 'default'],
30
- }),
31
- ```
32
-
33
- ## 组件的公共属性
34
-
35
- 每个组件都有以下两个公共属性,方便开发者简单修改组件样式。
36
-
37
- | 参数 | 说明 | 类型 | 默认值 | ::: ifdef M83 weex 端支持 ::: endif |
38
- | :----------- | :----------------: | :----- | :----- | :----------------------------------- |
39
- | custom-class | 自定义组件额外类名 | string | - | 否 |
40
- | custom-style | 自定义组件额外样式 | string | - | 是(有可能不会生效,优先级规则不同) |
41
-
42
- **注意**
43
-
44
- 1. 直接在组件上设置`class`来修改样式,在小程序中可能不会生效,所以建议通过以上两个属性修改组件样式。
45
-
46
- 2. 以上属性旨在为开发者需要简单修改样式的场景下提供便利,例如设置组件间的间距等。
47
-
48
- 3. 若有更复杂的样式修改,或者需要修改组件内部节点的样式,以上属性无法满足,建议直接通过样式穿透修改内部节点样式。
49
-
50
- 4. 小程序有一套自己的样式隔离策略,这与`vue`的`scoped`属性不同,若开启了小程序的样式隔离,通过`::v-deep`也无法作用在子组件内部。
51
- 支付宝小程序的样式隔离是默认关闭的,所以可以在外部对子组件内部节点类名进行修改。而微信小程序一般情况下自定义组件的样式隔离是默认开启的,所以若要修改组件库中的组件的样式,可以有两种方式:
52
-
53
- (1)跨端组件库通过微信小程序的外部样式类实现 `custom-class` 功能,简单场景下,可以通过`custom-class` 修改组件最外层的样式。
54
-
55
- (2)若要修改组件内部节点样式,请添加样式隔离选项关闭微信小程序默认的样式隔离:
56
-
57
- ```js
58
- export default {
59
- options: {
60
- styleIsolation: 'shared'
61
- }
62
- };
63
- ```
64
-
65
- 然后就可以直接对子组件的类名选择器进行修改。关于微信小程序的样式隔离请看:[组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#%E7%BB%84%E4%BB%B6%E6%A0%B7%E5%BC%8F%E9%9A%94%E7%A6%BB)。
66
-
67
- 部分框架组件由于内部设置了`styleIsolation: 'shared'`,导致在微信小程序端无法正常使用 `custom-class`,这种情况下请使用 `custom-style` 或者参考以上第四点使用样式穿透直接修改组件内部样式类。
68
- 微信小程序端无法正常使用 `custom-class`的组件有:`em-field`、`em-search`、`em-date-picker`、`em-steps`。
69
-
70
- 5. 注意,使用子组件的插槽时,插槽内的自定义节点样式选择器请不要嵌套在子组件内部节点样式类选择器中,这样写的样式在微信小程序中不会生效。
71
-
72
- ```html
73
- <em-panel title="标题" desc="描述信息" status="状态">
74
- <view class="text">容器</view>
75
- </em-panel>
76
- ```
77
-
78
- ```scss
79
- ::v-deep .em-panel {
80
- .text {
81
- color: red; // 这个不会生效
82
- }
83
- }
84
-
85
- .text {
86
- color: yellow; // 这个正常生效
87
- }
88
- ```
89
-
90
- ::: ifdef M84
91
-
92
- ## M8.4 调整
93
-
94
- M8.4 框架改为使用 Vue3,跨端组件库在 M8.3 基础上要相应做出一些调整:
95
-
96
- **1. v-model 双向绑定**
97
-
98
- 所有组件双向绑定的默认 prop 由`value`改为`modelValue`,默认触发事件由`input`改为`update:modelValue`;
99
-
100
- **2. 作用域插槽注意**
101
-
102
- 测试发现当前版本的 uniapp 框架存在以下 bug:
103
-
104
- 支付宝小程序端,默认插槽如果是一个作用域插槽,且设置了后备内容,在父组件访问子组件的数据时,该默认插槽不会正常渲染。
105
-
106
- 例如以下情况,父组件中的子组件将不会显示默认插槽中自定义的内容:
107
-
108
- 子组件`child-component`:
109
-
110
- ```html
111
- <template>
112
- <view class="content">
113
- <slot :msg="msg">后备内容</slot>
114
- </view>
115
- </template>
116
-
117
- <script setup lang="ts">
118
- const msg = '你好';
119
- </script>
120
- ```
121
-
122
- 父组件:
123
-
124
- ```html
125
- <template>
126
- <view class="content">
127
- <child-component>
128
- <template #default="{ msg }">{{ msg }}</template>
129
- </child-component>
130
- </view>
131
- </template>
132
- ```
133
-
134
- 解决方案:可以换一种方式,通过判断是否存在 `$slots.default` 来设置后备内容。
135
-
136
- 即: 将以上子组件`child-component`改为下面的代码:
137
-
138
- ```html
139
- <template>
140
- <view class="content">
141
- <view v-if="!$slots.default">后备内容</view>
142
- <template v-else>
143
- <slot :msg="msg"></slot>
144
- </template>
145
- </view>
146
- </template>
147
-
148
- <script setup lang="ts">
149
- const msg = '你好';
150
- </script>
151
- ```
152
-
153
- **3. 组合式 API 注意**
154
-
155
- 为了适配组合式 API,全局组件新增默认的`ref`值`emXXXRef`。
156
-
157
- 如果项目使用组合式 API 编写代码,使用如`Toast`这样的全局组件时,在支付宝小程序端,原本的默认`ref`值`emToast`会与引入 setup 中的组件名冲突,所以新增一个`ref`值`emToastRef`来进行兼容。
158
-
159
- 同时,为了让全局方法可以拿到页面中的组件节点,需要使用 `defineExpose` 将`ref`变量暴露出来。
160
-
161
- 示例:
162
-
163
- ```html
164
- <template>
165
- <view class="content">
166
- <em-button @click="onClick">点击提示</em-button>
167
- <em-toast ref="emToastRef"></em-toast>
168
- </view>
169
- </template>
170
-
171
- <script setup lang="ts">
172
- import { ref } from 'vue';
173
-
174
- const emToastRef = ref();
175
-
176
- const onClick = () => {
177
- Toast('测试');
178
- };
179
-
180
- defineExpose({
181
- emToastRef
182
- });
183
- </script>
184
- ```
185
-
186
- M8.4 框架中,建议全局组件的`ref`值都改为`emXXXRef`,与组件名进行区分。
187
-
188
- ::: endif