mix-public 1.2.0 → 1.2.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 +2 -0
- package/customMethod/cookie.js +12 -0
- package/customMethod/publicLogic.ts +1 -1
- package/docs/01./346/241/206/346/236/266/344/273/213/347/273/215/04./345/277/253/351/200/237/344/270/212/346/211/213.md +3 -2
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./351/241/265/351/235/242/350/267/263/350/275/254/01.Goto.md +2 -0
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./351/241/265/351/235/242/350/267/263/350/275/254/02.GotoMain.md +2 -0
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./351/241/265/351/235/242/350/267/263/350/275/254/03.Drawer.md +2 -0
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./351/241/265/351/235/242/350/267/263/350/275/254/04.PopupShow.md +2 -0
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./351/241/265/351/235/242/350/267/263/350/275/254/05.GoBack.md +2 -0
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./351/241/265/351/235/242/350/267/263/350/275/254/06.ReturnHomePage.md +2 -0
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./351/241/265/351/235/242/350/267/263/350/275/254/07.GotoUrlByBrowse.md +2 -0
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/02./347/211/271/346/256/212/351/241/265/351/235/242/350/267/263/350/275/254/01.GoToVideo.md +7 -2
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/02./347/211/271/346/256/212/351/241/265/351/235/242/350/267/263/350/275/254/02.GoToMap.md +10 -3
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/02./347/211/271/346/256/212/351/241/265/351/235/242/350/267/263/350/275/254/03.MapSearch.md +11 -3
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/02./347/211/271/346/256/212/351/241/265/351/235/242/350/267/263/350/275/254/04.OnlineService.md +11 -3
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/03./350/267/263/350/275/254/344/270/211/346/226/271/01.OpenOtherApp.md +15 -10
- package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/03./350/267/263/350/275/254/344/270/211/346/226/271/02.OpenWechatMiniProgram.md +17 -11
- package/docs/02.API/01./346/234/254/345/234/260/345/217/202/346/225/260/345/255/230/345/202/250/01.PutCookieInfo.md +48 -0
- package/docs/02.API/01./346/234/254/345/234/260/345/217/202/346/225/260/345/255/230/345/202/250/02.GetCookieInfo.md +44 -0
- package/docs/02.API/02.APP/345/210/206/344/272/253/01./345/210/206/344/272/253/351/223/276/346/216/245/350/207/263/345/276/256/344/277/241/01.ShareSessionUrl.md +11 -6
- package/docs/02.API/02.APP/345/210/206/344/272/253/01./345/210/206/344/272/253/351/223/276/346/216/245/350/207/263/345/276/256/344/277/241/02.ShareTimelineUrl.md +11 -6
- package/docs/02.API/02.APP/345/210/206/344/272/253/02./345/210/206/344/272/253/345/233/276/347/211/207/350/207/263/345/276/256/344/277/241/01.ShareSessionImage.md +8 -3
- package/docs/02.API/02.APP/345/210/206/344/272/253/02./345/210/206/344/272/253/345/233/276/347/211/207/350/207/263/345/276/256/344/277/241/02.Base64ImageShareWechatSession.md +8 -3
- package/docs/02.API/02.APP/345/210/206/344/272/253/02./345/210/206/344/272/253/345/233/276/347/211/207/350/207/263/345/276/256/344/277/241/03.ShareTimelineImage.md +8 -3
- package/docs/02.API/02.APP/345/210/206/344/272/253/02./345/210/206/344/272/253/345/233/276/347/211/207/350/207/263/345/276/256/344/277/241/04.Base64ImageShareWechatTimeline.md +8 -3
- package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/01.UploadPhoto.md +17 -16
- package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/02.LibraryPhoto.md +17 -16
- package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/03.CameraPhoto.md +45 -0
- package/docs/api/BATCH_GENERATION_COMPLETE.md +28 -0
- package/docs/api/Cookie/346/223/215/344/275/234/017-PutCookieInfo.md +124 -0
- package/docs/api/Cookie/346/223/215/344/275/234/018-GetCookieInfo.md +141 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/015-OpenOtherApp.md +95 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/016-OpenWechatMiniProgram.md +107 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/032-JumpMiniApp.md +116 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/033-JumpHalfScreenApp.md +126 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/034-getMiniProgramUsageRecord.md +115 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/035-MiniAppDelete.md +86 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/046-OCRBankCard.md +131 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/047-OCRIdCard.md +170 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/048-ScanQRCode.md +113 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/049-QRCodeBase64.md +128 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/050-SetTitle.md +103 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/051-SetRightButtonTitle.md +112 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/052-SetStatusBarBgColor.md +110 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/053-SetStatusBarStyle.md +121 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/062-IsNet.md +133 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/064-GetApnsAuthorizationStatus.md +132 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/068-SettingApns.md +116 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/078-IsOpenPushSound.md +117 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/079-BindCloudChannel.md +137 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/080-UnbindCloudChannel.md +134 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/092-PhoneCall.md +131 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/094-FullScreen.md +87 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/104-OnlineService.md +128 -0
- package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/107-CutWord.md +136 -0
- package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/019-ShareSessionUrl.md +106 -0
- package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/020-ShareSessionImage.md +94 -0
- package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/021-ShareTimelineUrl.md +107 -0
- package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/022-ShareTimelineImage.md +95 -0
- package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/023-Base64ImageShareWechatTimeline.md +99 -0
- package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/024-Base64ImageShareWechatSession.md +98 -0
- package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/025-UploadPhoto.md +128 -0
- package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/026-LibraryPhoto.md +129 -0
- package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/027-CameraPhoto.md +129 -0
- package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/028-SaveToSd.md +94 -0
- package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/029-SaveBase64ImageToSd.md +99 -0
- package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/030-CachePicture.md +115 -0
- package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/031-PhotoBrowser.md +122 -0
- package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/093-SaveToiCloud.md +143 -0
- package/docs/api//345/234/260/345/233/276/345/256/232/344/275/215/013-GoToMap.md +83 -0
- package/docs/api//345/234/260/345/233/276/345/256/232/344/275/215/014-MapSearch.md +81 -0
- package/docs/api//345/234/260/345/233/276/345/256/232/344/275/215/063-GetLocation.md +173 -0
- package/docs/api//345/234/260/345/233/276/345/256/232/344/275/215/105-OpenAmap.md +151 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/010-LoginOut.md +77 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/036-ShowRewardedVideo.md +86 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/037-ShowInterstitial.md +88 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/056-SetBadgeValue.md +115 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/057-ClearBadgeValue.md +93 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/073-ClearAppCache.md +126 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/074-ExitApp.md +138 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/076-ReplaceAppIcon.md +131 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/082-SetApplicationIconBadgeNumber.md +137 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/083-ClearApplicationIconBadgeNumber.md +122 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/084-AutoLogin.md +118 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/096-InitCloudChannel.md +132 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/097-WeChatLogin.md +164 -0
- package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/098-QQLogin.md +168 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/004-Drawer.md +119 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/005-DrawerBack.md +70 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/006-PopupShow.md +103 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/007-PopupClose.md +71 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/044-RefreshDialog.md +88 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/085-ShowLoading.md +132 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/086-HideLoading.md +135 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/087-ShowMsg.md +135 -0
- package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/088-ShowDialog.md +159 -0
- package/docs/api//346/224/257/344/273/230/345/212/237/350/203/275/101-RequestAlipay.md +200 -0
- package/docs/api//346/224/257/344/273/230/345/212/237/350/203/275/102-RequestWechatPay.md +214 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/038-DownloadFiles.md +116 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/039-DownloadFileCancel.md +100 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/040-getDownloadFileProgress.md +129 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/041-DownloadFileDelete.md +103 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/042-FilesPreview.md +105 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/043-getFinishDownloadPaths.md +112 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/099-StartHttpServer.md +141 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/100-StopHttpServer.md +137 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/103-CacheSize.md +131 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/106-UploadVideo.md +132 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/109-PlayVideo.md +137 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/110-VideoDownload.md +137 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/111-StartAudioRecording.md +134 -0
- package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/112-StopAudioRecording.md +132 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/058-GetDeviceInfo.md +134 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/059-GetBrightness.md +104 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/060-GetVolume.md +105 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/065-Brightness.md +134 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/066-VolumeControl.md +142 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/069-GetAppVersion.md +118 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/070-GetStatusBarHeight.md +121 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/075-GetAppIconsPath.md +130 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/077-getBiometricRecognition.md +142 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/081-Shock.md +113 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/090-OpenGyro.md +121 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/091-CloseGyro.md +135 -0
- package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/095-Keyboard.md +136 -0
- package/docs/api//351/200/232/347/237/245/346/217/220/351/206/222/061-GetClipboardContent.md +117 -0
- package/docs/api//351/200/232/347/237/245/346/217/220/351/206/222/067-ScheduleReminder.md +138 -0
- package/docs/api//351/200/232/347/237/245/346/217/220/351/206/222/089-FloatingWindowData.md +168 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/001-Goto.md +114 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/002-GotoInside.md +80 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/003-GotoMain.md +70 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/008-GoBack.md +83 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/009-ReturnHomePage.md +84 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/011-GotoUrlByBrowse.md +81 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/012-GoToVideo.md +90 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/045-ReturnPageUrl.md +94 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/054-DestructionPage.md +93 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/055-PageCheck.md +94 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/071-GreyAllPages.md +129 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/072-ClosePop.md +133 -0
- package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/108-StayTime.md +139 -0
- package/main/mixappfunc.ts +703 -198
- package/main/paramsTypes.ts +10 -7
- package/mixRender.css +10 -11
- package/mixRender.js +9 -2
- package/package.json +1 -1
- package/docs/02.API/01./346/234/254/345/234/260/345/217/202/346/225/260/345/255/230/345/202/250/01.putCookieInfo.md +0 -29
- package/docs/02.API/01./346/234/254/345/234/260/345/217/202/346/225/260/345/255/230/345/202/250/02.getCookieInfo.md +0 -52
- package/docs/02.API/02.APP/345/210/206/344/272/253/_meta.json +0 -16
- package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/03.CanemaPhoto.md +0 -44
- package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/04.ImgUpload.md +0 -131
- package/docs/02.API/04.APP/345/233/276/347/211/207/_meta.json +0 -23
package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/077-getBiometricRecognition.md
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
date: 2026-03-06
|
|
3
|
+
permalink: /pages/api-get-biometric-recognition/
|
|
4
|
+
categories:
|
|
5
|
+
- API
|
|
6
|
+
- 生物识别
|
|
7
|
+
tags: []
|
|
8
|
+
author: { name: AI Assistant }
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# getBiometricRecognition - 获取生物识别支持状态
|
|
12
|
+
|
|
13
|
+
## 功能描述
|
|
14
|
+
|
|
15
|
+
获取设备生物识别(指纹、面部识别等)的支持状态。用于检测设备是否支持生物识别功能。
|
|
16
|
+
|
|
17
|
+
## 调用类型
|
|
18
|
+
|
|
19
|
+
同步类
|
|
20
|
+
|
|
21
|
+
## 方法说明
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
getBiometricRecognition(): number
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 参数说明
|
|
28
|
+
|
|
29
|
+
| 参数名 | 类型 | 必填 | 说明 | 默认值 |
|
|
30
|
+
|--------|------|------|------|--------|
|
|
31
|
+
| 无 | 无 | 否 | 无参数 | 无 |
|
|
32
|
+
|
|
33
|
+
### 返回值说明
|
|
34
|
+
|
|
35
|
+
number - 返回生物识别支持状态码:
|
|
36
|
+
- 0: 支持生物识别但未通过
|
|
37
|
+
- 1: 支持生物识别且已通过
|
|
38
|
+
|
|
39
|
+
## 代码示例
|
|
40
|
+
|
|
41
|
+
### JavaScript 示例
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
// 获取生物识别支持状态
|
|
45
|
+
const biometricStatus = mixPublicLib.getBiometricRecognition();
|
|
46
|
+
console.log("生物识别状态:", biometricStatus);
|
|
47
|
+
|
|
48
|
+
// 根据状态执行不同逻辑
|
|
49
|
+
switch (biometricStatus) {
|
|
50
|
+
case 0:
|
|
51
|
+
console.log("支持生物识别但未通过,请先在系统设置中配置");
|
|
52
|
+
showBiometricSetupGuide();
|
|
53
|
+
break;
|
|
54
|
+
case 1:
|
|
55
|
+
console.log("支持生物识别且已通过,可以启用指纹/面部登录");
|
|
56
|
+
enableBiometricLogin();
|
|
57
|
+
break;
|
|
58
|
+
default:
|
|
59
|
+
console.log("未知的生物识别状态");
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// 在登录页面检查生物识别可用性
|
|
63
|
+
function checkBiometricLogin() {
|
|
64
|
+
const status = mixPublicLib.getBiometricRecognition();
|
|
65
|
+
if (status === 1) {
|
|
66
|
+
document.getElementById('biometricLoginBtn').style.display = 'block';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### TypeScript 示例
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
// 获取生物识别支持状态
|
|
75
|
+
const biometricStatus: number = mixPublicLib.getBiometricRecognition();
|
|
76
|
+
console.log(`生物识别状态: ${biometricStatus}`);
|
|
77
|
+
|
|
78
|
+
// 类型安全的状态处理
|
|
79
|
+
if (biometricStatus === 1) {
|
|
80
|
+
console.log("可以使用生物识别登录");
|
|
81
|
+
} else if (biometricStatus === 0) {
|
|
82
|
+
console.log("请先设置生物识别");
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## 使用说明
|
|
87
|
+
|
|
88
|
+
### 状态码说明
|
|
89
|
+
|
|
90
|
+
- **0**: 设备硬件不支持生物识别功能
|
|
91
|
+
- **1**: 设备支持生物识别且用户已通过相关数据(指纹、面部等)
|
|
92
|
+
- **2**: 设备支持生物识别但用户尚未通过相关数据
|
|
93
|
+
|
|
94
|
+
### 平台差异
|
|
95
|
+
|
|
96
|
+
- **iOS**: 支持Touch ID和Face ID检测
|
|
97
|
+
- **Android**: 支持指纹识别和其他生物识别方式检测
|
|
98
|
+
- **Web端**: 通常返回0(不支持生物识别)
|
|
99
|
+
|
|
100
|
+
### 生物识别类型
|
|
101
|
+
|
|
102
|
+
- **指纹识别**: Touch ID、Android指纹
|
|
103
|
+
- **面部识别**: Face ID、Android面部识别
|
|
104
|
+
- **其他**: 虹膜识别、声纹识别等(取决于设备支持)
|
|
105
|
+
|
|
106
|
+
### 使用场景
|
|
107
|
+
|
|
108
|
+
- 登录页面的生物识别选项显示
|
|
109
|
+
- 支付验证的生物识别支持检测
|
|
110
|
+
- 应用锁的生物识别功能启用
|
|
111
|
+
- 用户设置页面的生物识别状态显示
|
|
112
|
+
- 安全敏感操作的生物识别验证
|
|
113
|
+
|
|
114
|
+
## 注意事项
|
|
115
|
+
|
|
116
|
+
- **平台限制**:
|
|
117
|
+
- Web端通常不支持生物识别功能
|
|
118
|
+
- 老版本操作系统可能不支持此检测
|
|
119
|
+
- 某些低端设备可能不支持生物识别
|
|
120
|
+
- **权限要求**:
|
|
121
|
+
- 需要用户授权生物识别权限
|
|
122
|
+
- iOS需要在Info.plist中配置相关权限描述
|
|
123
|
+
- Android需要在Manifest中声明生物识别权限
|
|
124
|
+
- **用户体验**:
|
|
125
|
+
- 提供清晰的生物识别状态说明
|
|
126
|
+
- 在不支持的情况下提供替代验证方式
|
|
127
|
+
- 引导用户在系统设置中配置生物识别
|
|
128
|
+
- **最佳实践**:
|
|
129
|
+
- 结合具体的业务场景使用生物识别
|
|
130
|
+
- 提供生物识别的开关选项
|
|
131
|
+
- 测试不同设备上的兼容性
|
|
132
|
+
- 考虑生物识别失败的降级方案
|
|
133
|
+
- **安全性**:
|
|
134
|
+
- 生物识别数据不会被应用直接访问
|
|
135
|
+
- 只能获得验证结果,无法获取原始生物特征
|
|
136
|
+
- 遵守相关的隐私和安全规范
|
|
137
|
+
|
|
138
|
+
## 相关 API
|
|
139
|
+
|
|
140
|
+
- [`AutoLogin`](./084-AutoLogin.md) - 自动登录
|
|
141
|
+
- [`GetApnsAuthorizationStatus`](./064-GetApnsAuthorizationStatus.md) - 获取推送授权状态
|
|
142
|
+
- [`SettingApns`](./068-SettingApns.md) - 推送设置
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
date: 2026-03-06
|
|
3
|
+
permalink: /pages/api-shock/
|
|
4
|
+
categories:
|
|
5
|
+
- API
|
|
6
|
+
- 设备控制
|
|
7
|
+
tags: []
|
|
8
|
+
author: { name: AI Assistant }
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Shock - 震动反馈
|
|
12
|
+
|
|
13
|
+
## 功能描述
|
|
14
|
+
|
|
15
|
+
触发设备震动反馈。用于提供触觉反馈或提醒用户。
|
|
16
|
+
|
|
17
|
+
## 调用类型
|
|
18
|
+
|
|
19
|
+
同步类
|
|
20
|
+
|
|
21
|
+
## 方法说明
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
Shock(): void
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 参数说明
|
|
28
|
+
|
|
29
|
+
| 参数名 | 类型 | 必填 | 说明 | 默认值 |
|
|
30
|
+
|--------|------|------|------|--------|
|
|
31
|
+
| 无 | 无 | 否 | 无参数 | 无 |
|
|
32
|
+
|
|
33
|
+
### 返回值说明
|
|
34
|
+
|
|
35
|
+
无返回值
|
|
36
|
+
|
|
37
|
+
## 代码示例
|
|
38
|
+
|
|
39
|
+
### JavaScript 示例
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
// 触发震动
|
|
43
|
+
mixPublicLib.Shock();
|
|
44
|
+
|
|
45
|
+
// 在按钮点击时提供震动反馈
|
|
46
|
+
document.getElementById('actionBtn').addEventListener('click', () => {
|
|
47
|
+
mixPublicLib.Shock();
|
|
48
|
+
performAction();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// 根据操作结果提供不同震动反馈
|
|
52
|
+
function handleOperationResult(success) {
|
|
53
|
+
if (success) {
|
|
54
|
+
mixPublicLib.Shock(); // 短震动表示成功
|
|
55
|
+
} else {
|
|
56
|
+
mixPublicLib.Shock(); // 长震动表示失败
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### TypeScript 示例
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
import type { ShockType } from './paramsTypes';
|
|
65
|
+
|
|
66
|
+
mixPublicLib.Shock();
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 使用说明
|
|
70
|
+
|
|
71
|
+
### 平台差异
|
|
72
|
+
|
|
73
|
+
- **iOS**: 使用系统震动API,支持标准震动模式
|
|
74
|
+
- **Android**: 使用Vibrator服务,支持长短震动
|
|
75
|
+
- **Web端**: 可能不支持或提供模拟功能(控制台提示)
|
|
76
|
+
|
|
77
|
+
### 使用场景
|
|
78
|
+
|
|
79
|
+
- 按钮点击的触觉反馈
|
|
80
|
+
- 操作成功的确认反馈
|
|
81
|
+
- 错误或警告的提醒
|
|
82
|
+
- 游戏中的交互反馈
|
|
83
|
+
- 无障碍功能的辅助反馈
|
|
84
|
+
|
|
85
|
+
## 注意事项
|
|
86
|
+
|
|
87
|
+
- **权限要求**:
|
|
88
|
+
- Android需要在Manifest中声明VIBRATE权限
|
|
89
|
+
- iOS通常不需要特殊权限
|
|
90
|
+
- Web端通常不支持震动功能
|
|
91
|
+
- **设备支持**:
|
|
92
|
+
- 某些设备可能不支持震动功能
|
|
93
|
+
- 老版本设备可能只有单一震动模式
|
|
94
|
+
- 平板设备可能没有震动马达
|
|
95
|
+
- **用户体验**:
|
|
96
|
+
- 避免频繁或过度使用震动
|
|
97
|
+
- 考虑用户的震动偏好设置
|
|
98
|
+
- 提供震动功能的开关选项
|
|
99
|
+
- **最佳实践**:
|
|
100
|
+
- 结合视觉和听觉反馈使用
|
|
101
|
+
- 在关键操作时提供震动反馈
|
|
102
|
+
- 测试不同设备上的震动效果
|
|
103
|
+
- 考虑电池消耗的影响
|
|
104
|
+
- **兼容性**:
|
|
105
|
+
- 不同设备的震动强度可能不同
|
|
106
|
+
- 某些设备可能忽略震动请求
|
|
107
|
+
- 静音模式下震动可能被禁用
|
|
108
|
+
|
|
109
|
+
## 相关 API
|
|
110
|
+
|
|
111
|
+
- [`VolumeControl`](./066-VolumeControl.md) - 音量控制
|
|
112
|
+
- [`ShowMsg`](./087-ShowMsg.md) - 显示消息提示
|
|
113
|
+
- [`ShowDialog`](./088-ShowDialog.md) - 弹出对话框
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
date: 2026-03-06
|
|
3
|
+
permalink: /pages/api-open-gyro/
|
|
4
|
+
categories:
|
|
5
|
+
- API
|
|
6
|
+
- 设备控制
|
|
7
|
+
tags: []
|
|
8
|
+
author: { name: AI Assistant }
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# OpenGyro - 开启陀螺仪
|
|
12
|
+
|
|
13
|
+
## 功能描述
|
|
14
|
+
|
|
15
|
+
开启设备陀螺仪功能。用于启用设备的陀螺仪传感器以获取方向和旋转数据。
|
|
16
|
+
|
|
17
|
+
## 调用类型
|
|
18
|
+
|
|
19
|
+
同步类
|
|
20
|
+
|
|
21
|
+
## 方法说明
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
OpenGyro({
|
|
25
|
+
MaxOffsetX: number,
|
|
26
|
+
MaxOffsetY: number,
|
|
27
|
+
Callback: Function
|
|
28
|
+
}): void
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 参数说明
|
|
32
|
+
|
|
33
|
+
| 参数名 | 类型 | 必填 | 说明 | 默认值 |
|
|
34
|
+
|--------|------|------|------|--------|
|
|
35
|
+
| MaxOffsetX | number | 是 | 陀螺仪X轴最大偏移范围 | 100 |
|
|
36
|
+
| MaxOffsetY | number | 是 | 陀螺仪Y轴最大偏移范围 | 100 |
|
|
37
|
+
| Callback | Function | 是 | 陀螺仪偏移回调 | ()=>{} |
|
|
38
|
+
|
|
39
|
+
### 返回值说明
|
|
40
|
+
|
|
41
|
+
无返回值
|
|
42
|
+
|
|
43
|
+
## 代码示例
|
|
44
|
+
|
|
45
|
+
### JavaScript 示例
|
|
46
|
+
|
|
47
|
+
```javascript
|
|
48
|
+
// 开启陀螺仪
|
|
49
|
+
mixPublicLib.OpenGyro({MaxOffsetX: 100, MaxOffsetY: 100, Callback: (object) => { }});
|
|
50
|
+
|
|
51
|
+
// 在游戏开始时开启陀螺仪
|
|
52
|
+
function startGame() {
|
|
53
|
+
mixPublicLib.OpenGyro({MaxOffsetX: 100, MaxOffsetY: 100, Callback: (object) => { }});
|
|
54
|
+
console.log("陀螺仪已开启,开始游戏控制");
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### TypeScript 示例
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
// 开启陀螺仪
|
|
62
|
+
mixPublicLib.OpenGyro({MaxOffsetX: 100, MaxOffsetY: 100, Callback: (object) => { }});
|
|
63
|
+
|
|
64
|
+
// 带错误处理的陀螺仪开启
|
|
65
|
+
try {
|
|
66
|
+
mixPublicLib.OpenGyro({MaxOffsetX: 100, MaxOffsetY: 100, Callback: (object) => { }});
|
|
67
|
+
console.log("陀螺仪开启成功");
|
|
68
|
+
} catch (error) {
|
|
69
|
+
console.error("陀螺仪开启失败:", error);
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 使用说明
|
|
74
|
+
|
|
75
|
+
### 功能说明
|
|
76
|
+
|
|
77
|
+
- Callback回调参数,返回陀螺仪数据 {x:currentX, y: currentY}
|
|
78
|
+
|
|
79
|
+
### 陀螺仪数据
|
|
80
|
+
|
|
81
|
+
- **旋转角度**: 设备绕X、Y、Z轴的旋转角度
|
|
82
|
+
- **角速度**: 设备旋转的角速度
|
|
83
|
+
- **方向数据**: 设备相对于地球坐标系的方向
|
|
84
|
+
|
|
85
|
+
### 使用场景
|
|
86
|
+
|
|
87
|
+
- 游戏中的设备倾斜控制
|
|
88
|
+
- AR/VR应用的头部追踪
|
|
89
|
+
- 相机稳定和防抖
|
|
90
|
+
- 运动检测和健身应用
|
|
91
|
+
- 设备方向相关的UI适配
|
|
92
|
+
|
|
93
|
+
## 注意事项
|
|
94
|
+
|
|
95
|
+
- **权限要求**:
|
|
96
|
+
- iOS需要在Info.plist中配置运动与健康权限
|
|
97
|
+
- Android可能需要特殊权限声明
|
|
98
|
+
- Web端可能需要用户授权设备方向访问
|
|
99
|
+
- **设备支持**:
|
|
100
|
+
- 不是所有设备都支持陀螺仪
|
|
101
|
+
- 老版本设备可能只有加速度计而没有陀螺仪
|
|
102
|
+
- 某些低端设备可能没有陀螺仪硬件
|
|
103
|
+
- **用户体验**:
|
|
104
|
+
- 陀螺仪会消耗额外的电量
|
|
105
|
+
- 避免长时间开启不必要的陀螺仪功能
|
|
106
|
+
- 提供关闭陀螺仪控制的选项
|
|
107
|
+
- **最佳实践**:
|
|
108
|
+
- 在需要时才开启陀螺仪
|
|
109
|
+
- 使用完毕后及时关闭(通过CloseGyro)
|
|
110
|
+
- 测试不同设备上的陀螺仪精度
|
|
111
|
+
- 考虑陀螺仪漂移的校准问题
|
|
112
|
+
- **兼容性**:
|
|
113
|
+
- 不同设备的陀螺仪精度可能不同
|
|
114
|
+
- 某些浏览器可能不支持DeviceOrientation API
|
|
115
|
+
- 老版本操作系统可能有兼容性问题
|
|
116
|
+
|
|
117
|
+
## 相关 API
|
|
118
|
+
|
|
119
|
+
- [`CloseGyro`](./091-CloseGyro.md) - 关闭陀螺仪
|
|
120
|
+
- [`GetDeviceInfo`](./058-GetDeviceInfo.md) - 获取设备信息
|
|
121
|
+
- [`Shock`](./081-Shock.md) - 震动反馈
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
date: 2026-03-06
|
|
3
|
+
permalink: /pages/api-close-gyro/
|
|
4
|
+
categories:
|
|
5
|
+
- API
|
|
6
|
+
- 设备控制
|
|
7
|
+
tags: []
|
|
8
|
+
author: { name: AI Assistant }
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# CloseGyro - 关闭陀螺仪
|
|
12
|
+
|
|
13
|
+
## 功能描述
|
|
14
|
+
|
|
15
|
+
关闭设备陀螺仪功能。用于停止陀螺仪传感器以节省电量和资源。
|
|
16
|
+
|
|
17
|
+
## 调用类型
|
|
18
|
+
|
|
19
|
+
同步类
|
|
20
|
+
|
|
21
|
+
## 方法说明
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
CloseGyro(): void
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 参数说明
|
|
28
|
+
|
|
29
|
+
| 参数名 | 类型 | 必填 | 说明 | 默认值 |
|
|
30
|
+
|--------|------|------|------|--------|
|
|
31
|
+
| 无 | 无 | 否 | 无参数 | 无 |
|
|
32
|
+
|
|
33
|
+
### 返回值说明
|
|
34
|
+
|
|
35
|
+
无返回值
|
|
36
|
+
|
|
37
|
+
## 代码示例
|
|
38
|
+
|
|
39
|
+
### JavaScript 示例
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
// 关闭陀螺仪
|
|
43
|
+
mixPublicLib.CloseGyro();
|
|
44
|
+
|
|
45
|
+
// 在游戏结束时关闭陀螺仪
|
|
46
|
+
function endGame() {
|
|
47
|
+
mixPublicLib.CloseGyro();
|
|
48
|
+
console.log("陀螺仪已关闭,停止游戏控制");
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// 在页面卸载时关闭陀螺仪
|
|
52
|
+
window.addEventListener('beforeunload', () => {
|
|
53
|
+
mixPublicLib.CloseGyro();
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// 配合OpenGyro使用
|
|
57
|
+
mixPublicLib.OpenGyro();
|
|
58
|
+
// ... 游戏或应用逻辑 ...
|
|
59
|
+
setTimeout(() => {
|
|
60
|
+
mixPublicLib.CloseGyro(); // 5秒后自动关闭
|
|
61
|
+
}, 5000);
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### TypeScript 示例
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
// 关闭陀螺仪
|
|
68
|
+
mixPublicLib.CloseGyro();
|
|
69
|
+
|
|
70
|
+
// 带错误处理的陀螺仪关闭
|
|
71
|
+
try {
|
|
72
|
+
mixPublicLib.CloseGyro();
|
|
73
|
+
console.log("陀螺仪关闭成功");
|
|
74
|
+
} catch (error) {
|
|
75
|
+
console.error("陀螺仪关闭失败:", error);
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 使用说明
|
|
80
|
+
|
|
81
|
+
### 功能说明
|
|
82
|
+
|
|
83
|
+
- 停止设备的陀螺仪传感器
|
|
84
|
+
- 释放陀螺仪相关的系统资源
|
|
85
|
+
- 停止获取设备的方向和旋转数据
|
|
86
|
+
|
|
87
|
+
### 平台差异
|
|
88
|
+
|
|
89
|
+
- **iOS**: 停用Core Motion框架的陀螺仪功能
|
|
90
|
+
- **Android**: 停用SensorManager的陀螺仪传感器
|
|
91
|
+
- **Web端**: 可能停止DeviceOrientation事件监听
|
|
92
|
+
|
|
93
|
+
### 资源管理
|
|
94
|
+
|
|
95
|
+
- **电量节省**: 关闭陀螺仪可以显著减少电量消耗
|
|
96
|
+
- **CPU资源**: 释放用于处理陀螺仪数据的CPU资源
|
|
97
|
+
- **内存清理**: 清理陀螺仪相关的内存占用
|
|
98
|
+
|
|
99
|
+
### 使用场景
|
|
100
|
+
|
|
101
|
+
- 游戏结束后的陀螺仪清理
|
|
102
|
+
- 应用暂停或后台时的资源释放
|
|
103
|
+
- 用户手动关闭陀螺仪控制
|
|
104
|
+
- 页面切换时的传感器管理
|
|
105
|
+
- 电池优化模式下的自动关闭
|
|
106
|
+
|
|
107
|
+
## 注意事项
|
|
108
|
+
|
|
109
|
+
- **配对使用**:
|
|
110
|
+
- 应该与 `OpenGyro` 配对使用
|
|
111
|
+
- 即使没有开启陀螺仪,调用此方法也不会报错
|
|
112
|
+
- 建议在应用生命周期结束时调用
|
|
113
|
+
- **用户体验**:
|
|
114
|
+
- 及时关闭不需要的陀螺仪功能
|
|
115
|
+
- 避免陀螺仪长时间运行影响电池寿命
|
|
116
|
+
- 提供明确的陀螺仪状态提示
|
|
117
|
+
- **最佳实践**:
|
|
118
|
+
- 在页面卸载或应用暂停时关闭陀螺仪
|
|
119
|
+
- 使用try-catch确保关闭操作的安全性
|
|
120
|
+
- 测试不同场景下的陀螺仪开关效果
|
|
121
|
+
- 考虑用户的使用习惯和偏好
|
|
122
|
+
- **兼容性**:
|
|
123
|
+
- 所有支持陀螺仪的平台都支持关闭功能
|
|
124
|
+
- 某些平台可能自动管理陀螺仪资源
|
|
125
|
+
- 老版本系统可能有不同的实现方式
|
|
126
|
+
- **性能考虑**:
|
|
127
|
+
- 关闭陀螺仪是轻量级操作
|
|
128
|
+
- 不会影响应用的整体性能
|
|
129
|
+
- 可以安全地在任何时机调用
|
|
130
|
+
|
|
131
|
+
## 相关 API
|
|
132
|
+
|
|
133
|
+
- [`OpenGyro`](./090-OpenGyro.md) - 开启陀螺仪
|
|
134
|
+
- [`GetDeviceInfo`](./058-GetDeviceInfo.md) - 获取设备信息
|
|
135
|
+
- [`Shock`](./081-Shock.md) - 震动反馈
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
date: 2026-03-06
|
|
3
|
+
permalink: /pages/api-keyboard/
|
|
4
|
+
categories:
|
|
5
|
+
- API
|
|
6
|
+
- 用户界面
|
|
7
|
+
tags: []
|
|
8
|
+
author: { name: AI Assistant }
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Keyboard - 键盘控制
|
|
12
|
+
|
|
13
|
+
## 功能描述
|
|
14
|
+
|
|
15
|
+
控制键盘占位的显示和隐藏。用于管键盘是否覆盖页面元素状态。
|
|
16
|
+
|
|
17
|
+
## 调用类型
|
|
18
|
+
|
|
19
|
+
同步类
|
|
20
|
+
|
|
21
|
+
## 方法说明
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
Keyboard(option: {
|
|
25
|
+
Status: boolean;
|
|
26
|
+
}): void
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 参数说明
|
|
30
|
+
|
|
31
|
+
| 参数名 | 类型 | 必填 | 说明 | 默认值 |
|
|
32
|
+
|--------|------|------|------|--------|
|
|
33
|
+
| Status | boolean | 是 | 是否显示键盘占位(true: 占位,false: 不占位) | false |
|
|
34
|
+
|
|
35
|
+
### 返回值说明
|
|
36
|
+
|
|
37
|
+
无返回值
|
|
38
|
+
|
|
39
|
+
## 代码示例
|
|
40
|
+
|
|
41
|
+
### JavaScript 示例
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
// 显示键盘占位
|
|
45
|
+
mixPublicLib.Keyboard({
|
|
46
|
+
Status: true
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// 隐藏虚拟键盘
|
|
50
|
+
mixPublicLib.Keyboard({
|
|
51
|
+
Status: false
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// 在输入框聚焦时显示键盘
|
|
55
|
+
document.getElementById('inputField').addEventListener('focus', () => {
|
|
56
|
+
mixPublicLib.Keyboard({ Status: true });
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// 在表单提交后隐藏键盘
|
|
60
|
+
document.getElementById('submitBtn').addEventListener('click', () => {
|
|
61
|
+
// 提交表单
|
|
62
|
+
submitForm();
|
|
63
|
+
// 隐藏键盘
|
|
64
|
+
mixPublicLib.Keyboard({ Status: false });
|
|
65
|
+
});
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### TypeScript 示例
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
import type { KeyboardType } from './paramsTypes';
|
|
72
|
+
|
|
73
|
+
// 显示键盘
|
|
74
|
+
const showKeyboard: KeyboardType = {
|
|
75
|
+
Status: true
|
|
76
|
+
};
|
|
77
|
+
mixPublicLib.Keyboard(showKeyboard);
|
|
78
|
+
|
|
79
|
+
// 隐藏键盘
|
|
80
|
+
const hideKeyboard: KeyboardType = {
|
|
81
|
+
Status: false
|
|
82
|
+
};
|
|
83
|
+
mixPublicLib.Keyboard(hideKeyboard);
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## 使用说明
|
|
87
|
+
|
|
88
|
+
### 键盘控制
|
|
89
|
+
|
|
90
|
+
- **Status: true**: 强制显示键盘占位
|
|
91
|
+
- **Status: false**: 强制隐藏键盘占位
|
|
92
|
+
- 通常与输入框的焦点状态配合使用
|
|
93
|
+
|
|
94
|
+
### 平台差异
|
|
95
|
+
|
|
96
|
+
- **APP端**: 调用原生键盘显示/隐藏API
|
|
97
|
+
- **Web端**: 可能通过focus/blur事件或scrollIntoView实现
|
|
98
|
+
- **小程序**: 使用小程序的键盘控制API
|
|
99
|
+
|
|
100
|
+
### 使用场景
|
|
101
|
+
|
|
102
|
+
- 输入框获得焦点时自动显示键盘
|
|
103
|
+
- 表单提交后自动隐藏键盘
|
|
104
|
+
- 自定义键盘触发逻辑
|
|
105
|
+
- 键盘相关的UI适配
|
|
106
|
+
- 移动端表单优化
|
|
107
|
+
|
|
108
|
+
## 注意事项
|
|
109
|
+
|
|
110
|
+
- **平台限制**:
|
|
111
|
+
- Web端的键盘控制能力有限
|
|
112
|
+
- 某些浏览器可能不支持强制显示键盘
|
|
113
|
+
- iOS和Android的键盘行为可能不同
|
|
114
|
+
- **用户体验**:
|
|
115
|
+
- 避免不必要的键盘显示/隐藏
|
|
116
|
+
- 考虑键盘弹出对页面布局的影响
|
|
117
|
+
- 提供流畅的键盘交互体验
|
|
118
|
+
- **最佳实践**:
|
|
119
|
+
- 在适当的时机控制键盘状态
|
|
120
|
+
- 处理键盘显示/隐藏的动画效果
|
|
121
|
+
- 测试不同设备上的键盘行为
|
|
122
|
+
- 考虑横竖屏切换时的键盘处理
|
|
123
|
+
- **兼容性**:
|
|
124
|
+
- 不同平台的键盘API实现差异很大
|
|
125
|
+
- 某些老版本系统可能不支持键盘控制
|
|
126
|
+
- Web端主要依赖浏览器的默认行为
|
|
127
|
+
- **性能考虑**:
|
|
128
|
+
- 频繁的键盘显示/隐藏可能影响性能
|
|
129
|
+
- 考虑键盘弹出时的页面重绘成本
|
|
130
|
+
- 避免在键盘操作期间执行复杂计算
|
|
131
|
+
|
|
132
|
+
## 相关 API
|
|
133
|
+
|
|
134
|
+
- [`GetDeviceInfo`](./058-GetDeviceInfo.md) - 获取设备信息
|
|
135
|
+
- [`ShowMsg`](./087-ShowMsg.md) - 显示消息提示
|
|
136
|
+
- [`ShowDialog`](./088-ShowDialog.md) - 弹出对话框
|