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.
- package/README.md +153 -30
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +14 -0
- package/dist/cli.js.map +1 -0
- package/dist/docs/apis.d.ts +38 -0
- package/dist/docs/apis.d.ts.map +1 -0
- package/dist/docs/apis.js +326 -0
- package/dist/docs/apis.js.map +1 -0
- package/dist/docs/components.d.ts +45 -0
- package/dist/docs/components.d.ts.map +1 -0
- package/dist/docs/components.js +186 -0
- package/dist/docs/components.js.map +1 -0
- package/dist/docs/index.d.ts +94 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +182 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/docs/loader.d.ts +51 -0
- package/dist/docs/loader.d.ts.map +1 -0
- package/dist/docs/loader.js +165 -0
- package/dist/docs/loader.js.map +1 -0
- package/dist/docs/search.d.ts +28 -0
- package/dist/docs/search.d.ts.map +1 -0
- package/dist/docs/search.js +196 -0
- package/dist/docs/search.js.map +1 -0
- package/dist/docs/standards.d.ts +41 -0
- package/dist/docs/standards.d.ts.map +1 -0
- package/dist/docs/standards.js +134 -0
- package/dist/docs/standards.js.map +1 -0
- package/dist/docs/utils.d.ts +46 -0
- package/dist/docs/utils.d.ts.map +1 -0
- package/dist/docs/utils.js +129 -0
- package/dist/docs/utils.js.map +1 -0
- package/dist/generator/header.d.ts +32 -0
- package/dist/generator/header.d.ts.map +1 -0
- package/dist/generator/header.js +83 -0
- package/dist/generator/header.js.map +1 -0
- package/dist/generator/index.d.ts +50 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +387 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/vue-template.d.ts +54 -0
- package/dist/generator/vue-template.d.ts.map +1 -0
- package/dist/generator/vue-template.js +191 -0
- package/dist/generator/vue-template.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -1
- package/dist/index.js.map +1 -0
- package/dist/recommend/index.d.ts +27 -0
- package/dist/recommend/index.d.ts.map +1 -0
- package/dist/recommend/index.js +412 -0
- package/dist/recommend/index.js.map +1 -0
- package/dist/tools/generate-code.d.ts +18 -0
- package/dist/tools/generate-code.d.ts.map +1 -0
- package/dist/tools/generate-code.js +155 -0
- package/dist/tools/generate-code.js.map +1 -0
- package/dist/tools/get-api-info.d.ts +18 -0
- package/dist/tools/get-api-info.d.ts.map +1 -0
- package/dist/tools/get-api-info.js +65 -0
- package/dist/tools/get-api-info.js.map +1 -0
- package/dist/tools/get-coding-standard.d.ts +18 -0
- package/dist/tools/get-coding-standard.d.ts.map +1 -0
- package/dist/tools/get-coding-standard.js +66 -0
- package/dist/tools/get-coding-standard.js.map +1 -0
- package/dist/tools/get-component-info.d.ts +18 -0
- package/dist/tools/get-component-info.d.ts.map +1 -0
- package/dist/tools/get-component-info.js +60 -0
- package/dist/tools/get-component-info.js.map +1 -0
- package/dist/tools/get-util-info.d.ts +18 -0
- package/dist/tools/get-util-info.d.ts.map +1 -0
- package/dist/tools/get-util-info.js +65 -0
- package/dist/tools/get-util-info.js.map +1 -0
- package/dist/tools/index.d.ts +56 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +101 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/recommend-solution.d.ts +18 -0
- package/dist/tools/recommend-solution.d.ts.map +1 -0
- package/dist/tools/recommend-solution.js +67 -0
- package/dist/tools/recommend-solution.js.map +1 -0
- package/dist/tools/search-docs.d.ts +18 -0
- package/dist/tools/search-docs.d.ts.map +1 -0
- package/dist/tools/search-docs.js +71 -0
- package/dist/tools/search-docs.js.map +1 -0
- package/dist/types/index.d.ts +285 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +27 -26
- package/resources/cases/.gitkeep +0 -0
- package/resources/cases/form-submit-vue2.json +15 -0
- package/resources/cases/index.json +8 -0
- package/resources/cases/list-detail-vue2.json +27 -0
- package/resources/components/.gitkeep +0 -0
- package/resources/components/button.json +74 -0
- package/resources/components/cell.json +69 -0
- package/resources/components/field.json +88 -0
- package/resources/components/index.json +72 -0
- package/resources/standards/.gitkeep +0 -0
- package/resources/standards/css.json +108 -0
- package/resources/standards/javascript.json +129 -0
- package/resources/standards/project-structure.json +101 -0
- package/resources/standards/vue.json +122 -0
- package/resources/utils/.gitkeep +0 -0
- package/resources/utils/ajax.json +76 -0
- package/resources/utils/common.json +129 -0
- package/resources/utils/index.json +7 -0
- package/resources/utils/string.json +112 -0
- package/bin/m8-mcp.js +0 -2
- package/dist/constants.js +0 -1
- package/dist/data/ejs-doc/api_audio/api_audio.md +0 -225
- package/dist/data/ejs-doc/api_auth/api_auth.md +0 -256
- package/dist/data/ejs-doc/api_contact/api_contact.md +0 -295
- package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
- package/dist/data/ejs-doc/api_device/api_device.md +0 -761
- package/dist/data/ejs-doc/api_event/api_event.md +0 -244
- package/dist/data/ejs-doc/api_global/api_global.md +0 -440
- package/dist/data/ejs-doc/api_io/api_io.md +0 -369
- package/dist/data/ejs-doc/api_navigator/api_navigator.md +0 -654
- package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
- package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
- package/dist/data/ejs-doc/api_page/api_page.md +0 -261
- package/dist/data/ejs-doc/api_runtime/api_runtime.md +0 -788
- package/dist/data/ejs-doc/api_storage/api_storage.md +0 -320
- package/dist/data/ejs-doc/api_stream/api_stream.md +0 -152
- package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
- package/dist/data/ejs-doc/api_ui/api_ui.md +0 -836
- package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
- package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
- package/dist/data/ejs-doc/api_util/api_util.md +0 -615
- package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
- package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
- package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
- package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +0 -128
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +0 -142
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +0 -210
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +0 -85
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +0 -21
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +0 -36
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +0 -128
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +0 -148
- 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
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +0 -59
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +0 -95
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +0 -76
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +0 -202
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +0 -92
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +0 -412
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +0 -146
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +0 -137
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +0 -363
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +0 -285
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +0 -211
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +0 -999
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +0 -133
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +0 -117
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +0 -212
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +0 -85
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +0 -189
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +0 -217
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +0 -166
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +0 -196
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +0 -232
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +0 -150
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +0 -144
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +0 -467
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +0 -183
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +0 -162
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +0 -262
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +0 -132
- 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
- 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
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +0 -381
- 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
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +0 -849
- 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
- package/dist/data/standards/css-style.md +0 -531
- package/dist/data/standards/js-style.md +0 -394
- package/dist/data/standards/project-structure.md +0 -325
- package/dist/data/standards/vue-style.md +0 -644
- package/dist/tools/search.js +0 -1
- package/dist/tools/standards.js +0 -1
|
@@ -1,456 +0,0 @@
|
|
|
1
|
-
# Ajax 与文件上传
|
|
2
|
-
|
|
3
|
-
## 使用场景
|
|
4
|
-
|
|
5
|
-
核心工具集中内置了 `Ajax` 与 `Upload`,适用于
|
|
6
|
-
|
|
7
|
-
- 前端页面需要用到接口请求时
|
|
8
|
-
|
|
9
|
-
- 需要用到文件上传时
|
|
10
|
-
|
|
11
|
-
## 方法说明
|
|
12
|
-
|
|
13
|
-
注:框架对 `axios` 进行封装并挂载到核心工具中,通过 `Util.method()` 调用,如 `Util.ajax()` ,`Ajax` 或 `Upload` 返回的是 `Promise` 对象,支持链式调用
|
|
14
|
-
|
|
15
|
-
### ajax(options)
|
|
16
|
-
|
|
17
|
-
进行 ajax 请求,有两种使用方法
|
|
18
|
-
|
|
19
|
-
- 普通版本,传入 `success` 和 `error` 处理回调,并且 `error` 如果不穿,有一个默认的实现效果
|
|
20
|
-
|
|
21
|
-
- `Promise` 版本,`Ajax` 返回的 `Promise` 对象可以链式调用,注意如果要去除默认的失败回调实现,请将 `error` 传 `null`
|
|
22
|
-
|
|
23
|
-
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
24
|
-
| :-: | :--------: | :--------: | :----------: |
|
|
25
|
-
| √ | √ | √ | √ |
|
|
26
|
-
|
|
27
|
-
**普通版本**
|
|
28
|
-
|
|
29
|
-
```js
|
|
30
|
-
Util.ajax({
|
|
31
|
-
url: Config.serverUrl + 'request.php?action=testV7Detail',
|
|
32
|
-
data: {
|
|
33
|
-
params: JSON.stringify({
|
|
34
|
-
guid: '12345'
|
|
35
|
-
})
|
|
36
|
-
},
|
|
37
|
-
// v8.3.10优化支持dataPath,建议使用
|
|
38
|
-
dataPath: 'custom',
|
|
39
|
-
success: (result) => {
|
|
40
|
-
// dataPath配置后,匹配成功result.code为1,返回的result.data直接就是 路径匹配 节点下的数据
|
|
41
|
-
if (result.code === 1) {
|
|
42
|
-
// xxx
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
error: (err) => {
|
|
46
|
-
// error callback
|
|
47
|
-
},
|
|
48
|
-
complete: () => {
|
|
49
|
-
// complete callback
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**Promise 版本**
|
|
55
|
-
|
|
56
|
-
```js
|
|
57
|
-
Util.ajax({
|
|
58
|
-
url: Config.serverUrl + 'request.php?action=testV7Detail',
|
|
59
|
-
data: {
|
|
60
|
-
params: JSON.stringify({
|
|
61
|
-
guid: '12345'
|
|
62
|
-
})
|
|
63
|
-
}
|
|
64
|
-
})
|
|
65
|
-
.then((res) => {
|
|
66
|
-
console.log(res);
|
|
67
|
-
})
|
|
68
|
-
.catch((error) => {
|
|
69
|
-
// error callback
|
|
70
|
-
})
|
|
71
|
-
.finally(() => {
|
|
72
|
-
// complete callback
|
|
73
|
-
});
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
也可以控制多个 `Ajax` 请求
|
|
77
|
-
|
|
78
|
-
```js
|
|
79
|
-
const ajax1 = Util.ajax({
|
|
80
|
-
url: 'https://www.easy-mock.com/mock/5cb6ca44f6c8be4af31ae04d/mock/getTreeOuModel',
|
|
81
|
-
data: {
|
|
82
|
-
token: '123'
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
const ajax2 = Util.ajax({
|
|
87
|
-
url: 'https://www.easy-mock.com/mock/5cb6ca44f6c8be4af31ae04d/mock/getSingleTreeModule',
|
|
88
|
-
data: {
|
|
89
|
-
token: '321'
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
Util.ajaxAll(ajax1, ajax2).then((response) => {
|
|
94
|
-
// ajax1 返回的数据
|
|
95
|
-
const res1 = response[0];
|
|
96
|
-
// ajax2 返回的数据
|
|
97
|
-
const res2 = response[1];
|
|
98
|
-
});
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
**参数说明**
|
|
102
|
-
|
|
103
|
-
所有的参数都在 `options` 对象下 (AjaxOptions)
|
|
104
|
-
|
|
105
|
-
| 参数 | 参数类型 | 说明 | 平台差异说明 |
|
|
106
|
-
| ----------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
|
|
107
|
-
| url | String | `必填`, 请求的 url | |
|
|
108
|
-
| data | String 或 JSON | `必填`,请求的数据 | |
|
|
109
|
-
| type | String | 请求类别,`GET` 或 `POST`,默认为 `POST`, | 有效值详见下方说明 |
|
|
110
|
-
| isAutoProxy | Boolean | 默认为 `true`,如设置为 `false`,则单个请求不会在请求头中携带用户 token | |
|
|
111
|
-
| isAutoFingerprint | Boolean | 默认为 `true`,如设置为 `false`,则单个请求不会在请求头中携带指纹,`isAutoProxy` 为 `true` 时生效 | |
|
|
112
|
-
| isAutoErrToast | Boolean | 默认为 `false`,是否开启错误状态码自动弹窗提示 | |
|
|
113
|
-
| isUseEjsFetchAjax | Boolean | 默认为 `false`,是否使用原生请求代理 ajax 请求 | |
|
|
114
|
-
| isAutoDealError | Boolean | 默认为 `true`,如开启,框架会处理一些默认的返回错误并提示(非 200 情况下),处理的错误码有:401,403,417,429 | |
|
|
115
|
-
| success | Function | 成功回调,如不写,则有个默认实现,或者通过 `.then` 进行链式调用 | |
|
|
116
|
-
| error | Function | 失败回调,默认有一个失败回调的实现,会打印错误信息 | |
|
|
117
|
-
| complete | Function | 请求完成后的回调,不管是成功还是失败都会触发 | |
|
|
118
|
-
| responseType | String | 服务器响应的数据类型 | |
|
|
119
|
-
| timeout | Number | 请求超时的毫秒数 | |
|
|
120
|
-
| headers | Object | 设置请求的 header,header 中不能设置 Referer | |
|
|
121
|
-
| withCredentials | Boolean | 跨域请求时是否需要使用凭证 | 仅 H5 支持 |
|
|
122
|
-
| contentType | String | 发送信息至服务器时内容编码类型,普通请求默认为 `application/json`,文件上传请求默认为 `multipart/form-data` | |
|
|
123
|
-
| statusErrorExtend | Function | `v8.2.16`新增,http 状态扩展方法,产品项目可以根据业务自行判断 status 状态处理错误处理 | |
|
|
124
|
-
| dataPath | String/Array | `v8.3.10`新增,需要获取的路径指令,例如 custum.infolist 或['custum.infolist', 'custum.infoList'],如果为 undefined 或 null,则不会处理,返回的是原始数据 | |
|
|
125
|
-
| enableChunked | Boolean | `v8.3.17`新增,是否开启 SSE 流式响应,默认 false | H5、微信小程序 支持 |
|
|
126
|
-
| onChunkReceived | Function | `v8.3.17`新增,SSE 流式响应接收到数据时触发的回调函数,参数为接收到的数据 | H5、微信小程序 支持 |
|
|
127
|
-
| lockTokenDuration | Number | `v8.3.22`新增,锁定 token 的时长,单位 ms | |
|
|
128
|
-
| cancelKey | String | 中断请求的自定义 key 值,可通过该 key 值获取 ajax 的取消方法取消请求 | |
|
|
129
|
-
|
|
130
|
-
**type 有效值**
|
|
131
|
-
|
|
132
|
-
注意:type 有效值必须大写,每个平台支持的 method 有效值不同,详细见下表。
|
|
133
|
-
|
|
134
|
-
| type | EJS | H5 | 微信小程序 | 支付宝小程序 |
|
|
135
|
-
| :-----: | :-: | :-: | :--------: | :----------: |
|
|
136
|
-
| GET | √ | √ | √ | √ |
|
|
137
|
-
| POST | √ | √ | √ | √ |
|
|
138
|
-
| PUT | x | √ | √ | √ |
|
|
139
|
-
| DELETE | x | √ | √ | √ |
|
|
140
|
-
| CONNECT | x | √ | √ | x |
|
|
141
|
-
| HEAD | x | √ | √ | x |
|
|
142
|
-
| OPTIONS | x | √ | √ | x |
|
|
143
|
-
| TRACE | x | √ | √ | x |
|
|
144
|
-
|
|
145
|
-
**referer 说明**
|
|
146
|
-
|
|
147
|
-
网络请求的 referer Header 不可设置。
|
|
148
|
-
|
|
149
|
-
`ejs`与`h5` referer 默认传当前页面的 URL。
|
|
150
|
-
|
|
151
|
-
平台小程序格式固定
|
|
152
|
-
|
|
153
|
-
###### 支付宝:
|
|
154
|
-
|
|
155
|
-
为 https://{appid}.hybrid.alipay-eco.com/{appid}/{version}/index.html#pages/index,其中 {appid} 为小程序的 APPID,{version} 为小程序发布标识。
|
|
156
|
-
|
|
157
|
-
###### 微信:
|
|
158
|
-
|
|
159
|
-
为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版
|
|
160
|
-
|
|
161
|
-
**成功返回**
|
|
162
|
-
|
|
163
|
-
- 返回一个 `response`,即返回的是原始数据`response`
|
|
164
|
-
|
|
165
|
-
- 配置`dataPath`:
|
|
166
|
-
|
|
167
|
-
`v8.3.10`开始,支持配置`dataPath`,可以获取指定路径的数据。配置后的成功返回:
|
|
168
|
-
|
|
169
|
-
| 参数 | 参数类型 | 说明 |
|
|
170
|
-
| :-----: | :-----------: | :--------------------------------------------------------------------------------------------------: |
|
|
171
|
-
| code | Number | 处理完的结果,为`1`代表处理成功,`0`代表失败,一般失败的原因是接口返回的 status 不正确或者格式不匹配 |
|
|
172
|
-
| data | Object | 处理完后的最终数据,如果没有获取到对应节点下的数据,为 null |
|
|
173
|
-
| message | String | 处理完后的提示,例如错误信息提示、接口返回的 status.text 信息等 |
|
|
174
|
-
| status | Number/String | 接口返回的 status.code 值 |
|
|
175
|
-
|
|
176
|
-
**失败返回**
|
|
177
|
-
|
|
178
|
-
| 参数 | 参数类型 | 说明 |
|
|
179
|
-
| ----- | -------- | -------- |
|
|
180
|
-
| error | String | 错误信息 |
|
|
181
|
-
|
|
182
|
-
**Tips**
|
|
183
|
-
|
|
184
|
-
- 请求的 `header` 中 `content-type` 默认为 `application/json`。
|
|
185
|
-
- 避免在 `header` 中使用中文,或者使用 encodeURIComponent 进行编码。
|
|
186
|
-
- 网络请求的 `超时时间` 可以统一在 `manifest.json` 中配置。
|
|
187
|
-
- 注意平台小程序端不支持自动保持 cookie,服务器应避免验证 cookie。
|
|
188
|
-
|
|
189
|
-
### 取消 Ajax
|
|
190
|
-
|
|
191
|
-
可传递一个 `cancelKey` 给 `ajax`,在需要取消请求时,通过 `cancelKey` 获取到对应的取消方法,然后调用取消方法即可中断请求。
|
|
192
|
-
|
|
193
|
-
```js
|
|
194
|
-
Util.ajax({
|
|
195
|
-
url: Config.serverUrl + 'request.php?action=testV7Detail',
|
|
196
|
-
data: {
|
|
197
|
-
params: JSON.stringify({
|
|
198
|
-
guid: '12345'
|
|
199
|
-
})
|
|
200
|
-
},
|
|
201
|
-
// 传递一个key值
|
|
202
|
-
cancelKey: 'key1',
|
|
203
|
-
success: (result) => {},
|
|
204
|
-
error: (err) => {}
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
// ajax实例上绑定了cancels映射,通过该key值获取对应取消方法中断请求
|
|
208
|
-
Util.ajax.cancels['key1']();
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### Util.ajax 支持暴露 axios 实例
|
|
212
|
-
|
|
213
|
-
`v8.3.10` 版本开始,Util.ajax 支持暴露 axios 实例,方便产品项目对 axios 进行拦截、封装等操作。
|
|
214
|
-
产品项目如果想要实现通用的 Util.ajax 某些功能,可以借助于此功能实现。例如政务 BG 进行 ajax 统一 sm2 加密解密场景;产品项目对请求拦截、响应拦截有其他通用需求场景等。
|
|
215
|
-
|
|
216
|
-
使用方式:
|
|
217
|
-
|
|
218
|
-
`Util.ajax.instance`为 Util.ajax 的 axios 实例,可以在此进行请求拦截、响应拦截等功能开发。
|
|
219
|
-
|
|
220
|
-
```js
|
|
221
|
-
const instance = Util.ajax.instance;
|
|
222
|
-
|
|
223
|
-
instance.interceptors.request.use((config) => {
|
|
224
|
-
// xxx
|
|
225
|
-
|
|
226
|
-
return config;
|
|
227
|
-
});
|
|
228
|
-
instance.interceptors.response.use((response) => {
|
|
229
|
-
// xxx
|
|
230
|
-
|
|
231
|
-
return response;
|
|
232
|
-
});
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
::: ifdef M84
|
|
236
|
-
|
|
237
|
-
### 拦截器管理
|
|
238
|
-
|
|
239
|
-
`8.4.0-beta.3`版本开始,Util.ajax 新增了一些方法来更好的管理拦截器,方便产品项目基于框架方法进行拓展。
|
|
240
|
-
|
|
241
|
-
#### create 方法
|
|
242
|
-
|
|
243
|
-
创建一个新的 ajax 实例:UtilAjaxInstance,框架的 Util.ajax 就是通过该方法生成的。
|
|
244
|
-
|
|
245
|
-
```ts
|
|
246
|
-
interface UtilAjaxInstance {
|
|
247
|
-
(options: AjaxOptions): Promise<any>;
|
|
248
|
-
instance: AxiosInstance; // axios 实例
|
|
249
|
-
cancels?: cancels; // 请求取消方法数组
|
|
250
|
-
minirefreshPending?: Array<{ f: cancelFunc }>; // 下拉刷新请求取消方法数组
|
|
251
|
-
pluginFactory: InterceptorsPluginFactory; // 拦截器插件工厂方法
|
|
252
|
-
plugins: {
|
|
253
|
-
request: InterceptorsPlugin[]; // 请求拦截器插件数组
|
|
254
|
-
response: InterceptorsPlugin[]; // 响应拦截器插件数组
|
|
255
|
-
};
|
|
256
|
-
_defaultSettings: AjaxOptions; // 默认配置
|
|
257
|
-
create: (option?: AjaxOptions) => UtilAjaxInstance; // 创建一个新的 Util.ajax 实例
|
|
258
|
-
addInterceptors: (plugin?: InterceptorsPlugin | InterceptorsPlugin[]) => void; // 添加拦截器插件
|
|
259
|
-
removeInterceptors: (pluginName?: string | string[], type?: 'request' | 'response') => void; // 删除拦截器插件
|
|
260
|
-
request: (options: AjaxOptions) => Promise<any>; // 发送请求
|
|
261
|
-
createInterceptorsPlugin: (option: InterceptorsPluginOpt) => InterceptorsPlugin; // 创建拦截器插件
|
|
262
|
-
}
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
使用示例:
|
|
266
|
-
|
|
267
|
-
```ts
|
|
268
|
-
// 创建时可传入默认配置
|
|
269
|
-
// newAjax 功能与 Util.ajax 一致
|
|
270
|
-
const newAjax: UtilAjaxInstance = Util.ajax.create({
|
|
271
|
-
headers: {
|
|
272
|
-
'Content-Type': 'application/json'
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
|
|
276
|
-
newAjax({
|
|
277
|
-
url: 'https://www.easy-mock.com/mock/5cb6ca44f6c8be4af31ae04d/mock/getTreeOuModel',
|
|
278
|
-
data: {
|
|
279
|
-
token: '123'
|
|
280
|
-
}
|
|
281
|
-
}).then((response) => {
|
|
282
|
-
console.log(response);
|
|
283
|
-
});
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
#### createInterceptorsPlugin 方法
|
|
287
|
-
|
|
288
|
-
创建一个拦截器插件:InterceptorsPlugin
|
|
289
|
-
|
|
290
|
-
```ts
|
|
291
|
-
interface InterceptorsPlugin {
|
|
292
|
-
_interceptorsID: number; // 拦截器 ID
|
|
293
|
-
_opt: InterceptorsPluginOpt; // 拦截器配置,见下
|
|
294
|
-
name: string; // 拦截器名称
|
|
295
|
-
type: 'request' | 'response'; // 拦截器类型
|
|
296
|
-
description?: string; // 描述信息
|
|
297
|
-
install: (axiosInstance: AxiosInstance) => void; // 安装拦截器插件
|
|
298
|
-
uninstall: (axiosInstance: AxiosInstance) => void; // 卸载拦截器插件
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
interface InterceptorsPluginOpt {
|
|
302
|
-
name: string; // 拦截器名称
|
|
303
|
-
type: 'request' | 'response'; // 拦截器类型
|
|
304
|
-
description?: string; // 描述信息
|
|
305
|
-
success: {
|
|
306
|
-
<T extends AxiosRequestConfig>(config: T): T | Promise<T>;
|
|
307
|
-
<T extends AxiosResponse>(config: T): T | Promise<T>;
|
|
308
|
-
<T extends AxiosRequestConfig | AxiosResponse>(config: T): T | Promise<T>;
|
|
309
|
-
}; // 拦截器成功回调
|
|
310
|
-
error?: (error: any) => Promise<any>; // 拦截器失败回调
|
|
311
|
-
onUninstall?: (axiosInstance: AxiosInstance) => void; // 拦截器卸载时触发该回调,可在此处清除一些不需要的实例对象
|
|
312
|
-
}
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
用法示例;
|
|
316
|
-
|
|
317
|
-
```ts
|
|
318
|
-
// 创建一个请求拦截器插件
|
|
319
|
-
const testRequestPlugin = Util.ajax.createInterceptorsPlugin({
|
|
320
|
-
name: 'test',
|
|
321
|
-
type: 'request',
|
|
322
|
-
description: '测试请求拦截器',
|
|
323
|
-
success: (config) => {
|
|
324
|
-
// 这里可以对请求参数进行处理
|
|
325
|
-
return config;
|
|
326
|
-
}
|
|
327
|
-
});
|
|
328
|
-
// 创建一个响应拦截器插件
|
|
329
|
-
const testResponsePlugin = Util.ajax.createInterceptorsPlugin({
|
|
330
|
-
name: 'test',
|
|
331
|
-
type: 'response',
|
|
332
|
-
description: '测试响应拦截器',
|
|
333
|
-
success: (response) => {
|
|
334
|
-
// 这里可以对返回参数进行处理
|
|
335
|
-
return response;
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
|
|
339
|
-
// 添加拦截器插件
|
|
340
|
-
Util.ajax.addInterceptors([testRequestPlugin, testResponsePlugin]);
|
|
341
|
-
|
|
342
|
-
// 不需要时移除拦截器插件
|
|
343
|
-
// 传入拦截器插件名称,会移除所有该名称下的拦截器插件
|
|
344
|
-
Util.ajax.removeInterceptors('test'); // 移除 testRequestPlugin 和 testResponsePlugin
|
|
345
|
-
|
|
346
|
-
// 传入拦截器插件名称和类型,会移除该类型下的该名称的拦截器插件
|
|
347
|
-
Util.ajax.removeInterceptors('test', 'request'); // 移除 testRequestPlugin
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
框架内置了一批拦截器插件,框架的自动代理、中断请求等功能都通过拦截器来实现,已安装的插件可通过 Util.ajax.plugins 查看,如果产品项目不需要某个功能,可以直接移除该拦截器插件。
|
|
351
|
-
|
|
352
|
-
```ts
|
|
353
|
-
const newAjax: UtilAjaxInstance = Util.ajax.create();
|
|
354
|
-
|
|
355
|
-
// 移除框架的自动代理功能
|
|
356
|
-
newAjax.removeInterceptors('proxy');
|
|
357
|
-
```
|
|
358
|
-
|
|
359
|
-
**注意:**
|
|
360
|
-
|
|
361
|
-
框架功能都通过拦截器实现后,原先通过`Util.ajax.instance`添加的请求拦截器都会比框架的处理更先执行,而通过拦截器插件添加的请求拦截器则会在框架的处理之后执行。请注意下执行顺序。
|
|
362
|
-
|
|
363
|
-
::: endif
|
|
364
|
-
|
|
365
|
-
### upload(options)
|
|
366
|
-
|
|
367
|
-
将本地资源上传到开发者服务器,客户端发起一个 `POST` 请求,其中 `content-type` 为 `multipart/form-data`。
|
|
368
|
-
|
|
369
|
-
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
370
|
-
| :-: | :--------: | :--------: | :----------: |
|
|
371
|
-
| √ | √ | √ | √ |
|
|
372
|
-
|
|
373
|
-
在各个平台小程序运行时,网络相关的 API 在使用前需要配置域名白名单。
|
|
374
|
-
|
|
375
|
-
```html
|
|
376
|
-
<template>
|
|
377
|
-
<div class="content">
|
|
378
|
-
<em-uploader :after-read="afterRead" />
|
|
379
|
-
</div>
|
|
380
|
-
</template>
|
|
381
|
-
|
|
382
|
-
<script>
|
|
383
|
-
export default {
|
|
384
|
-
methods: {
|
|
385
|
-
afterRead(file) {
|
|
386
|
-
// filePath上传,支持跨端上传(H5、微信小程序、支付宝小程序)
|
|
387
|
-
Util.upload({
|
|
388
|
-
url: 'http://115.29.151.25:8012/webUploaderServer/testupload.php', //仅为示例,非真实的接口地址
|
|
389
|
-
filePath: file.path, // filePath需要与name配套使用
|
|
390
|
-
name: file.name, // filePath需要与name配套使用
|
|
391
|
-
formData: {
|
|
392
|
-
user: 'test'
|
|
393
|
-
},
|
|
394
|
-
success: (res) => {
|
|
395
|
-
console.log(res);
|
|
396
|
-
}
|
|
397
|
-
});
|
|
398
|
-
// 普通files上传,仅支持H5
|
|
399
|
-
Util.upload({
|
|
400
|
-
url: 'http://115.29.151.25:8012/webUploaderServer/testupload.php', //仅为示例,非真实的接口地址
|
|
401
|
-
files: [{
|
|
402
|
-
file: file
|
|
403
|
-
}],
|
|
404
|
-
formData: {
|
|
405
|
-
user: 'test'
|
|
406
|
-
},
|
|
407
|
-
success: (res) => {
|
|
408
|
-
console.log(res);
|
|
409
|
-
}
|
|
410
|
-
});
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
**参数说明**
|
|
419
|
-
|
|
420
|
-
| 参数 | 参数类型 | 必填 | 说明 | 平台差异说明 |
|
|
421
|
-
| ---------- | -------- | ------------------------------ | ---------------------------------------------------------------------- | ------------ |
|
|
422
|
-
| url | String | 是 | 开发者服务器 url | |
|
|
423
|
-
| files | Array | 是(files 和 filePath 选其一) | 需要上传的文件列表。**使用 files 时,filePath 和 name 不生效。** | 仅 H5 支持 |
|
|
424
|
-
| filePath | String | 是(files 和 filePath 选其一) | 要上传文件资源的路径 (推荐使用) | |
|
|
425
|
-
| name | String | 是 | 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容 | |
|
|
426
|
-
| headers | Object | 否 | 设置请求的 header,header 中不能设置 Referer |
|
|
427
|
-
| timeout | Number | 否 | 请求超时的毫秒数 |
|
|
428
|
-
| formData | Object | 否 | HTTP 请求中其他额外的 form data |
|
|
429
|
-
| antiReplay | Boolean | 否 | 附件上传是否带上防重放标记,默认 true |
|
|
430
|
-
| success | Function | 否 | 接口调用成功的回调函数 |
|
|
431
|
-
| error | Function | 否 | 接口调用失败的回调函数 |
|
|
432
|
-
| complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
|
|
433
|
-
| uploading | Function | 否 | 文件上传时,进度回调 | |
|
|
434
|
-
|
|
435
|
-
**注意**
|
|
436
|
-
|
|
437
|
-
- 微信小程序只支持单文件上传,传多个文件需要反复调用本 API。所以跨端的写法就是循环调用本 API。
|
|
438
|
-
- 网络请求的 超时时间 可以统一在 `manifest.json` 中配置
|
|
439
|
-
|
|
440
|
-
**files 参数说明**
|
|
441
|
-
|
|
442
|
-
files 参数是一个 file 对象的数组,file 对象的结构如下:
|
|
443
|
-
|
|
444
|
-
| 参数名 | 类型 | 必填 | 说明 |
|
|
445
|
-
| :----- | :----- | :--- | :------------------------------------------ |
|
|
446
|
-
| name | String | 否 | multipart 提交时,表单的项目名,默认为 file |
|
|
447
|
-
| file | File | 否 | 要上传的文件对象,仅 H5 支持 |
|
|
448
|
-
| uri | String | 是 | 文件的本地地址 |
|
|
449
|
-
|
|
450
|
-
### Util.upload 支持空附件上传
|
|
451
|
-
|
|
452
|
-
`v8.3.14` 版本开始,Util.upload 附件上传支持空附件上传。
|
|
453
|
-
|
|
454
|
-
某些项目场景下,表单与附件一起上传,同时附件为非必填项,请求参数要求 formData 形式,此时进上传表单数据时,原有的 Util.upload 会报错。
|
|
455
|
-
|
|
456
|
-
`v8.3.14`版本之后可以使用 Util.upload 进行这类场景下调用,可以保证参数为 formData 格式,附件非必填。支持 H5、微信、支付宝小程序跨端场景。
|
package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
# Util.charset
|
|
2
|
-
|
|
3
|
-
## 使用场景
|
|
4
|
-
|
|
5
|
-
- 需要用到 `UTF-16`,`UTF-8` 编码转换的地方
|
|
6
|
-
|
|
7
|
-
- 需要用到 `Base64-UTF-16`,`Base64-UTF-8` 编码解码的地方
|
|
8
|
-
|
|
9
|
-
- 可以通过在线工具测试 [BASE64方式加密、解密](https://www.sojson.com/base64.html)
|
|
10
|
-
|
|
11
|
-
## 方法说明
|
|
12
|
-
|
|
13
|
-
注:此工具集下的方法以 `Util.charset` 为前缀进行调用
|
|
14
|
-
|
|
15
|
-
### strToBinary(str)
|
|
16
|
-
|
|
17
|
-
将字符串转为二进制字符串
|
|
18
|
-
|
|
19
|
-
**平台差异**
|
|
20
|
-
|
|
21
|
-
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
22
|
-
| :---: | :--------: | :--------: | :----------: |
|
|
23
|
-
| √ | √ | √ | √ |
|
|
24
|
-
|
|
25
|
-
**示例**
|
|
26
|
-
|
|
27
|
-
```js
|
|
28
|
-
const str = '你好,世界!';
|
|
29
|
-
|
|
30
|
-
// 10011110110000010110010111110111111111000011001001110000101101110101010011001111111100000001
|
|
31
|
-
Util.charset.strToBinary(str);
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### utf16ToUtf8(str)
|
|
35
|
-
|
|
36
|
-
将 `UTF-16` 编码的字符串转成 `UTF-8` 编码的字符串
|
|
37
|
-
|
|
38
|
-
**平台差异**
|
|
39
|
-
|
|
40
|
-
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
41
|
-
| :---: | :--------: | :--------: | :----------: |
|
|
42
|
-
| √ | √ | √ | √ |
|
|
43
|
-
|
|
44
|
-
**示例**
|
|
45
|
-
|
|
46
|
-
```js
|
|
47
|
-
const str = '你好,世界!';
|
|
48
|
-
|
|
49
|
-
// ä½ å¥½ï¼\x8Cä¸\x96ç\x95\x8Cï¼\x81
|
|
50
|
-
Util.charset.utf16ToUtf8(str);
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### uft8ToUtf16(str)
|
|
54
|
-
|
|
55
|
-
将 `UTF-8` 编码的字符串转成 `UTF-16` 编码的字符串
|
|
56
|
-
|
|
57
|
-
**平台差异**
|
|
58
|
-
|
|
59
|
-
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
60
|
-
| :---: | :--------: | :--------: | :----------: |
|
|
61
|
-
| √ | √ | √ | √ |
|
|
62
|
-
|
|
63
|
-
**示例**
|
|
64
|
-
|
|
65
|
-
```js
|
|
66
|
-
var str = 'ä½ å¥½ï¼\x8Cä¸\x96ç\x95\x8Cï¼\x81';
|
|
67
|
-
|
|
68
|
-
// 你好,世界!
|
|
69
|
-
Util.charset.utf8ToUtf16(str);
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### base64.encode(str, type, isUri)
|
|
73
|
-
|
|
74
|
-
将目标字符串进行 `Base64` 编码
|
|
75
|
-
|
|
76
|
-
**平台差异**
|
|
77
|
-
|
|
78
|
-
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
79
|
-
| :---: | :--------: | :--------: | :----------: |
|
|
80
|
-
| √ | √ | √ | √ |
|
|
81
|
-
|
|
82
|
-
__参数说明__
|
|
83
|
-
|
|
84
|
-
| 参数 | 参数类型 | 说明 |
|
|
85
|
-
| --- | ---- | --- |
|
|
86
|
-
| str | String | 目标字符串,只支持 `UTF-16` 编码形式,可以认为,`JS` 中默认的输入就是 `UTF-16` 形式 |
|
|
87
|
-
| type | String | 类别,可选 `utf8`、`utf16`,默认为 `utf8`。`utf8`代表先转为 `UTF-8` 编码然后再进行 `Base64` 编码 |
|
|
88
|
-
| isUri | Boolean | 是否进行 `uri` 编码,如果为 `true`,结果中一些特殊字符会进行 `uri` 编码(如 `=` 号) |
|
|
89
|
-
|
|
90
|
-
**示例**
|
|
91
|
-
|
|
92
|
-
```js
|
|
93
|
-
var str = '你好,世界!';
|
|
94
|
-
|
|
95
|
-
// 5L2g5aW977yM5LiW55WM77yB
|
|
96
|
-
Util.charset.base64.encode(str);
|
|
97
|
-
|
|
98
|
-
// 5L2g5aW977yM5LiW55WM77yBPT0%3D
|
|
99
|
-
Util.charset.base64.encode('你好,世界!==', 'utf8', true);
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### base64.deocde(str, type, isUri)
|
|
103
|
-
|
|
104
|
-
将 `Base64` 编码的字符串解码
|
|
105
|
-
|
|
106
|
-
**平台差异**
|
|
107
|
-
|
|
108
|
-
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
109
|
-
| :---: | :--------: | :--------: | :----------: |
|
|
110
|
-
| √ | √ | √ | √ |
|
|
111
|
-
|
|
112
|
-
__参数说明__
|
|
113
|
-
|
|
114
|
-
| 参数 | 参数类型 | 说明 |
|
|
115
|
-
| --- | ---- | --- |
|
|
116
|
-
| str | String | 目标字符串,只支持 `Base64` 编码后的字符串 |
|
|
117
|
-
| type | String | 类别,可选 `utf8`,`utf16`,默认为 `utf8`。`utf8`代表先解码,然后将结果从 `UTF-8` 编码转换为 `UTF-16` 编码 |
|
|
118
|
-
| isUri | Boolean | 是否进行 `uri` 编码,如果为 `true`,在编码前,会对特殊字符会进行 `uri` 解码(如 `=` 号) |
|
|
119
|
-
|
|
120
|
-
**示例**
|
|
121
|
-
|
|
122
|
-
```js
|
|
123
|
-
// 你好,世界!
|
|
124
|
-
Util.charset.base64.decode('5L2g5aW977yM5LiW55WM77yB');
|
|
125
|
-
|
|
126
|
-
// 你好,世界!==
|
|
127
|
-
Util.charset.base64.decode('5L2g5aW977yM5LiW55WM77yBPT0%3D', 'utf8', true);
|
|
128
|
-
```
|