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,381 +0,0 @@
1
- # 组件使用
2
-
3
- ## Chart 图表
4
-
5
- ### 介绍
6
-
7
- - 参考[`echarts-for-weixin`](https://github.com/ecomfe/echarts-for-weixin),基于[`Echarts`图表库](https://echarts.apache.org/handbook/zh/concepts/chart-size)封装的跨端组件。该组件自`v8.3.9`版本开始支持。
8
-
9
- ### 代码演示
10
-
11
- ```html
12
- <div class="content">
13
- <em-chart ref="emChart" width="100vw" height="400px" @loaded="loaded"></em-chart>
14
- <em-button type="primary" @click="getImage">获取图片</em-button>
15
- <em-button type="info" @click="refresh">刷新图表</em-button>
16
- <em-button type="info" @click="addEvent">绑定图表点击事件</em-button>
17
- <em-image v-if="imageUrl" width="100vw" height="400px" :src="imageUrl" />
18
- </div>
19
- ```
20
-
21
- ::: ifdef M83
22
-
23
- ```js
24
- import * as echarts from '@components/../sub_components/em-chart/ec-chart/echarts.js';
25
- export default {
26
- data() {
27
- return {
28
- imageUrl: ''
29
- };
30
- },
31
- methods: {
32
- async loaded() {
33
- this.myChartNode = this.$refs.emChart;
34
- this.myChartNode.initChart(this.getOption());
35
- // 获取echarts图表的实例,可使用echarts实例上的方法
36
- // 由于图表初始化完成后才可以获取echarts实例,所以该方法是异步的
37
- this.myChart = await this.$refs.emChart.getInstance();
38
- },
39
- getImage() {
40
- const self = this;
41
-
42
- // 小程序平台都是由canvas渲染,生成图片时会将tooltip一起截图
43
- // 为了与H5端保持一致,建议在获取图片时隐藏多余的组件
44
- this.myChart.dispatchAction({
45
- type: 'hideTip'
46
- });
47
-
48
- setTimeout(() => {
49
- this.myChartNode.getImage({
50
- success(res) {
51
- // 在H5平台下,tempFilePath 为 base64
52
- // 支付宝小程序的IDE不支持 canvasToTempFilePath,请在真机上进行预览
53
- self.imageUrl = res.tempFilePath;
54
- },
55
- fail(error) {
56
- console.log(error);
57
- }
58
- });
59
- }, 300);
60
- },
61
- refresh() {
62
- let option = this.getOption();
63
-
64
- option.title.text = '蒸发量和降水量比较';
65
- this.myChartNode.setOption(option);
66
- },
67
- addEvent() {
68
- this.myChart.on('click', 'series', function () {
69
- // 默认使用同层渲染
70
- // 微信小程序的IDE上预览图表时,若遮挡了其他元素,请在真机上预览,以真机预览效果为准
71
- ejs.ui.toast('series 被点击了');
72
- });
73
- },
74
- getOption() {
75
- return {
76
- title: {
77
- text: '某地区蒸发量和降水量',
78
- subtext: '纯属虚构'
79
- },
80
- tooltip: {
81
- trigger: 'axis'
82
- },
83
- legend: {
84
- data: ['蒸发量', '降水量'],
85
- y: 'bottom'
86
- },
87
- toolbox: {
88
- show: true,
89
- feature: {
90
- magicType: { show: true, type: ['line', 'bar'] },
91
- restore: { show: true }
92
- }
93
- },
94
- calculable: true,
95
- xAxis: [
96
- {
97
- type: 'category',
98
- data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
99
- }
100
- ],
101
- yAxis: [
102
- {
103
- type: 'value'
104
- }
105
- ],
106
- series: [
107
- {
108
- name: '蒸发量',
109
- type: 'bar',
110
- data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
111
- markPoint: {
112
- data: [
113
- { type: 'max', name: '最大值' },
114
- { type: 'min', name: '最小值' }
115
- ]
116
- },
117
- markLine: {
118
- data: [{ type: 'average', name: '平均值' }]
119
- },
120
- itemStyle: {
121
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
122
- {
123
- offset: 0,
124
- color: '#005BEA'
125
- },
126
- {
127
- offset: 1,
128
- color: '#00C6FB'
129
- }
130
- ])
131
- }
132
- },
133
- {
134
- name: '降水量',
135
- type: 'bar',
136
- data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
137
- markPoint: {
138
- data: [
139
- { name: '年最高', value: 182.2, xAxis: 7, yAxis: 183 },
140
- { name: '年最低', value: 2.3, xAxis: 11, yAxis: 3 }
141
- ]
142
- },
143
- markLine: {
144
- data: [{ type: 'average', name: '平均值' }]
145
- }
146
- }
147
- ]
148
- };
149
- }
150
- }
151
- };
152
- ```
153
-
154
- ::: endif
155
- ::: ifdef M84
156
-
157
- ```js
158
- import { ref } from 'vue';
159
- import * as echarts from '@components/../sub_components/em-chart/ec-chart/echarts.js';
160
-
161
- const emChart = ref(null);
162
- const imageUrl = ref('');
163
- const myChartNode = ref(null);
164
- const myChart = ref(null);
165
-
166
- const loaded = async () => {
167
- myChartNode.value = emChart.value;
168
- myChartNode.value.initChart(getOption());
169
- // 获取echarts图表的实例,可使用echarts实例上的方法
170
- myChart.value = await myChartNode.value.getInstance();
171
- };
172
-
173
- const getImage = () => {
174
- // 小程序平台都是由canvas渲染,生成图片时会将tooltip一起截图
175
- myChart.value.dispatchAction({
176
- type: 'hideTip'
177
- });
178
-
179
- setTimeout(() => {
180
- myChartNode.value.getImage({
181
- success(res) {
182
- // 在H5平台下,tempFilePath 为 base64
183
- // 支付宝小程序的IDE不支持 canvasToTempFilePath,请在真机上进行预览
184
- imageUrl.value = res.tempFilePath;
185
- },
186
- fail(error) {
187
- console.log(error);
188
- }
189
- });
190
- }, 300);
191
- };
192
-
193
- const refresh = () => {
194
- let option = getOption();
195
- option.title.text = '蒸发量和降水量比较';
196
- myChartNode.value.setOption(option);
197
- };
198
-
199
- const addEvent = () => {
200
- myChart.value.on('click', 'series', function () {
201
- // 默认使用同层渲染
202
- ejs.ui.toast('series 被点击了');
203
- });
204
- };
205
-
206
- const getOption = () => {
207
- return {
208
- title: {
209
- text: '某地区蒸发量和降水量',
210
- subtext: '纯属虚构'
211
- },
212
- tooltip: {
213
- trigger: 'axis'
214
- },
215
- legend: {
216
- data: ['蒸发量', '降水量'],
217
- y: 'bottom'
218
- },
219
- toolbox: {
220
- show: true,
221
- feature: {
222
- magicType: { show: true, type: ['line', 'bar'] },
223
- restore: { show: true }
224
- }
225
- },
226
- calculable: true,
227
- xAxis: [
228
- {
229
- type: 'category',
230
- data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
231
- }
232
- ],
233
- yAxis: [
234
- {
235
- type: 'value'
236
- }
237
- ],
238
- series: [
239
- {
240
- name: '蒸发量',
241
- type: 'bar',
242
- data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
243
- markPoint: {
244
- data: [
245
- { type: 'max', name: '最大值' },
246
- { type: 'min', name: '最小值' }
247
- ]
248
- },
249
- markLine: {
250
- data: [{ type: 'average', name: '平均值' }]
251
- },
252
- itemStyle: {
253
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
254
- {
255
- offset: 0,
256
- color: '#005BEA'
257
- },
258
- {
259
- offset: 1,
260
- color: '#00C6FB'
261
- }
262
- ])
263
- }
264
- },
265
- {
266
- name: '降水量',
267
- type: 'bar',
268
- data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
269
- markPoint: {
270
- data: [
271
- { name: '年最高', value: 182.2, xAxis: 7, yAxis: 183 },
272
- { name: '年最低', value: 2.3, xAxis: 11, yAxis: 3 }
273
- ]
274
- },
275
- markLine: {
276
- data: [{ type: 'average', name: '平均值' }]
277
- }
278
- }
279
- ]
280
- };
281
- };
282
- ```
283
-
284
- ::: endif
285
-
286
- ### API
287
-
288
- #### Props
289
-
290
- | 参数 | 说明 | 类型 | 默认值 |
291
- | :------------ | :-------------------------------------------------------------------------------------------------------------------: | :------------ | :------ |
292
- | disable-touch | 禁用`touch`事件 | boolean | `false` |
293
- | width | 组件宽度,默认单位`px` | string/number | `300px` |
294
- | height | 组件高度,默认单位`px` | string/number | `200px` |
295
- | lazyLoad | 是否手动初始化图表 | boolean | `true` |
296
- | option | 自动初始化图表时,传入的图表配置项,见官方文档 [`ECharts`配置项手册](https://echarts.apache.org/zh/option.html#title) | object | `-` |
297
-
298
- #### 方法
299
-
300
- | 方法名 | 说明 | 参数 | 返回值 |
301
- | :----------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------- | :-------- |
302
- | initChart | 初始化图表 | option:图表配置项 | - |
303
- | setOption | 刷新图表 | option:图表配置项 | - |
304
- | getImage | 生成图片,H5 端通过`ECharts`实例方法`getDataURL`获取,平台小程序端通过各平台`canvasToTempFilePath`方法获取 | option:各平台对应方法的参数配置,获取结果通过`option.success`回调 | - |
305
- | getInstance | 获取`ECharts`实例,由于初始化完成后才能获取到实例,所以该方法是个异步方法 | - | `Promise` |
306
- | getEcharts ::: ifdef M83 `8.3.23-beta.3` ::: endif ::: ifdef M84 `8.4.0-beta.12` ::: endif | 获取`echarts`变量,可在异步分包时通过该方法获取 `echarts`,避免框架重复在分包中打包 `echarts`库 | - | `echarts` |
307
-
308
- #### Events
309
-
310
- | 事件名 | 说明 | 回调参数 |
311
- | :--------------- | :-----------------------------------------------------------: | :------- |
312
- | loaded `v8.3.12` | 图表组件`mounted`生命周期触发,用于异步化分包时进行初始化操作 | - |
313
-
314
- ### 注意事项
315
-
316
- #### 未支持的功能
317
-
318
- `Echarts`是 H5 端流行的图表库,但是在跨平台兼容方面有些问题,据`echarts-for-weixin`官方文档介绍,有些功能在小程序端还未支持:
319
-
320
- 1. 图片
321
-
322
- 2. 多个 `zlevel` 分层
323
-
324
- 3. `toolbox` 中的 `dataView`、`saveAsImage`
325
-
326
- #### 兼容性问题
327
-
328
- 在跨端框架中使用 `ECharts` 时,也会有一些兼容性问题,框架会根据项目反馈持续总结在该文档中供参考。
329
-
330
- 1. H5 环境下`tooltip`无法正常触发
331
-
332
- 原因:`ECharts`判断运行环境时,会通过是否存在全局变量`wx`来判断当前是否是微信环境,而`uniapp`在 H5 端为了兼容如微信公众号、企业微信等环境,会默认覆盖设置全局变量`wx`,导致 `ECharts` 对运行环境误判,出现该问题。
333
-
334
- 解决方式:H5 端在页面引入`ECharts`之前,将该全局变量`wx`置空。`em-chart`组件在 H5 端已默认添加置空语句。
335
-
336
- ```js
337
- // #ifdef H5
338
- window.wx = undefined;
339
- // #endif
340
- ```
341
-
342
- #### 其他图表库
343
-
344
- `ECharts`虽然图表类型丰富、功能强大,但其跨平台方面有些不足,在小程序端也会有些性能问题。
345
-
346
- 在跨端框架中展示图表,若需要的图表类型不用太丰富,非常推荐使用`uChart`库:[`uChart`文档](https://www.ucharts.cn/v2/#/)
347
-
348
- - 优点:唯一一款跨全端的图表库,`uniapp`官方推荐使用,与跨端框架适配。
349
-
350
- - 缺点:图表类型相比 `ECharts` 少,自定义样式功能相比 `ECharts` 少
351
-
352
- ::: ifdef M83
353
- <iframe
354
- src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-chart"
355
- frameborder=0
356
- allowfullscreen class="ui-showcase-iframe">
357
- </iframe>
358
- ::: endif
359
- ::: ifdef M84
360
- <iframe
361
- src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-chart"
362
- frameborder=0
363
- allowfullscreen class="ui-showcase-iframe">
364
- </iframe>
365
- ::: endif
366
-
367
- <style>
368
- .ui-showcase-iframe {
369
- position: fixed;
370
- right: 3.5vw;
371
- top: 17%;
372
- width: 375px;
373
- height: 75vh;
374
- box-shadow: 0 0 12px 6px #eee;
375
- border-radius: 15px;
376
- }
377
- .main .markdown-body {
378
- padding: 45px;
379
- width: calc(97vw - 661px);
380
- }
381
- </style>