m8-mcp-server 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -0
- package/bin/m8-mcp.js +2 -0
- package/dist/constants.js +1 -0
- package/dist/data/ejs-doc/api_audio/api_audio.md +225 -0
- package/dist/data/ejs-doc/api_auth/api_auth.md +256 -0
- package/dist/data/ejs-doc/api_contact/api_contact.md +295 -0
- package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
- package/dist/data/ejs-doc/api_device/api_device.md +761 -0
- package/dist/data/ejs-doc/api_event/api_event.md +244 -0
- package/dist/data/ejs-doc/api_global/api_global.md +440 -0
- package/dist/data/ejs-doc/api_io/api_io.md +369 -0
- package/dist/data/ejs-doc/api_navigator/api_navigator.md +654 -0
- 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 +261 -0
- package/dist/data/ejs-doc/api_runtime/api_runtime.md +788 -0
- package/dist/data/ejs-doc/api_storage/api_storage.md +320 -0
- package/dist/data/ejs-doc/api_stream/api_stream.md +152 -0
- package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
- package/dist/data/ejs-doc/api_ui/api_ui.md +836 -0
- 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 +615 -0
- 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 +247 -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/205vue3.md +276 -0
- 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 +130 -0
- 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 +115 -0
- 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 +398 -0
- 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 +456 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +128 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +142 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +210 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +85 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +21 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +36 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +128 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +148 -0
- 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 +76 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +59 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +95 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +76 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +202 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +92 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +412 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +146 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +137 -0
- package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +363 -0
- 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 +188 -0
- 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 +460 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +285 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +211 -0
- 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 +213 -0
- 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 +501 -0
- 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 +168 -0
- 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 +617 -0
- 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 +539 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +999 -0
- 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 +150 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +133 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +117 -0
- 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 +152 -0
- 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 +427 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +212 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +85 -0
- 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 +175 -0
- 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 +519 -0
- 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 +152 -0
- 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 +103 -0
- 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 +285 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +189 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +217 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +166 -0
- 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 +340 -0
- 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 +265 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +196 -0
- 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 +115 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +232 -0
- 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 +631 -0
- 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 +531 -0
- 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 +111 -0
- 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 +337 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +150 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +144 -0
- 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 +429 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +467 -0
- 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 +295 -0
- 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 +577 -0
- 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 +491 -0
- 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 +265 -0
- 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 +203 -0
- 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 +139 -0
- 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 +199 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +183 -0
- 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 +289 -0
- 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 +97 -0
- 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 +146 -0
- 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 +292 -0
- 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 +120 -0
- 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 +114 -0
- 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 +119 -0
- 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 +208 -0
- 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 +161 -0
- 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 +248 -0
- 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 +314 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +162 -0
- 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 +325 -0
- 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 +360 -0
- 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 +595 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +262 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +51 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +132 -0
- 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 +1538 -0
- 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 +261 -0
- 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 +161 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +381 -0
- 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 +531 -0
- package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +849 -0
- 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 +116 -0
- package/dist/data/standards/css-style.md +531 -0
- package/dist/data/standards/js-style.md +394 -0
- package/dist/data/standards/project-structure.md +325 -0
- package/dist/data/standards/vue-style.md +644 -0
- package/dist/index.js +1 -0
- package/dist/tools/search.js +1 -0
- package/dist/tools/standards.js +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Util.string
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
该工具类封装了一些常用的字符串验证操作,包括
|
|
6
|
+
|
|
7
|
+
- 身份证验证,获取出生日期
|
|
8
|
+
|
|
9
|
+
- 邮箱,手机等常见场景的验证
|
|
10
|
+
|
|
11
|
+
- 过滤特殊字符等等
|
|
12
|
+
|
|
13
|
+
**平台差异**
|
|
14
|
+
|
|
15
|
+
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
16
|
+
| :---: | :--------: | :--------: | :----------: |
|
|
17
|
+
| √ | √ | √ | √ |
|
|
18
|
+
|
|
19
|
+
## 方法说明
|
|
20
|
+
|
|
21
|
+
注:此工具集下的方法以 `Util.string` 为前缀进行调用
|
|
22
|
+
|
|
23
|
+
### isInt(str)
|
|
24
|
+
|
|
25
|
+
验证一个字符是否是整数
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
Util.string.isInt('1234'); // true
|
|
29
|
+
|
|
30
|
+
Util.string.isInt('1s34'); // false
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### isFloat(str)
|
|
34
|
+
|
|
35
|
+
判断一个字符串是否是 `数字`
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
Util.string.isFloat('123'); // true
|
|
39
|
+
Util.string.isFloat('123.321'); // true
|
|
40
|
+
|
|
41
|
+
Util.string.isFloat('saber'); // false
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### isMobile(str)
|
|
45
|
+
|
|
46
|
+
判断一个字符串是不是 `手机号码`
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
Util.string.isMobile('18962299766'); // true
|
|
50
|
+
|
|
51
|
+
Util.string.isMobile('1896229976'); // false
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### isTel(str)
|
|
55
|
+
|
|
56
|
+
判断一个字符串是不是 `固定电话`
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
Util.string.isTel('051258222222'); // true
|
|
60
|
+
|
|
61
|
+
Util.string.isTel('1896229976'); // false
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### isPhone(str)
|
|
65
|
+
|
|
66
|
+
判断一个字符串是不是 `电话号码`
|
|
67
|
+
|
|
68
|
+
```js
|
|
69
|
+
Util.string.isPhone('18962299766'); // true
|
|
70
|
+
Util.string.isPhone('051258222222'); // true
|
|
71
|
+
|
|
72
|
+
Util.string.isPhone('1896229976'); // false
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### isEmail(str)
|
|
76
|
+
|
|
77
|
+
判断一个字符串是否是合法的 `EMAIL`
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
Util.string.isEmail('abcd_s.ddf.ff-sss@vip.qq.com'); // true
|
|
81
|
+
Util.string.isEmail('abc@qq.com'); // true
|
|
82
|
+
|
|
83
|
+
Util.string.isEmail('abc@.com'); // false
|
|
84
|
+
Util.string.isEmail('-abc@qq.com'); // false
|
|
85
|
+
Util.string.isEmail('abc.@qq.com'); // false
|
|
86
|
+
Util.string.isEmail('ab-.c@qq.com'); // false
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### isPostCode(str)
|
|
90
|
+
|
|
91
|
+
判断一个字符串是否是 `邮政编码`
|
|
92
|
+
|
|
93
|
+
```js
|
|
94
|
+
Util.string.isPostCode('215600'); // true
|
|
95
|
+
|
|
96
|
+
Util.string.isPostCode('21560'); // false
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### isOrgCode(str)
|
|
100
|
+
|
|
101
|
+
判断一个字符串是否是 `组织机构代码`
|
|
102
|
+
|
|
103
|
+
```js
|
|
104
|
+
Util.string.isOrgCode('91320582704068740Y'); // true
|
|
105
|
+
|
|
106
|
+
Util.string.isOrgCode('91320582704068740a'); // false
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### isUrl(str)
|
|
110
|
+
|
|
111
|
+
判断一个字符串是否是 `URL`
|
|
112
|
+
|
|
113
|
+
```js
|
|
114
|
+
Util.string.isUrl('https://fe.epoint.com.cn/ejs/'); // true
|
|
115
|
+
Util.string.isUrl('https://app.epoint.com.cn/ejs/'); // true
|
|
116
|
+
Util.string.isUrl('ftp://app.epoint.com.cn/'); // true
|
|
117
|
+
Util.string.isUrl('//app.epoint.com.cn/'); // true
|
|
118
|
+
|
|
119
|
+
Util.string.isUrl('page/html/api.html'); // false
|
|
120
|
+
Util.string.isUrl('./page/html/api.html'); // false
|
|
121
|
+
Util.string.isUrl('../page/html/api.html'); // false
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### isIdCard(str)
|
|
125
|
+
|
|
126
|
+
判断一个字符串是否是 `身份证`
|
|
127
|
+
|
|
128
|
+
```js
|
|
129
|
+
Util.string.isIdCard('320926195511175276'); // true
|
|
130
|
+
|
|
131
|
+
Util.string.isIdCard('320582199566666614'); // false
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### excludeSpecial(str, reg)
|
|
135
|
+
|
|
136
|
+
过滤特殊字符与转义字符,默认大部分的特殊字符都被剔除了,如果不满意,可以传自定义的正则
|
|
137
|
+
|
|
138
|
+
```js
|
|
139
|
+
var test="<>?:?》《《《,<><<<<><<<<<<<<|\\\\}}{{{{{PPOTWWERTYUIOSDFGHJKLXCVBNM<)(887676555433222!!@@@##$$%%<<>>??????;;;;''’‘;,。。、。。、090-=-098776654112234567@@##¥%……&&**((()))))))!@#¥%……&*())(&%¥¥#¥%……&**!@~~!!@#¥%……&*(:“:”;“”::“《》》??{}哈哈哈哈()~!@@##$%^^&&**(())___+[`!@#$%^&*()_!@#$%^&*()_!@#$%^&*()_+~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]";
|
|
140
|
+
|
|
141
|
+
// PPOTWWERTYUIOSDFGHJKLXCVBNM887676555433222090--098776654112234567哈哈哈哈______
|
|
142
|
+
Util.string.excludeSpecial(test);
|
|
143
|
+
|
|
144
|
+
const test2 = "sdfffjh@s#sk%jn";
|
|
145
|
+
|
|
146
|
+
// 用自定义的正则提取,这里只剔除 @和# 结果为: sdfffjhssk%jn
|
|
147
|
+
Util.string.excludeSpecial(test, /[@#]/g);
|
|
148
|
+
```
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Util 扩展指南
|
|
2
|
+
|
|
3
|
+
<small class="text-muted">维护人:吴松泽</small>
|
|
4
|
+
|
|
5
|
+
## 前言
|
|
6
|
+
|
|
7
|
+
框架内置了 `Util` 工具类,同时提供了拓展方案,适用场景包括但不局限于
|
|
8
|
+
|
|
9
|
+
- 参与框架代码贡献,拓展框架的 `Util`
|
|
10
|
+
|
|
11
|
+
- 拓展一个某个项目通用的业务 `Util`
|
|
12
|
+
|
|
13
|
+
## 扩展步骤
|
|
14
|
+
|
|
15
|
+
以下是一个示例
|
|
16
|
+
|
|
17
|
+
### Step1: 编写自己的工具类
|
|
18
|
+
|
|
19
|
+
在 `src/utils` 目录下创建 `工具name.js` 文件
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
/*
|
|
23
|
+
* @Author: guotq
|
|
24
|
+
* @Date: 2019-08-19 15:14:19
|
|
25
|
+
* @Last Modified by: guotq
|
|
26
|
+
* @Last Modified time: 2019-08-19 15:14:24
|
|
27
|
+
* @Description: 工具类内容
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
const innerUtil = {
|
|
31
|
+
isDebug: false,
|
|
32
|
+
method1: function() {
|
|
33
|
+
console.log(this.attr1);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export default innerUtil;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
你可以选择作为一个独立的功能,或者如果你想挂载在 `Util` 工具集下,则按如下方法操作
|
|
41
|
+
|
|
42
|
+
打开 `utils/index.js` => 引入组件 => 通过 `export default` 导出
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
import name from './name.js';
|
|
46
|
+
|
|
47
|
+
export default {
|
|
48
|
+
name
|
|
49
|
+
};
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Step2:页面引入与使用工具类
|
|
53
|
+
|
|
54
|
+
挂载在 `Util` 中时引入
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
import Util from '@utils';
|
|
58
|
+
|
|
59
|
+
// 调用
|
|
60
|
+
Util.name.method();
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
作为独立功能引入
|
|
64
|
+
|
|
65
|
+
```js
|
|
66
|
+
import tools from '@utils/name';
|
|
67
|
+
|
|
68
|
+
// 调用
|
|
69
|
+
tools.method();
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## 注意要点
|
|
73
|
+
|
|
74
|
+
#### 头部注释
|
|
75
|
+
|
|
76
|
+
上述示例中,一些头部注释没有重复举例,但是实际中需要依据 `代码规范` 添加
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Util.cookie
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
**平台差异**
|
|
6
|
+
|
|
7
|
+
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
8
|
+
| :---: | :--------: | :--------: | :----------: |
|
|
9
|
+
| √ | √ | X | X |
|
|
10
|
+
|
|
11
|
+
该工具类封装了一些常用的`cookie`操作,包括
|
|
12
|
+
|
|
13
|
+
- 设置某个字段值存到`cookie`中
|
|
14
|
+
|
|
15
|
+
- 获取`cookie`中的某个字段值
|
|
16
|
+
|
|
17
|
+
- 移除`cookie`的某个字段值
|
|
18
|
+
|
|
19
|
+
## 方法说明
|
|
20
|
+
|
|
21
|
+
注:此工具集下的方法以 `Util.cookie` 为前缀进行调用
|
|
22
|
+
|
|
23
|
+
### set(key, value, attributes)
|
|
24
|
+
|
|
25
|
+
设置某个字段值存到`cookie`中,且返回设置的字段值和属性,方法默认的属性为:`path=/`。
|
|
26
|
+
|
|
27
|
+
`cookie`可设置哪些属性可查看该文档:[cookie](https://developer.mozilla.org/zh-CN/docs/Web/API/Document/cookie)
|
|
28
|
+
|
|
29
|
+
**注意**
|
|
30
|
+
|
|
31
|
+
若设置的`expires`属性为一个数字,则代表天数。
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
Util.cookie.set('key', 'value'); // “key=value;path=/”
|
|
35
|
+
|
|
36
|
+
Util.cookie.set('key', 'value', { 'max-age': '30' }); // “key=value;path=/;max-age=30”
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### get(key)
|
|
40
|
+
|
|
41
|
+
获取`cookie`中的某个字段值
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
Util.cookie.get('key');// value
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### remove(key, attributes)
|
|
48
|
+
|
|
49
|
+
移除`cookie`的某个字段值。
|
|
50
|
+
|
|
51
|
+
**注意**
|
|
52
|
+
|
|
53
|
+
若删除的`cookie`字段的属性不是默认属性,必须传递与设置该`cookie`字段时的完全相同的路径`path`和域`domain`属性,否则会删除失败。
|
|
54
|
+
|
|
55
|
+
```js
|
|
56
|
+
Util.cookie.remove('key'); // 使用的默认path和domain
|
|
57
|
+
|
|
58
|
+
Util.cookie.remove('key', { path: '../' }); // 设置了自定义的path
|
|
59
|
+
```
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Util.sm
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
需要使用国密 `sm` 加密的地方
|
|
6
|
+
|
|
7
|
+
### sm2.encrypt
|
|
8
|
+
|
|
9
|
+
对字符串进行sm2加密
|
|
10
|
+
|
|
11
|
+
**平台差异**
|
|
12
|
+
|
|
13
|
+
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
14
|
+
| :---: | :--------: | :--------: | :----------: |
|
|
15
|
+
| √ | √ | √ | √ |
|
|
16
|
+
|
|
17
|
+
__参数说明__
|
|
18
|
+
|
|
19
|
+
| 参数 | 参数类型 | 说明 |
|
|
20
|
+
| :------------- |:-------------:|:-------------|
|
|
21
|
+
| str | String | 需要加密的字符串 |
|
|
22
|
+
| pubkey | String | 公钥 |
|
|
23
|
+
| cipherMode | Number | 加密模式,`0`: C1C2C3, `1`: C1C3C2 |
|
|
24
|
+
|
|
25
|
+
**示例**
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
Util.sm2.encrypt(str, pubkey, 0);
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
#### 默认公钥
|
|
34
|
+
|
|
35
|
+
公司F9框架sm2加密分为`新模式`和`老模式`,对前端开发角度仅公钥不同。
|
|
36
|
+
|
|
37
|
+
sm2属于非对称加密算法,即由一个私钥和一个公钥构成的密钥对,普遍通过公钥加密,私钥解密。其中,公钥可以公开,私钥必须保密。
|
|
38
|
+
|
|
39
|
+
__老模式公钥__:
|
|
40
|
+
```
|
|
41
|
+
0452712EBA7FE2C9615F6DE59C6EF697F085BD52B25952597DD35014BB8F201987F8D818EFAE710DBEC08FE2E4C7E3E0113EEBAB4B0E8B044E1A3CC8B149D76BE7
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
__新模式公钥__:
|
|
45
|
+
```
|
|
46
|
+
04A2C5ABFE372540F0CFAB644776B1CEC911F21739042D9FDF8326324357790DBA3E3900338DE4FFDBA48204A176D444687904422180E0B1E3AF316C4CA09AA704
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### sm2.decrypt
|
|
51
|
+
|
|
52
|
+
对字符串进行sm2解密
|
|
53
|
+
|
|
54
|
+
**平台差异**
|
|
55
|
+
|
|
56
|
+
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
57
|
+
| :---: | :--------: | :--------: | :----------: |
|
|
58
|
+
| √ | √ | √ | √ |
|
|
59
|
+
|
|
60
|
+
__参数说明__
|
|
61
|
+
|
|
62
|
+
| 参数 | 参数类型 | 说明 |
|
|
63
|
+
| :------------- |:-------------:|:-------------|
|
|
64
|
+
| str | String | 需要解密的字符串 |
|
|
65
|
+
| prikey | String | 私钥 |
|
|
66
|
+
| cipherMode | Number | 解密模式,`0`: C1C2C3, `1`: C1C3C2 |
|
|
67
|
+
|
|
68
|
+
**示例**
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
Util.sm2.decrypt(str, prikey, 0);
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
### sm3.encrypt
|
|
76
|
+
|
|
77
|
+
对字符串进行sm3加密
|
|
78
|
+
|
|
79
|
+
**平台差异**
|
|
80
|
+
|
|
81
|
+
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
82
|
+
| :---: | :--------: | :--------: | :----------: |
|
|
83
|
+
| √ | √ | √ | √ |
|
|
84
|
+
|
|
85
|
+
__参数说明__
|
|
86
|
+
|
|
87
|
+
| 参数 | 参数类型 | 说明 |
|
|
88
|
+
| :------------- |:-------------:|:-------------|
|
|
89
|
+
| str | String | 需要加密的字符串 |
|
|
90
|
+
|
|
91
|
+
**示例**
|
|
92
|
+
|
|
93
|
+
```js
|
|
94
|
+
Util.sm3.encrypt(str);
|
|
95
|
+
```
|
package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# 扩展-基础API
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
使用到涉及小程序扩展的API场景。
|
|
6
|
+
|
|
7
|
+
### Util.getLaunchOptionsSync
|
|
8
|
+
|
|
9
|
+
获取本次启动时的参数。返回值与App.onLaunch的回调参数一致
|
|
10
|
+
|
|
11
|
+
**平台差异**
|
|
12
|
+
|
|
13
|
+
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
14
|
+
| :---: | :--------: | :--------: | :----------: |
|
|
15
|
+
| x | x | √ | √ |
|
|
16
|
+
|
|
17
|
+
__返回参数说明__
|
|
18
|
+
|
|
19
|
+
|参数名|类型|说明|平台差异说明|
|
|
20
|
+
|:-|:-|:-|:-|
|
|
21
|
+
|path|String|启动的路径(代码包路径)||
|
|
22
|
+
|scene|Number|启动时的场景值,具体值含义请查看各平台文档说明。钉钉小程序在 IDE 恒为0000,真机不支持。||
|
|
23
|
+
|query|Object|启动时的 query 参数||
|
|
24
|
+
|referrerInfo|Object|来源信息。如果没有则返回 `{}`||
|
|
25
|
+
|forwardMaterials|Array.\<Object\>|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|`微信小程序`|
|
|
26
|
+
|chatType|number|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|`微信小程序`|
|
|
27
|
+
|apiCategory|string|API 类别|`微信小程序(2.20.0)`|
|
|
28
|
+
|
|
29
|
+
**Object referrerInfo**
|
|
30
|
+
|
|
31
|
+
|属性|类型|说明|平台差异说明|
|
|
32
|
+
|:-|:-|:-|:-|
|
|
33
|
+
|appId|String|来源小程序 appId ||
|
|
34
|
+
|extraData|Object|来源小程序传过来的数据||
|
|
35
|
+
|
|
36
|
+
**示例**
|
|
37
|
+
|
|
38
|
+
```js
|
|
39
|
+
Util.getLaunchOptionsSync();
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Util.getEnterOptionsSync
|
|
44
|
+
|
|
45
|
+
获取本次启动时的参数。返回值与App.onLaunch的回调参数一致
|
|
46
|
+
|
|
47
|
+
**平台差异**
|
|
48
|
+
|
|
49
|
+
| H5 | 新点小程序 | 微信小程序 | 支付宝小程序 |
|
|
50
|
+
| :---: | :--------: | :--------: | :----------: |
|
|
51
|
+
| x | x | √ | √ |
|
|
52
|
+
|
|
53
|
+
__返回参数说明__
|
|
54
|
+
|
|
55
|
+
|参数名|类型|说明|平台差异说明|
|
|
56
|
+
|:-|:-|:-|:-|
|
|
57
|
+
|path|String|启动的路径(代码包路径)||
|
|
58
|
+
|scene|Number|启动时的场景值,具体值含义请查看各平台文档说明||
|
|
59
|
+
|query|Object|启动时的 query 参数||
|
|
60
|
+
|referrerInfo|Object|来源信息。如果没有则返回 `{}`||
|
|
61
|
+
|forwardMaterials|Array.\<Object\>|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|`微信小程序`|
|
|
62
|
+
|chatType|number|打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数|`微信小程序`|
|
|
63
|
+
|apiCategory|string|API 类别|`微信小程序(2.20.0)`|
|
|
64
|
+
|
|
65
|
+
**Object referrerInfo**
|
|
66
|
+
|
|
67
|
+
|属性|类型|说明|平台差异说明|
|
|
68
|
+
|:-|:-|:-|:-|
|
|
69
|
+
|appId|String|来源小程序 appId ||
|
|
70
|
+
|extraData|Object|来源小程序传过来的数据。||
|
|
71
|
+
|
|
72
|
+
**示例**
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
Util.getEnterOptionsSync();
|
|
76
|
+
```
|
package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# 扩展-网络API
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
使用到涉及`webSocket`网络API场景。
|
|
6
|
+
|
|
7
|
+
### Util.connectSocket(OBJECT)
|
|
8
|
+
|
|
9
|
+
创建一个 [WebSocket](https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket) 连接。
|
|
10
|
+
|
|
11
|
+
> 在各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
**OBJECT 参数说明**
|
|
15
|
+
|
|
16
|
+
|参数名|类型|必填|说明|平台差异说明|
|
|
17
|
+
|:-|:-|:-|:-|:-|
|
|
18
|
+
|url|String|是|服务器接口地址|必须是 `wss://` 协议|
|
|
19
|
+
|header|Object|否|HTTP Header , header 中不能设置 Referer|平台小程序|
|
|
20
|
+
|method|String|否|默认是GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT|仅微信小程序支持|
|
|
21
|
+
|protocols|Array<String>|否|子协议数组|H5、微信小程序|
|
|
22
|
+
|success|Function|否|接口调用成功的回调函数||
|
|
23
|
+
|fail|Function|否|接口调用失败的回调函数||
|
|
24
|
+
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| |
|
|
25
|
+
|
|
26
|
+
**示例代码**
|
|
27
|
+
|
|
28
|
+
```javascript
|
|
29
|
+
Util.connectSocket({
|
|
30
|
+
url: 'wss://www.example.com/socket',
|
|
31
|
+
data() {
|
|
32
|
+
return {
|
|
33
|
+
x: '',
|
|
34
|
+
y: ''
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
header: {
|
|
38
|
+
'content-type': 'application/json'
|
|
39
|
+
},
|
|
40
|
+
protocols: ['protocol1'],
|
|
41
|
+
method: 'GET'
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**返回值**
|
|
46
|
+
|
|
47
|
+
如果希望返回一个 [socketTask](/api/request/socket-task) 对象,需要至少传入 success / fail / complete 参数中的一个。例如:
|
|
48
|
+
|
|
49
|
+
```javascript
|
|
50
|
+
var socketTask = Util.connectSocket({
|
|
51
|
+
url: 'wss://www.example.com/socket', //仅为示例,并非真实接口地址。
|
|
52
|
+
complete: ()=> {}
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
如果没有传入 success / fail / complete 参数,则会返回封装后的 Promise 对象。
|
|
57
|
+
|
|
58
|
+
**注意事项**
|
|
59
|
+
|
|
60
|
+
- 网络请求的 ``超时时间`` 可以统一在 ``manifest.json`` 中配置。
|
|
61
|
+
- 微信小程序平台1.7.0 及以上版本,最多可以同时存在5个WebSocket 连接。老版本只支持一个socket连接
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### Util.onSocketOpen(CALLBACK)
|
|
66
|
+
|
|
67
|
+
监听WebSocket连接打开事件。
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
**CALLBACK 返回参数**
|
|
71
|
+
|
|
72
|
+
|属性|类型|说明|
|
|
73
|
+
|:-|:-|:-|
|
|
74
|
+
|header|Object|连接成功的 HTTP 响应 Header|
|
|
75
|
+
|
|
76
|
+
**示例代码:**
|
|
77
|
+
|
|
78
|
+
```javascript
|
|
79
|
+
Util.connectSocket({
|
|
80
|
+
url: 'wss://www.example.com/socket'
|
|
81
|
+
});
|
|
82
|
+
Util.onSocketOpen(function (res) {
|
|
83
|
+
console.log('WebSocket连接已打开!');
|
|
84
|
+
});
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Util.onSocketError(CALLBACK)
|
|
88
|
+
监听WebSocket错误。
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
**示例代码**
|
|
92
|
+
|
|
93
|
+
```javascript
|
|
94
|
+
Util.connectSocket({
|
|
95
|
+
url: 'wss://www.example.com/socket'
|
|
96
|
+
});
|
|
97
|
+
Util.onSocketOpen(function (res) {
|
|
98
|
+
console.log('WebSocket连接已打开!');
|
|
99
|
+
});
|
|
100
|
+
Util.onSocketError(function (res) {
|
|
101
|
+
console.log('WebSocket连接打开失败,请检查!');
|
|
102
|
+
});
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Util.sendSocketMessage(OBJECT)
|
|
106
|
+
通过 WebSocket 连接发送数据,需要先 [Util.connectSocket](#connectsocket),并在 [Util.onSocketOpen](#onsocketopen) 回调之后才能发送。
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
**OBJECT 参数说明:**
|
|
110
|
+
|
|
111
|
+
|参数名|类型|必填|说明|
|
|
112
|
+
|:-|:-|:-|:-|
|
|
113
|
+
|data|String/ArrayBuffer|是|需要发送的内容|
|
|
114
|
+
|success|Function|否|接口调用成功的回调函数|
|
|
115
|
+
|fail|Function|否|接口调用失败的回调函数|
|
|
116
|
+
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
|
|
117
|
+
|
|
118
|
+
**示例代码**
|
|
119
|
+
|
|
120
|
+
```javascript
|
|
121
|
+
var socketOpen = false;
|
|
122
|
+
var socketMsgQueue = [];
|
|
123
|
+
|
|
124
|
+
Util.connectSocket({
|
|
125
|
+
url: 'wss://www.example.com/socket'
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
Util.onSocketOpen(function (res) {
|
|
129
|
+
socketOpen = true;
|
|
130
|
+
for (var i = 0; i < socketMsgQueue.length; i++) {
|
|
131
|
+
sendSocketMessage(socketMsgQueue[i]);
|
|
132
|
+
}
|
|
133
|
+
socketMsgQueue = [];
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
function sendSocketMessage(msg) {
|
|
137
|
+
if (socketOpen) {
|
|
138
|
+
Util.sendSocketMessage({
|
|
139
|
+
data: msg
|
|
140
|
+
});
|
|
141
|
+
} else {
|
|
142
|
+
socketMsgQueue.push(msg);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Util.onSocketMessage(CALLBACK)
|
|
148
|
+
|
|
149
|
+
监听WebSocket接受到服务器的消息事件。
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
**CALLBACK 返回参数**
|
|
153
|
+
|
|
154
|
+
|参数|类型|说明|
|
|
155
|
+
|:-|:-|:-|
|
|
156
|
+
|data|String/ArrayBuffer|服务器返回的消息|
|
|
157
|
+
|
|
158
|
+
**示例代码:**
|
|
159
|
+
|
|
160
|
+
```javascript
|
|
161
|
+
Util.connectSocket({
|
|
162
|
+
url: 'wss://www.example.com/socket'
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
Util.onSocketMessage(function (res) {
|
|
166
|
+
console.log('收到服务器内容:' + res.data);
|
|
167
|
+
});
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Util.closeSocket(OBJECT)
|
|
171
|
+
关闭 WebSocket 连接。
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
**OBJECT 参数说明**
|
|
175
|
+
|
|
176
|
+
|参数名|类型|必填|说明|
|
|
177
|
+
|:-|:-|:-|:-|
|
|
178
|
+
|code|Number|否|一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭)|
|
|
179
|
+
|reason|String|否|一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的UTF-8 文本(不是字符)|
|
|
180
|
+
|success|Function|否|接口调用成功的回调函数|
|
|
181
|
+
|fail|Function|否|接口调用失败的回调函数|
|
|
182
|
+
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
|
|
183
|
+
|
|
184
|
+
### Util.onSocketClose(CALLBACK)
|
|
185
|
+
监听WebSocket关闭。
|
|
186
|
+
|
|
187
|
+
```javascript
|
|
188
|
+
Util.connectSocket({
|
|
189
|
+
url: 'wss://www.example.com/socket'
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
// 注意这里有时序问题,
|
|
193
|
+
// 如果 Util.connectSocket 还没回调 Util.onSocketOpen,而先调用 Util.closeSocket,那么就做不到关闭 WebSocket 的目的。
|
|
194
|
+
// 必须在 WebSocket 打开期间调用 Util.closeSocket 才能关闭。
|
|
195
|
+
Util.onSocketOpen(function () {
|
|
196
|
+
Util.closeSocket();
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
Util.onSocketClose(function (res) {
|
|
200
|
+
console.log('WebSocket 已关闭!');
|
|
201
|
+
});
|
|
202
|
+
```
|