m8-mcp-server 1.0.0 → 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,1538 +0,0 @@
1
- # 组件使用
2
-
3
- ## qrcode 二维码
4
-
5
- ### 介绍
6
-
7
- - 二维码组件。
8
-
9
- ### 代码演示
10
-
11
- #### 基础用法
12
-
13
- ```html
14
- <em-qrcode
15
- ref="qr1"
16
- canvas-id="qr1"
17
- :value="text"
18
- :size="size"
19
- :start="true"
20
- :auto="true"
21
- @click="remake('qr1')"
22
- @complete="complete($event, 'qr1')"
23
- ></em-qrcode>
24
- ```
25
-
26
- ::: ifdef M83
27
-
28
- ```js
29
- export default {
30
- name: "Qrcode",
31
- data() {
32
- return {
33
- text: "//app.epoint.com.cn/m8fedoc/",
34
- size: 200,
35
- };
36
- },
37
- methods: {
38
- remake(refName) {
39
- var ref = this.$refs[refName];
40
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
41
-
42
- if (Array.isArray(ref)) {
43
- ref[0].remake();
44
- } else {
45
- ref.remake();
46
- }
47
- },
48
- complete(e, refName) {
49
- if (e.success) {
50
- console.log(refName + "生成成功");
51
- } else {
52
- console.log(refName + "生成失败");
53
- }
54
- },
55
- },
56
- };
57
- ```
58
-
59
- ::: endif
60
- ::: ifdef M84
61
-
62
- ```js
63
- import { ref } from "vue";
64
-
65
- const text = ref("//app.epoint.com.cn/m8fedoc/");
66
- const size = ref(200);
67
- const qr1 = ref(null);
68
-
69
- const remake = (refName) => {
70
- const ref = qr1.value; // 这里需要在模板中使用
71
-
72
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
73
- if (Array.isArray(ref)) {
74
- ref[0].remake();
75
- } else {
76
- ref.remake();
77
- }
78
- };
79
-
80
- const complete = (e, refName) => {
81
- if (e.success) {
82
- console.log(refName + "生成成功");
83
- } else {
84
- console.log(refName + "生成失败");
85
- }
86
- };
87
- ```
88
-
89
- ::: endif
90
-
91
- #### 设置了边距、半透明蓝色背景和红色前景色的二维码
92
-
93
- ```html
94
- <em-qrcode
95
- ref="qr3"
96
- canvas-id="qr3"
97
- :value="text"
98
- :size="size"
99
- :start="true"
100
- :auto="true"
101
- :options="{
102
- margin: 10,
103
- backgroundColor: 'rgba(25, 147, 227, 0.5)',
104
- foregroundColor: 'rgb(185, 0, 0)'
105
- }"
106
- @click="remake('qr3')"
107
- @complete="complete($event, 'qr3')"
108
- ></em-qrcode>
109
- ```
110
-
111
- ::: ifdef M83
112
-
113
- ```js
114
- export default {
115
- name: "Qrcode",
116
- data() {
117
- return {
118
- text: "//app.epoint.com.cn/m8fedoc/",
119
- size: 200,
120
- };
121
- },
122
- methods: {
123
- remake(refName) {
124
- var ref = this.$refs[refName];
125
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
126
-
127
- if (Array.isArray(ref)) {
128
- ref[0].remake();
129
- } else {
130
- ref.remake();
131
- }
132
- },
133
- complete(e, refName) {
134
- if (e.success) {
135
- console.log(refName + "生成成功");
136
- } else {
137
- console.log(refName + "生成失败");
138
- }
139
- },
140
- },
141
- };
142
- ```
143
-
144
- ::: endif
145
- ::: ifdef M84
146
-
147
- ```js
148
- import { ref } from "vue";
149
-
150
- const text = ref("//app.epoint.com.cn/m8fedoc/");
151
- const size = ref(200);
152
- const qr3 = ref(null);
153
-
154
- const remake = (refName) => {
155
- const ref = qr3.value; // 这里需要在模板中使用
156
-
157
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
158
- if (Array.isArray(ref)) {
159
- ref[0].remake();
160
- } else {
161
- ref.remake();
162
- }
163
- };
164
-
165
- const complete = (e, refName) => {
166
- if (e.success) {
167
- console.log(refName + "生成成功");
168
- } else {
169
- console.log(refName + "生成失败");
170
- }
171
- };
172
- ```
173
-
174
- ::: endif
175
-
176
- #### 设置了定位角、分割图案、对齐图案、时序图案、暗块、版本信息颜色的二维码
177
-
178
- ```html
179
- <em-qrcode
180
- ref="qr4"
181
- canvas-id="qr4"
182
- :value="`---------------------------${text}---------------------------`"
183
- :size="size"
184
- :start="true"
185
- :auto="true"
186
- :options="{
187
- positionProbeBackgroundColor: 'rgba(105,126,255,0.28)',
188
- positionProbeForegroundColor: '#697eff',
189
- separatorColor: 'rgba(184,112,253,0.29)',
190
- positionAdjustBackgroundColor: 'rgba(255,122,140,0.28)',
191
- positionAdjustForegroundColor: '#ff7a8c',
192
- timingBbackgroundColor: 'rgba(252,219,135,0.21)',
193
- timingForegroundColor: '#fcdb87',
194
- darkBlockColor: '#0f47ff',
195
- typeNumberBackgroundColor: 'rgba(0,255,83,0.18)',
196
- typeNumberForegroundColor: '#00ff53'
197
- }"
198
- @click="remake('qr4')"
199
- @complete="complete($event, 'qr4')"
200
- ></em-qrcode>
201
- ```
202
-
203
- ::: ifdef M83
204
-
205
- ```js
206
- export default {
207
- name: "Qrcode",
208
- data() {
209
- return {
210
- text: "//app.epoint.com.cn/m8fedoc/",
211
- size: 200,
212
- };
213
- },
214
- methods: {
215
- remake(refName) {
216
- var ref = this.$refs[refName];
217
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
218
-
219
- if (Array.isArray(ref)) {
220
- ref[0].remake();
221
- } else {
222
- ref.remake();
223
- }
224
- },
225
- complete(e, refName) {
226
- if (e.success) {
227
- console.log(refName + "生成成功");
228
- } else {
229
- console.log(refName + "生成失败");
230
- }
231
- },
232
- },
233
- };
234
- ```
235
-
236
- ::: endif
237
- ::: ifdef M84
238
-
239
- ```js
240
- import { ref } from "vue";
241
-
242
- const text = ref("//app.epoint.com.cn/m8fedoc/");
243
- const size = ref(200);
244
- const qr4 = ref(null);
245
-
246
- const remake = (refName) => {
247
- const ref = qr4.value; // 这里需要在模板中使用
248
-
249
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
250
- if (Array.isArray(ref)) {
251
- ref[0].remake();
252
- } else {
253
- ref.remake();
254
- }
255
- };
256
-
257
- const complete = (e, refName) => {
258
- if (e.success) {
259
- console.log(refName + "生成成功");
260
- } else {
261
- console.log(refName + "生成失败");
262
- }
263
- };
264
- ```
265
-
266
- ::: endif
267
-
268
- #### 设置了纠错等级为 M 的二维码
269
-
270
- ```html
271
- <em-qrcode
272
- ref="qr5"
273
- canvas-id="qr5"
274
- :value="text"
275
- :size="size"
276
- :start="true"
277
- :auto="true"
278
- :options="{
279
- errorCorrectLevel: 'M'
280
- }"
281
- @click="remake('qr5')"
282
- @complete="complete($event, 'qr5')"
283
- ></em-qrcode>
284
- ```
285
-
286
- ::: ifdef M83
287
-
288
- ```js
289
- export default {
290
- name: "Qrcode",
291
- data() {
292
- return {
293
- text: "//app.epoint.com.cn/m8fedoc/",
294
- size: 200,
295
- };
296
- },
297
- methods: {
298
- remake(refName) {
299
- var ref = this.$refs[refName];
300
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
301
-
302
- if (Array.isArray(ref)) {
303
- ref[0].remake();
304
- } else {
305
- ref.remake();
306
- }
307
- },
308
- complete(e, refName) {
309
- if (e.success) {
310
- console.log(refName + "生成成功");
311
- } else {
312
- console.log(refName + "生成失败");
313
- }
314
- },
315
- },
316
- };
317
- ```
318
-
319
- ::: endif
320
- ::: ifdef M84
321
-
322
- ```js
323
- import { ref } from "vue";
324
-
325
- const text = ref("//app.epoint.com.cn/m8fedoc/");
326
- const size = ref(200);
327
- const qr5 = ref(null);
328
-
329
- const remake = (refName) => {
330
- const ref = qr5.value; // 这里需要在模板中使用
331
-
332
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
333
- if (Array.isArray(ref)) {
334
- ref[0].remake();
335
- } else {
336
- ref.remake();
337
- }
338
- };
339
-
340
- const complete = (e, refName) => {
341
- if (e.success) {
342
- console.log(refName + "生成成功");
343
- } else {
344
- console.log(refName + "生成失败");
345
- }
346
- };
347
- ```
348
-
349
- ::: endif
350
-
351
- #### 带 logo 的二维码,logo 处于二维码中间
352
-
353
- ```html
354
- <em-qrcode
355
- ref="qr6"
356
- canvas-id="qr6"
357
- :value="text"
358
- :size="size"
359
- :start="true"
360
- :auto="true"
361
- :options="{
362
- foregroundImageSrc: '../../../static/logo.jpg',
363
- foregroundImageWidth: size / 5,
364
- foregroundImageHeight: size / 5,
365
- queue: queue
366
- }"
367
- @click="remake('qr6')"
368
- @complete="complete($event, 'qr6')"
369
- ></em-qrcode>
370
- ```
371
-
372
- ::: ifdef M83
373
-
374
- ```js
375
- export default {
376
- name: "Qrcode",
377
- data() {
378
- return {
379
- text: "//app.epoint.com.cn/m8fedoc/",
380
- size: 200,
381
- };
382
- },
383
- methods: {
384
- remake(refName) {
385
- var ref = this.$refs[refName];
386
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
387
-
388
- if (Array.isArray(ref)) {
389
- ref[0].remake();
390
- } else {
391
- ref.remake();
392
- }
393
- },
394
- complete(e, refName) {
395
- if (e.success) {
396
- console.log(refName + "生成成功");
397
- } else {
398
- console.log(refName + "生成失败");
399
- }
400
- },
401
- },
402
- };
403
- ```
404
-
405
- ::: endif
406
- ::: ifdef M84
407
-
408
- ```js
409
- import { ref } from "vue";
410
-
411
- const text = ref("//app.epoint.com.cn/m8fedoc/");
412
- const size = ref(200);
413
- const qr6 = ref(null);
414
-
415
- const remake = (refName) => {
416
- const ref = qr6.value; // 这里需要在模板中使用
417
-
418
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
419
- if (Array.isArray(ref)) {
420
- ref[0].remake();
421
- } else {
422
- ref.remake();
423
- }
424
- };
425
-
426
- const complete = (e, refName) => {
427
- if (e.success) {
428
- console.log(refName + "生成成功");
429
- } else {
430
- console.log(refName + "生成失败");
431
- }
432
- };
433
- ```
434
-
435
- ::: endif
436
-
437
- #### 带 logo 的二维码,logo 处于二维码右下角,与边距有一定距离
438
-
439
- ```html
440
- <em-qrcode
441
- ref="qr7"
442
- canvas-id="qr7"
443
- :value="text"
444
- :size="size"
445
- :start="true"
446
- :auto="true"
447
- :options="{
448
- foregroundImageSrc: '../../../static/logo.jpg',
449
- foregroundImageWidth: size / 5,
450
- foregroundImageHeight: size / 5,
451
- foregroundImageX: size - 10 - size / 5, // 图片绘制的水平坐标,计算到靠右位置
452
- foregroundImageY: size - 10 - size / 5, // 图片绘制的垂直坐标,计算到考下位置
453
- queue: queue
454
- }"
455
- @click="remake('qr7')"
456
- @complete="complete($event, 'qr7')"
457
- ></em-qrcode>
458
- ```
459
-
460
- ::: ifdef M83
461
-
462
- ```js
463
- export default {
464
- name: "Qrcode",
465
- data() {
466
- return {
467
- text: "//app.epoint.com.cn/m8fedoc/",
468
- size: 200,
469
- };
470
- },
471
- methods: {
472
- remake(refName) {
473
- var ref = this.$refs[refName];
474
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
475
-
476
- if (Array.isArray(ref)) {
477
- ref[0].remake();
478
- } else {
479
- ref.remake();
480
- }
481
- },
482
- complete(e, refName) {
483
- if (e.success) {
484
- console.log(refName + "生成成功");
485
- } else {
486
- console.log(refName + "生成失败");
487
- }
488
- },
489
- },
490
- };
491
- ```
492
-
493
- ::: endif
494
- ::: ifdef M84
495
-
496
- ```js
497
- import { ref } from "vue";
498
-
499
- const text = ref("//app.epoint.com.cn/m8fedoc/");
500
- const size = ref(200);
501
- const qr7 = ref(null);
502
-
503
- const remake = (refName) => {
504
- const ref = qr7.value; // 这里需要在模板中使用
505
-
506
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
507
- if (Array.isArray(ref)) {
508
- ref[0].remake();
509
- } else {
510
- ref.remake();
511
- }
512
- };
513
-
514
- const complete = (e, refName) => {
515
- if (e.success) {
516
- console.log(refName + "生成成功");
517
- } else {
518
- console.log(refName + "生成失败");
519
- }
520
- };
521
- ```
522
-
523
- ::: endif
524
-
525
- #### 带背景图片的二维码,背景缩放 1.5 倍,且背景图片带有一定透明度
526
-
527
- ```html
528
- <em-qrcode
529
- ref="qr8"
530
- canvas-id="qr8"
531
- :value="text"
532
- :size="size"
533
- :start="true"
534
- :auto="true"
535
- :options="{
536
- backgroundColor: 'rgba(0,0,0,0.2)',
537
- backgroundImageSrc: '../../../static/logo.jpg',
538
- backgroundImageWidth: size * 0.75, // 图片宽
539
- backgroundImageHeight: size * 0.75, // 图片高
540
- backgroundImageX: size / 2 - (size * 0.75) / 2, // 图片绘制的水平坐标,计算到居中位置
541
- backgroundImageY: size / 2 - (size * 0.75) / 2, // 图片绘制的垂直坐标,计算到居中位置
542
- backgroundImageAlpha: 0.88, // 透明度
543
- foregroundColor: 'rgb(11, 34, 116)',
544
- queue: queue
545
- }"
546
- @click="remake('qr8')"
547
- @complete="complete($event, 'qr8')"
548
- ></em-qrcode>
549
- ```
550
-
551
- ::: ifdef M83
552
-
553
- ```js
554
- export default {
555
- name: "Qrcode",
556
- data() {
557
- return {
558
- text: "//app.epoint.com.cn/m8fedoc/",
559
- size: 200,
560
- };
561
- },
562
- methods: {
563
- remake(refName) {
564
- var ref = this.$refs[refName];
565
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
566
-
567
- if (Array.isArray(ref)) {
568
- ref[0].remake();
569
- } else {
570
- ref.remake();
571
- }
572
- },
573
- complete(e, refName) {
574
- if (e.success) {
575
- console.log(refName + "生成成功");
576
- } else {
577
- console.log(refName + "生成失败");
578
- }
579
- },
580
- },
581
- };
582
- ```
583
-
584
- ::: endif
585
- ::: ifdef M84
586
-
587
- ```js
588
- import { ref } from "vue";
589
-
590
- const text = ref("//app.epoint.com.cn/m8fedoc/");
591
- const size = ref(200);
592
- const qr8 = ref(null);
593
-
594
- const remake = (refName) => {
595
- const ref = qr8.value; // 这里需要在模板中使用
596
-
597
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
598
- if (Array.isArray(ref)) {
599
- ref[0].remake();
600
- } else {
601
- ref.remake();
602
- }
603
- };
604
-
605
- const complete = (e, refName) => {
606
- if (e.success) {
607
- console.log(refName + "生成成功");
608
- } else {
609
- console.log(refName + "生成失败");
610
- }
611
- };
612
- ```
613
-
614
- ::: endif
615
-
616
- #### 背景图片来自网络资源的二维码,且背景铺满,前景色为白色,小程序下绘制网络图片需先配置 download 域名白名单才能生效
617
-
618
- ```html
619
- <em-qrcode
620
- ref="qr9"
621
- canvas-id="qr9"
622
- :value="text"
623
- :size="size"
624
- :start="true"
625
- :auto="true"
626
- :options="{
627
- backgroundImageSrc: 'https://img01.yzcdn.cn/vant/cat.jpeg',
628
- backgroundImageWidth: size,
629
- backgroundImageHeight: size,
630
- backgroundImageAlpha: 1,
631
- foregroundColor: '#f0f0f0',
632
- margin: 10,
633
- queue: queue
634
- }"
635
- @click="remake('qr9')"
636
- @complete="complete($event, 'qr9')"
637
- ></em-qrcode>
638
- ```
639
-
640
- ::: ifdef M83
641
-
642
- ```js
643
- export default {
644
- name: "Qrcode",
645
- data() {
646
- return {
647
- text: "//app.epoint.com.cn/m8fedoc/",
648
- size: 200,
649
- };
650
- },
651
- methods: {
652
- remake(refName) {
653
- var ref = this.$refs[refName];
654
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
655
-
656
- if (Array.isArray(ref)) {
657
- ref[0].remake();
658
- } else {
659
- ref.remake();
660
- }
661
- },
662
- complete(e, refName) {
663
- if (e.success) {
664
- console.log(refName + "生成成功");
665
- } else {
666
- console.log(refName + "生成失败");
667
- }
668
- },
669
- },
670
- };
671
- ```
672
-
673
- ::: endif
674
- ::: ifdef M84
675
-
676
- ```js
677
- import { ref } from "vue";
678
-
679
- const text = ref("//app.epoint.com.cn/m8fedoc/");
680
- const size = ref(200);
681
- const qr9 = ref(null);
682
-
683
- const remake = (refName) => {
684
- const ref = qr9.value; // 这里需要在模板中使用
685
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
686
- if (Array.isArray(ref)) {
687
- ref[0].remake();
688
- } else {
689
- ref.remake();
690
- }
691
- };
692
-
693
- const complete = (e, refName) => {
694
- if (e.success) {
695
- console.log(refName + "生成成功");
696
- } else {
697
- console.log(refName + "生成失败");
698
- }
699
- };
700
- ```
701
-
702
- ::: endif
703
-
704
- #### logo 来自网络资源的二维码,且带有边距填充和阴影,小程序下绘制网络图片需先配置 download 域名白名单才能生效
705
-
706
- ```html
707
- <em-qrcode
708
- ref="qr10"
709
- canvas-id="qr10"
710
- :value="text"
711
- :size="size"
712
- :start="true"
713
- :auto="true"
714
- :options="{
715
- foregroundImageSrc: 'https://img01.yzcdn.cn/vant/cat.jpeg',
716
- foregroundImageWidth: size * 0.25,
717
- foregroundImageHeight: size * 0.25,
718
- foregroundImagePadding: 4,
719
- foregroundImageBorderRadius: 4,
720
- foregroundImageShadowBlur: 50,
721
- foregroundImageShadowColor: 'rgba(0, 0, 0, 0.68)',
722
- queue: queue
723
- }"
724
- @click="remake('qr10')"
725
- @complete="complete($event, 'qr10')"
726
- ></em-qrcode>
727
- ```
728
-
729
- ::: ifdef M83
730
-
731
- ```js
732
- export default {
733
- name: "Qrcode",
734
- data() {
735
- return {
736
- text: "//app.epoint.com.cn/m8fedoc/",
737
- size: 200,
738
- };
739
- },
740
- methods: {
741
- remake(refName) {
742
- var ref = this.$refs[refName];
743
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
744
-
745
- if (Array.isArray(ref)) {
746
- ref[0].remake();
747
- } else {
748
- ref.remake();
749
- }
750
- },
751
- complete(e, refName) {
752
- if (e.success) {
753
- console.log(refName + "生成成功");
754
- } else {
755
- console.log(refName + "生成失败");
756
- }
757
- },
758
- },
759
- };
760
- ```
761
-
762
- ::: endif
763
- ::: ifdef M84
764
-
765
- ```js
766
- import { ref } from "vue";
767
-
768
- const text = ref("//app.epoint.com.cn/m8fedoc/");
769
- const size = ref(200);
770
- const qr10 = ref(null);
771
-
772
- const remake = (refName) => {
773
- const ref = qr10.value; // 这里需要在模板中使用
774
-
775
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
776
- if (Array.isArray(ref)) {
777
- ref[0].remake();
778
- } else {
779
- ref.remake();
780
- }
781
- };
782
-
783
- const complete = (e, refName) => {
784
- if (e.success) {
785
- console.log(refName + "生成成功");
786
- } else {
787
- console.log(refName + "生成失败");
788
- }
789
- };
790
- ```
791
-
792
- ::: endif
793
-
794
- #### 批量生成的二维码
795
-
796
- ```html
797
- <view class="qrcode-box" v-for="(item, index) in 5" :key="index">
798
- <view class="qrcode">
799
- <em-qrcode
800
- ref="qr"
801
- :canvas-id="`qr_${index}`"
802
- :value="`qr_${index}`"
803
- :size="size"
804
- :start="true"
805
- :auto="false"
806
- @click="remake(index)"
807
- @complete="complete($event, `qr_${index}`)"
808
- ></em-qrcode>
809
- </view>
810
- </view>
811
- ```
812
-
813
- ::: ifdef M83
814
-
815
- ```js
816
- export default {
817
- name: "Qrcode",
818
- data() {
819
- return {
820
- text: "//app.epoint.com.cn/m8fedoc/",
821
- size: 200,
822
- };
823
- },
824
- methods: {
825
- remake(index) {
826
- var ref = this.$refs.qr;
827
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
828
-
829
- if (Array.isArray(ref)) {
830
- ref[index].remake();
831
- } else {
832
- ref.remake();
833
- }
834
- },
835
- complete(e, refName) {
836
- if (e.success) {
837
- console.log(refName + "生成成功");
838
- } else {
839
- console.log(refName + "生成失败");
840
- }
841
- },
842
- },
843
- };
844
- ```
845
-
846
- ::: endif
847
- ::: ifdef M84
848
-
849
- ```js
850
- import { ref } from "vue";
851
-
852
- const text = ref("//app.epoint.com.cn/m8fedoc/");
853
- const size = ref(200);
854
- const qr = ref(null);
855
-
856
- const remake = (index) => {
857
- const ref = qr.value; // 这里需要在模板中使用
858
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
859
-
860
- if (Array.isArray(ref)) {
861
- ref[index].remake();
862
- } else {
863
- ref.remake();
864
- }
865
- };
866
-
867
- const complete = (e, refName) => {
868
- if (e.success) {
869
- console.log(refName + "生成成功");
870
- } else {
871
- console.log(refName + "生成失败");
872
- }
873
- };
874
- ```
875
-
876
- ::: endif
877
-
878
- #### 异步生成的二维码——示例 1
879
-
880
- ```html
881
- <em-qrcode
882
- ref="qrsync1"
883
- canvas-id="qrsync1"
884
- :value="textSync"
885
- :size="size"
886
- :start="false"
887
- :auto="true"
888
- @click="remake('qrsync1')"
889
- @complete="complete($event, 'qrsync1')"
890
- ></em-qrcode>
891
- ```
892
-
893
- ::: ifdef M83
894
-
895
- ```js
896
- export default {
897
- name: "Qrcode",
898
- data() {
899
- return {
900
- textSync: "",
901
- text: "//app.epoint.com.cn/m8fedoc/",
902
- size: 200,
903
- };
904
- },
905
- onLoad() {
906
- new Promise((resolve, reject) => {
907
- setTimeout(() => {
908
- resolve({
909
- text: "uQRCode Sync",
910
- });
911
- }, 3000);
912
- }).then((res) => {
913
- this.textSync = res.text;
914
- });
915
- },
916
- methods: {
917
- remake(refName) {
918
- var ref = this.$refs[refName];
919
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
920
-
921
- if (Array.isArray(ref)) {
922
- ref[0].remake();
923
- } else {
924
- ref.remake();
925
- }
926
- },
927
- complete(e, refName) {
928
- if (e.success) {
929
- console.log(refName + "生成成功");
930
- } else {
931
- console.log(refName + "生成失败");
932
- }
933
- },
934
- },
935
- };
936
- ```
937
-
938
- ::: endif
939
- ::: ifdef M84
940
-
941
- ```js
942
- import { ref } from "vue";
943
- import { onLoad } from "@dcloudio/uni-app";
944
-
945
- const textSync = ref("");
946
- const text = ref("//app.epoint.com.cn/m8fedoc/");
947
- const size = ref(200);
948
- const qrsync1 = ref(null);
949
-
950
- onLoad(() => {
951
- new Promise((resolve, reject) => {
952
- setTimeout(() => {
953
- resolve({
954
- text: "uQRCode Sync",
955
- });
956
- }, 3000);
957
- }).then((res) => {
958
- textSync.value = res.text;
959
- });
960
- });
961
-
962
- const remake = (refName) => {
963
- const ref = qrsync1.value; // 这里需要在模板中使用
964
-
965
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
966
- if (Array.isArray(ref)) {
967
- ref[0].remake();
968
- } else {
969
- ref.remake();
970
- }
971
- };
972
-
973
- const complete = (e, refName) => {
974
- if (e.success) {
975
- console.log(refName + "生成成功");
976
- } else {
977
- console.log(refName + "生成失败");
978
- }
979
- };
980
- ```
981
-
982
- ::: endif
983
-
984
- #### 异步生成的二维码——示例 2
985
-
986
- ```html
987
- <em-qrcode
988
- ref="qrsync1"
989
- canvas-id="qrsync1"
990
- :value="textSync"
991
- :size="size"
992
- :start="false"
993
- :auto="true"
994
- @click="remake('qrsync1')"
995
- @complete="complete($event, 'qrsync1')"
996
- ></em-qrcode>
997
- ```
998
-
999
- ::: ifdef M83
1000
-
1001
- ```js
1002
- export default {
1003
- name: "Qrcode",
1004
- data() {
1005
- return {
1006
- textSync2: "",
1007
- text: "//app.epoint.com.cn/m8fedoc/",
1008
- size: 200,
1009
- };
1010
- },
1011
- onReady() {
1012
- new Promise((resolve, reject) => {
1013
- setTimeout(() => {
1014
- resolve({
1015
- text: "uQRCode Sync",
1016
- });
1017
- }, 3000);
1018
- }).then((res) => {
1019
- this.textSync2 = res.text;
1020
- this.make("qrsync2");
1021
- });
1022
- },
1023
- methods: {
1024
- make(refName) {
1025
- var ref = this.$refs[refName];
1026
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
1027
-
1028
- if (Array.isArray(ref)) {
1029
- ref[0].make();
1030
- } else {
1031
- ref.make();
1032
- }
1033
- },
1034
- remake(refName) {
1035
- var ref = this.$refs[refName];
1036
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
1037
-
1038
- if (Array.isArray(ref)) {
1039
- ref[0].remake();
1040
- } else {
1041
- ref.remake();
1042
- }
1043
- },
1044
- complete(e, refName) {
1045
- if (e.success) {
1046
- console.log(refName + "生成成功");
1047
- } else {
1048
- console.log(refName + "生成失败");
1049
- }
1050
- },
1051
- },
1052
- };
1053
- ```
1054
-
1055
- ::: endif
1056
- ::: ifdef M84
1057
-
1058
- ```js
1059
- import { ref } from "vue";
1060
- import { onReady } from "@dcloudio/uni-app";
1061
-
1062
- const textSync2 = ref("");
1063
- const text = ref("//app.epoint.com.cn/m8fedoc/");
1064
- const size = ref(200);
1065
- const qrsync1 = ref(null);
1066
-
1067
- onReady(() => {
1068
- new Promise((resolve, reject) => {
1069
- setTimeout(() => {
1070
- resolve({
1071
- text: "uQRCode Sync",
1072
- });
1073
- }, 3000);
1074
- }).then((res) => {
1075
- textSync2.value = res.text;
1076
- make("qrsync2");
1077
- });
1078
- });
1079
-
1080
- const make = (refName) => {
1081
- const ref = qrsync1.value; // 这里需要在模板中使用
1082
-
1083
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
1084
- if (Array.isArray(ref)) {
1085
- ref[0].make();
1086
- } else {
1087
- ref.make();
1088
- }
1089
- };
1090
-
1091
- const remake = (refName) => {
1092
- const ref = qrsync1.value; // 这里需要在模板中使用
1093
-
1094
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
1095
- if (Array.isArray(ref)) {
1096
- ref[0].remake();
1097
- } else {
1098
- ref.remake();
1099
- }
1100
- };
1101
-
1102
- const complete = (e, refName) => {
1103
- if (e.success) {
1104
- console.log(refName + "生成成功");
1105
- } else {
1106
- console.log(refName + "生成失败");
1107
- }
1108
- };
1109
- ```
1110
-
1111
- ::: endif
1112
-
1113
- #### 弹层——示例 1
1114
-
1115
- ```html
1116
- <em-popup ref="popup1" v-model="showPopup1">
1117
- <view class="qrcode-box" style="margin-top: 30px">
1118
- <view class="qrcode">
1119
- <em-qrcode
1120
- ref="qrpopup1"
1121
- canvas-id="qrpopup1"
1122
- :value="text"
1123
- :size="size"
1124
- :start="false"
1125
- @click="remake('qrpopup1')"
1126
- @complete="complete($event, 'qrpopup1')"
1127
- ></em-qrcode>
1128
- </view>
1129
- <span class="msg">
1130
- 弹层测试,第一种写法,默认二维码组件加载完毕暂不生成,通过弹层组件的change事件去调用二维码组件的make方法去触发生成
1131
- </span>
1132
- <view class="btns">
1133
- <em-button class="btn" type="primary" @click="showPopup1 = false"
1134
- >关闭</em-button
1135
- >
1136
- </view>
1137
- </view>
1138
- </em-popup>
1139
- <em-button class="btn" type="primary" @click="onClickPopup1()"
1140
- >弹层测试一</em-button
1141
- >
1142
- ```
1143
-
1144
- ::: ifdef M83
1145
-
1146
- ```js
1147
- export default {
1148
- name: "Qrcode",
1149
- data() {
1150
- return {
1151
- showPopup1: false,
1152
- text: "//app.epoint.com.cn/m8fedoc/",
1153
- size: 200,
1154
- };
1155
- },
1156
- methods: {
1157
- remake(refName) {
1158
- var ref = this.$refs[refName];
1159
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
1160
-
1161
- if (Array.isArray(ref)) {
1162
- ref[0].remake();
1163
- } else {
1164
- ref.remake();
1165
- }
1166
- },
1167
- complete(e, refName) {
1168
- if (e.success) {
1169
- console.log(refName + "生成成功");
1170
- } else {
1171
- console.log(refName + "生成失败");
1172
- }
1173
- },
1174
- onClickPopup1() {
1175
- this.showPopup1 = true;
1176
- setTimeout(() => {
1177
- this.$refs.qrpopup1.make();
1178
- }, 150);
1179
- },
1180
- },
1181
- };
1182
- ```
1183
-
1184
- ::: endif
1185
- ::: ifdef M84
1186
-
1187
- ```js
1188
- import { ref } from "vue";
1189
-
1190
- const showPopup1 = ref(false);
1191
- const text = ref("//app.epoint.com.cn/m8fedoc/");
1192
- const size = ref(200);
1193
- const popup1 = ref(null);
1194
- const qrpupup1 = ref(null);
1195
-
1196
- const remake = (refName) => {
1197
- const ref = qrpupup1.value; // 这里需要在模板中使用
1198
-
1199
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
1200
- if (Array.isArray(ref)) {
1201
- ref[0].remake();
1202
- } else {
1203
- ref.remake();
1204
- }
1205
- };
1206
-
1207
- const complete = (e, refName) => {
1208
- if (e.success) {
1209
- console.log(refName + "生成成功");
1210
- } else {
1211
- console.log(refName + "生成失败");
1212
- }
1213
- };
1214
-
1215
- const onClickPopup1 = () => {
1216
- showPopup1.value = true;
1217
- setTimeout(() => {
1218
- qrpupup1.value.make();
1219
- }, 150);
1220
- };
1221
- ```
1222
-
1223
- ::: endif
1224
-
1225
- #### 弹层——示例 2
1226
-
1227
- ```html
1228
- <em-popup ref="popup2" v-model="showPopup2">
1229
- <view class="qrcode-box" style="margin-top: 30px">
1230
- <view class="qrcode">
1231
- <em-qrcode
1232
- ref="qrpopup2"
1233
- canvas-id="qrpopup2"
1234
- :value="text"
1235
- :size="size"
1236
- :start="true"
1237
- @click="remake('qrpopup2')"
1238
- @complete="complete($event, 'qrpopup2')"
1239
- ></em-qrcode>
1240
- </view>
1241
- <span class="msg">
1242
- 弹层测试,第二种写法,默认二维码组件加载完毕立马生成,在某些设备弹层时canvas组件未在第一时间渲染完毕,可能会生成失败。优化方式,在弹层组件的change事件里延时150毫秒左右调用二维码组件的remake方法即可
1243
- </span>
1244
- <view class="btns">
1245
- <em-button class="btn" type="primary" @click="showPopup2 = false"
1246
- >关闭</em-button
1247
- >
1248
- </view>
1249
- </view>
1250
- </em-popup>
1251
- <em-button class="btn" type="primary" @click="onClickPopup2()"
1252
- >弹层测试二</em-button
1253
- >
1254
- ```
1255
-
1256
- ::: ifdef M83
1257
-
1258
- ```js
1259
- export default {
1260
- name: "Qrcode",
1261
- data() {
1262
- return {
1263
- textSync: "",
1264
- text: "//app.epoint.com.cn/m8fedoc/",
1265
- size: 200,
1266
- };
1267
- },
1268
- methods: {
1269
- remake(refName) {
1270
- var ref = this.$refs[refName];
1271
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
1272
-
1273
- if (Array.isArray(ref)) {
1274
- ref[0].remake();
1275
- } else {
1276
- ref.remake();
1277
- }
1278
- },
1279
- complete(e, refName) {
1280
- if (e.success) {
1281
- console.log(refName + "生成成功");
1282
- } else {
1283
- console.log(refName + "生成失败");
1284
- }
1285
- },
1286
- onClickPopup2() {
1287
- this.showPopup2 = true;
1288
- setTimeout(() => {
1289
- this.$refs.qrpopup2.make();
1290
- }, 150);
1291
- },
1292
- },
1293
- };
1294
- ```
1295
-
1296
- ::: endif
1297
- ::: ifdef M84
1298
-
1299
- ```js
1300
- import { ref } from "vue";
1301
-
1302
- const showPopup2 = ref(false);
1303
- const text = ref("//app.epoint.com.cn/m8fedoc/");
1304
- const size = ref(200);
1305
- const popup2 = ref(null);
1306
- const qrpupup2 = ref(null);
1307
-
1308
- const remake = (refName) => {
1309
- const ref = qrpupup2.value; // 这里需要在模板中使用
1310
-
1311
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
1312
- if (Array.isArray(ref)) {
1313
- ref[0].remake();
1314
- } else {
1315
- ref.remake();
1316
- }
1317
- };
1318
-
1319
- const complete = (e, refName) => {
1320
- if (e.success) {
1321
- console.log(refName + "生成成功");
1322
- } else {
1323
- console.log(refName + "生成失败");
1324
- }
1325
- };
1326
-
1327
- const onClickPopup2 = () => {
1328
- showPopup2.value = true;
1329
- setTimeout(() => {
1330
- qrpupup2.value.make();
1331
- }, 150);
1332
- };
1333
- ```
1334
-
1335
- ::: endif
1336
-
1337
- #### 这是在 EJS 容器内部可使用 EJS API 截图的二维码
1338
-
1339
- ```html
1340
- <em-button class="emButton" @click="onClickScreenShot">点击截屏</em-button>
1341
- <em-qrcode
1342
- ref="qr11"
1343
- :size="200"
1344
- :value="'https://example.com'"
1345
- :options="{
1346
- foregroundImageSrc: '/static/logo.jpg',
1347
- foregroundImageWidth: size / 5,
1348
- foregroundImageHeight: size / 5,
1349
- foregroundImageX: size - 10 - size / 5,
1350
- foregroundImageY: size - 10 - size / 5
1351
- }"
1352
- @click="remake('qr11')"
1353
- @complete="complete($event, 'qr11')"
1354
- ></em-qrcode>
1355
- ```
1356
-
1357
- ::: ifdef M83
1358
-
1359
- ```js
1360
- export default {
1361
- name: "Qrcode",
1362
- data() {
1363
- return {
1364
- text: "//app.epoint.com.cn/m8fedoc/",
1365
- size: 200,
1366
- };
1367
- },
1368
- methods: {
1369
- remake(refName) {
1370
- var ref = this.$refs[refName];
1371
- /* ref通过v-for遍历后会自动包裹在数组里,所以要判断一下 */
1372
-
1373
- if (Array.isArray(ref)) {
1374
- ref[0].remake();
1375
- } else {
1376
- ref.remake();
1377
- }
1378
- },
1379
- complete(e, refName) {
1380
- if (e.success) {
1381
- console.log(refName + "生成成功");
1382
- } else {
1383
- console.log(refName + "生成失败");
1384
- }
1385
- },
1386
- },
1387
- onClickScreenShot() {
1388
- ejs.io.screenShot({
1389
- captureType: 1,
1390
- success: function (result) {
1391
- ejs.ui.toast("success");
1392
- },
1393
- error: function (error) {},
1394
- });
1395
- },
1396
- };
1397
- ```
1398
-
1399
- ::: endif
1400
- ::: ifdef M84
1401
-
1402
- ```js
1403
- import { ref } from "vue";
1404
-
1405
- const text = ref("//app.epoint.com.cn/m8fedoc/");
1406
- const size = ref(200);
1407
- const qr11 = ref(null);
1408
-
1409
- const remake = (refName) => {
1410
- const ref = qr11.value; // 这里需要在模板中使用
1411
-
1412
- // ref通过v-for遍历后会自动包裹在数组里,所以要判断一下
1413
- if (Array.isArray(ref)) {
1414
- ref[0].remake();
1415
- } else {
1416
- ref.remake();
1417
- }
1418
- };
1419
-
1420
- const complete = (e, refName) => {
1421
- if (e.success) {
1422
- console.log(refName + "生成成功");
1423
- } else {
1424
- console.log(refName + "生成失败");
1425
- }
1426
- };
1427
-
1428
- const onClickScreenShot = (e, refName) => {
1429
- ejs.io.screenShot({
1430
- captureType: 1,
1431
- success: function (result) {
1432
- ejs.ui.toast("success");
1433
- },
1434
- error: function (error) {},
1435
- });
1436
- };
1437
- ```
1438
-
1439
- ::: endif
1440
-
1441
- ### API
1442
-
1443
- #### Props
1444
-
1445
- | 参数 | 说明 | 类型 | 默认值 |
1446
- | :-------- | :------------------------------: | :-------------- | :------- |
1447
- | size | 生成二维码的尺寸 | number / string | `200` |
1448
- | canvas-id | canvas 组件 id | string | - |
1449
- | value | 二维码内容 | number / string | - `必填` |
1450
- | fileType | 导出的文件类型,支持 `jpg` `png` | string | `png` |
1451
- | start | 是否初始化组件后就开始生成 | boolean | `true` |
1452
- | auto | 是否数据发生改变自动重绘 | boolean | `false` |
1453
- | hide | 是否隐藏该组件 | boolean | `false` |
1454
- | options | 二维码配置项,见下 | object | - |
1455
-
1456
- ### options 配置项
1457
-
1458
- | 参数 | 说明 | 类型 |
1459
- | :---------------------------- | :-----------------------------------------------------------------------------------------------------: | :------ |
1460
- | backgroundColor | 二维码背景色 | string |
1461
- | foregroundColor | 二维码颗粒色 | string |
1462
- | margin | 较上下左右的边距 | number |
1463
- | positionProbeBackgroundColor | 定位角背景色 | string |
1464
- | positionProbeForegroundColor | 定位角颗粒色 | string |
1465
- | separatorColor | 定位角内里分割色 | string |
1466
- | positionAdjustBackgroundColor | 对齐图案背景色 | string |
1467
- | positionAdjustForegroundColor | 对齐图案颗粒色 | string |
1468
- | timingBbackgroundColor | 时序图案背景色 | string |
1469
- | timingForegroundColor | 时序图案角颗粒色 | string |
1470
- | darkBlockColor | 暗块背景色 | string |
1471
- | typeNumberBackgroundColor | 版本信息背景色 | string |
1472
- | typeNumberForegroundColor | 版本信息颗粒色 | string |
1473
- | errorCorrectLevel | 纠错等级(容错率),即值越高被遮挡的地方有点多也能被识别;默认`H`,可选择值为 `L:7%` `M:15%` `Q:25%` `H:30%` | string |
1474
- | foregroundImageSrc | 二维码 logo 的 img 地址 | string |
1475
- | foregroundImageWidth | 二维码 logo 的宽 | number |
1476
- | foregroundImageHeight | 二维码 logo 的高 | number |
1477
- | foregroundImageX | 图片绘制的水平坐标,计算到靠右位置 | number |
1478
- | foregroundImageY | 图片绘制的垂直坐标,计算到靠下位置 | number |
1479
- | queue | 所有需要加载图片的项都需要将 queue 设置为 true | boolean |
1480
- | backgroundImageSrc | 二维码背景图片地址 | string |
1481
- | backgroundImageWidth | 二维码背景图片宽 | number |
1482
- | backgroundImageHeight | 二维码背景图片高 | number |
1483
- | backgroundImageX | 图片绘制的水平坐标,计算到居中位置 | number |
1484
- | backgroundImageY | 图片绘制的垂直坐标,计算到居中位置 | number |
1485
- | backgroundImageAlpha | 二维码背景图片的透明度 | number |
1486
- | foregroundImagePadding | 二维码 logo 边距填充 | number |
1487
- | foregroundImageBorderRadius | 二维码 logo 四周的圆角 | number |
1488
- | foregroundImageShadowBlur | 二维码 logo 的阴影发散的值 | number |
1489
- | foregroundImageShadowColor | 二维码 logo 的阴影颜色 | string |
1490
-
1491
- #### qrcode 方法
1492
-
1493
- 通过 `ref` 可以获取到 `qrcode` 实例并调用实例方法,详见组件实例方法
1494
-
1495
- | 方法名 | 说明 | 参数 | 返回值 |
1496
- | :----- | :------------: | :--- | :----- |
1497
- | make | 生成二维码 | - | - |
1498
- | remake | 重新生成二维码 | - | - |
1499
-
1500
- #### Events
1501
-
1502
- | 事件名 | 说明 | 回调参数 |
1503
- | :-------- | :------------: | :------- |
1504
- | complete | 二维码加载成功 | - |
1505
- | click | 点击二维码 | - |
1506
- | longpress | 长按二维码 | - |
1507
-
1508
- ::: ifdef M83
1509
-
1510
- <iframe
1511
- src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-qrcode"
1512
- frameborder=0
1513
- allowfullscreen class="ui-showcase-iframe">
1514
- </iframe>
1515
- ::: endif
1516
- ::: ifdef M84
1517
- <iframe
1518
- src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-qrcode"
1519
- frameborder=0
1520
- allowfullscreen class="ui-showcase-iframe">
1521
- </iframe>
1522
- ::: endif
1523
-
1524
- <style>
1525
- .ui-showcase-iframe {
1526
- position: fixed;
1527
- right: 3.5vw;
1528
- top: 17%;
1529
- width: 375px;
1530
- height: 75vh;
1531
- box-shadow: 0 0 12px 6px #eee;
1532
- border-radius: 15px;
1533
- }
1534
- .main .markdown-body {
1535
- padding: 45px;
1536
- width: calc(97vw - 661px);
1537
- }
1538
- </style>