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.
Files changed (152) hide show
  1. package/README.md +2 -0
  2. package/customMethod/cookie.js +12 -0
  3. package/customMethod/publicLogic.ts +1 -1
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. package/docs/api/BATCH_GENERATION_COMPLETE.md +28 -0
  30. package/docs/api/Cookie/346/223/215/344/275/234/017-PutCookieInfo.md +124 -0
  31. package/docs/api/Cookie/346/223/215/344/275/234/018-GetCookieInfo.md +141 -0
  32. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/015-OpenOtherApp.md +95 -0
  33. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/016-OpenWechatMiniProgram.md +107 -0
  34. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/032-JumpMiniApp.md +116 -0
  35. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/033-JumpHalfScreenApp.md +126 -0
  36. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/034-getMiniProgramUsageRecord.md +115 -0
  37. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/035-MiniAppDelete.md +86 -0
  38. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/046-OCRBankCard.md +131 -0
  39. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/047-OCRIdCard.md +170 -0
  40. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/048-ScanQRCode.md +113 -0
  41. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/049-QRCodeBase64.md +128 -0
  42. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/050-SetTitle.md +103 -0
  43. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/051-SetRightButtonTitle.md +112 -0
  44. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/052-SetStatusBarBgColor.md +110 -0
  45. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/053-SetStatusBarStyle.md +121 -0
  46. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/062-IsNet.md +133 -0
  47. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/064-GetApnsAuthorizationStatus.md +132 -0
  48. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/068-SettingApns.md +116 -0
  49. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/078-IsOpenPushSound.md +117 -0
  50. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/079-BindCloudChannel.md +137 -0
  51. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/080-UnbindCloudChannel.md +134 -0
  52. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/092-PhoneCall.md +131 -0
  53. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/094-FullScreen.md +87 -0
  54. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/104-OnlineService.md +128 -0
  55. package/docs/api//345/205/266/344/273/226/345/212/237/350/203/275/107-CutWord.md +136 -0
  56. package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/019-ShareSessionUrl.md +106 -0
  57. package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/020-ShareSessionImage.md +94 -0
  58. package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/021-ShareTimelineUrl.md +107 -0
  59. package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/022-ShareTimelineImage.md +95 -0
  60. package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/023-Base64ImageShareWechatTimeline.md +99 -0
  61. package/docs/api//345/210/206/344/272/253/345/212/237/350/203/275/024-Base64ImageShareWechatSession.md +98 -0
  62. package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/025-UploadPhoto.md +128 -0
  63. package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/026-LibraryPhoto.md +129 -0
  64. package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/027-CameraPhoto.md +129 -0
  65. package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/028-SaveToSd.md +94 -0
  66. package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/029-SaveBase64ImageToSd.md +99 -0
  67. package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/030-CachePicture.md +115 -0
  68. package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/031-PhotoBrowser.md +122 -0
  69. package/docs/api//345/233/276/347/211/207/345/244/204/347/220/206/093-SaveToiCloud.md +143 -0
  70. package/docs/api//345/234/260/345/233/276/345/256/232/344/275/215/013-GoToMap.md +83 -0
  71. package/docs/api//345/234/260/345/233/276/345/256/232/344/275/215/014-MapSearch.md +81 -0
  72. package/docs/api//345/234/260/345/233/276/345/256/232/344/275/215/063-GetLocation.md +173 -0
  73. package/docs/api//345/234/260/345/233/276/345/256/232/344/275/215/105-OpenAmap.md +151 -0
  74. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/010-LoginOut.md +77 -0
  75. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/036-ShowRewardedVideo.md +86 -0
  76. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/037-ShowInterstitial.md +88 -0
  77. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/056-SetBadgeValue.md +115 -0
  78. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/057-ClearBadgeValue.md +93 -0
  79. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/073-ClearAppCache.md +126 -0
  80. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/074-ExitApp.md +138 -0
  81. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/076-ReplaceAppIcon.md +131 -0
  82. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/082-SetApplicationIconBadgeNumber.md +137 -0
  83. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/083-ClearApplicationIconBadgeNumber.md +122 -0
  84. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/084-AutoLogin.md +118 -0
  85. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/096-InitCloudChannel.md +132 -0
  86. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/097-WeChatLogin.md +164 -0
  87. package/docs/api//345/272/224/347/224/250/347/256/241/347/220/206/098-QQLogin.md +168 -0
  88. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/004-Drawer.md +119 -0
  89. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/005-DrawerBack.md +70 -0
  90. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/006-PopupShow.md +103 -0
  91. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/007-PopupClose.md +71 -0
  92. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/044-RefreshDialog.md +88 -0
  93. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/085-ShowLoading.md +132 -0
  94. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/086-HideLoading.md +135 -0
  95. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/087-ShowMsg.md +135 -0
  96. package/docs/api//345/274/271/347/252/227/346/212/275/345/261/211/088-ShowDialog.md +159 -0
  97. package/docs/api//346/224/257/344/273/230/345/212/237/350/203/275/101-RequestAlipay.md +200 -0
  98. package/docs/api//346/224/257/344/273/230/345/212/237/350/203/275/102-RequestWechatPay.md +214 -0
  99. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/038-DownloadFiles.md +116 -0
  100. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/039-DownloadFileCancel.md +100 -0
  101. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/040-getDownloadFileProgress.md +129 -0
  102. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/041-DownloadFileDelete.md +103 -0
  103. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/042-FilesPreview.md +105 -0
  104. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/043-getFinishDownloadPaths.md +112 -0
  105. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/099-StartHttpServer.md +141 -0
  106. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/100-StopHttpServer.md +137 -0
  107. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/103-CacheSize.md +131 -0
  108. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/106-UploadVideo.md +132 -0
  109. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/109-PlayVideo.md +137 -0
  110. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/110-VideoDownload.md +137 -0
  111. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/111-StartAudioRecording.md +134 -0
  112. package/docs/api//346/226/207/344/273/266/346/223/215/344/275/234/112-StopAudioRecording.md +132 -0
  113. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/058-GetDeviceInfo.md +134 -0
  114. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/059-GetBrightness.md +104 -0
  115. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/060-GetVolume.md +105 -0
  116. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/065-Brightness.md +134 -0
  117. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/066-VolumeControl.md +142 -0
  118. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/069-GetAppVersion.md +118 -0
  119. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/070-GetStatusBarHeight.md +121 -0
  120. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/075-GetAppIconsPath.md +130 -0
  121. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/077-getBiometricRecognition.md +142 -0
  122. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/081-Shock.md +113 -0
  123. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/090-OpenGyro.md +121 -0
  124. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/091-CloseGyro.md +135 -0
  125. package/docs/api//350/256/276/345/244/207/344/277/241/346/201/257/095-Keyboard.md +136 -0
  126. package/docs/api//351/200/232/347/237/245/346/217/220/351/206/222/061-GetClipboardContent.md +117 -0
  127. package/docs/api//351/200/232/347/237/245/346/217/220/351/206/222/067-ScheduleReminder.md +138 -0
  128. package/docs/api//351/200/232/347/237/245/346/217/220/351/206/222/089-FloatingWindowData.md +168 -0
  129. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/001-Goto.md +114 -0
  130. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/002-GotoInside.md +80 -0
  131. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/003-GotoMain.md +70 -0
  132. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/008-GoBack.md +83 -0
  133. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/009-ReturnHomePage.md +84 -0
  134. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/011-GotoUrlByBrowse.md +81 -0
  135. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/012-GoToVideo.md +90 -0
  136. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/045-ReturnPageUrl.md +94 -0
  137. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/054-DestructionPage.md +93 -0
  138. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/055-PageCheck.md +94 -0
  139. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/071-GreyAllPages.md +129 -0
  140. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/072-ClosePop.md +133 -0
  141. package/docs/api//351/241/265/351/235/242/350/267/263/350/275/254/108-StayTime.md +139 -0
  142. package/main/mixappfunc.ts +703 -198
  143. package/main/paramsTypes.ts +10 -7
  144. package/mixRender.css +10 -11
  145. package/mixRender.js +9 -2
  146. package/package.json +1 -1
  147. 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
  148. 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
  149. package/docs/02.API/02.APP/345/210/206/344/272/253/_meta.json +0 -16
  150. 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
  151. 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
  152. package/docs/02.API/04.APP/345/233/276/347/211/207/_meta.json +0 -23
@@ -0,0 +1,133 @@
1
+ ---
2
+ date: 2026-03-06
3
+ permalink: /pages/api-is-net/
4
+ categories:
5
+ - API
6
+ - 网络状态
7
+ tags: []
8
+ author: { name: AI Assistant }
9
+ ---
10
+
11
+ # IsNet - 检测网络状态
12
+
13
+ ## 功能描述
14
+
15
+ 检测设备当前的网络连接状态。返回字符串表示是否有网络连接。
16
+
17
+ ## 调用类型
18
+
19
+ 同步类
20
+
21
+ ## 方法说明
22
+
23
+ ```typescript
24
+ IsNet(): string
25
+ ```
26
+
27
+ ### 参数说明
28
+
29
+ | 参数名 | 类型 | 必填 | 说明 | 默认值 |
30
+ |--------|------|------|------|--------|
31
+ | 无 | 无 | 否 | 无参数 | 无 |
32
+
33
+ ### 返回值说明
34
+
35
+ string - 返回网络连接状态("1"": 有网络连接,"0"": 无网络连接)
36
+
37
+ ## 代码示例
38
+
39
+ ### JavaScript 示例
40
+
41
+ ```javascript
42
+ // 检测网络状态
43
+ const hasNetwork = mixPublicLib.IsNet();
44
+ console.log("网络状态:", hasNetwork ? "已连接" : "未连接");
45
+
46
+ // 根据网络状态执行不同逻辑
47
+ if (hasNetwork) {
48
+ console.log("可以执行网络请求");
49
+ // 执行需要网络的操作
50
+ } else {
51
+ console.log("网络不可用,请检查网络设置");
52
+ // 显示离线提示或使用缓存数据
53
+ }
54
+
55
+ // 定期检测网络状态
56
+ setInterval(() => {
57
+ const networkStatus = mixPublicLib.IsNet();
58
+ if (!networkStatus) {
59
+ alert("网络连接已断开");
60
+ }
61
+ }, 5000);
62
+ ```
63
+
64
+ ### TypeScript 示例
65
+
66
+ ```typescript
67
+ // 检测网络状态
68
+ const hasNetwork: boolean = mixPublicLib.IsNet();
69
+ console.log(`网络状态: ${hasNetwork ? "已连接" : "未连接"}`);
70
+
71
+ // 类型安全的网络状态处理
72
+ if (hasNetwork) {
73
+ console.log("执行在线操作");
74
+ } else {
75
+ console.log("执行离线操作");
76
+ }
77
+ ```
78
+
79
+ ## 使用说明
80
+
81
+ ### 返回值说明
82
+
83
+ - **true**: 设备有有效的网络连接(WiFi、移动数据等)
84
+ - **false**: 设备没有网络连接或网络连接不可用
85
+
86
+ ### 平台差异
87
+
88
+ - **Web端**: 使用 `navigator.onLine` 或尝试连接测试服务器
89
+ - **APP端**: 调用原生网络状态检测API
90
+ - **iOS/Android**: 原生实现,检测更准确
91
+
92
+ ### 检测方式
93
+
94
+ - **Web端**:
95
+ - 基于浏览器的online/offline事件
96
+ - 可能无法检测到弱网或代理问题
97
+ - **APP端**:
98
+ - 检测实际的网络接口状态
99
+ - 可能包含对特定服务器的连通性测试
100
+
101
+ ### 使用场景
102
+
103
+ - 网络请求前的状态检查
104
+ - 离线模式的自动切换
105
+ - 用户网络状态提示
106
+ - 数据同步功能的条件判断
107
+ - 应用启动时的网络验证
108
+
109
+ ## 注意事项
110
+
111
+ - **检测局限性**:
112
+ - 返回true不一定表示可以访问特定服务
113
+ - 可能无法检测到网络质量或防火墙限制
114
+ - 某些情况下可能有短暂的检测延迟
115
+ - **平台差异**:
116
+ - Web端的检测可能不够准确
117
+ - APP端通常提供更可靠的网络状态信息
118
+ - **最佳实践**:
119
+ - 即使检测到有网络,也应该处理网络请求失败的情况
120
+ - 建议结合具体的网络请求错误处理
121
+ - 对于关键操作,可以进行实际的连通性测试
122
+ - **性能考虑**:
123
+ - 频繁调用可能影响性能
124
+ - 建议在必要时调用,避免轮询
125
+ - **用户体验**:
126
+ - 网络状态变化时及时通知用户
127
+ - 提供离线功能以提升用户体验
128
+
129
+ ## 相关 API
130
+
131
+ - [`GetDeviceInfo`](./058-GetDeviceInfo.md) - 获取设备信息
132
+ - [`ShowMsg`](./087-ShowMsg.md) - 显示消息提示
133
+ - [`OnlineService`](./104-OnlineService.md) - 在线客服
@@ -0,0 +1,132 @@
1
+ ---
2
+ date: 2026-03-06
3
+ permalink: /pages/api-get-apns-authorization-status/
4
+ categories:
5
+ - API
6
+ - 推送通知
7
+ tags: []
8
+ author: { name: AI Assistant }
9
+ ---
10
+
11
+ # GetApnsAuthorizationStatus - 获取推送授权状态
12
+
13
+ ## 功能描述
14
+
15
+ 获取APNs(Apple Push Notification service)推送通知的授权状态。用于检查用户是否允许应用发送推送通知。
16
+
17
+ ## 调用类型
18
+
19
+ 同步类
20
+
21
+ ## 方法说明
22
+
23
+ ```typescript
24
+ GetApnsAuthorizationStatus(): 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 authStatus = mixPublicLib.GetApnsAuthorizationStatus();
46
+ console.log("推送授权状态:", authStatus);
47
+
48
+ // 根据授权状态执行不同逻辑
49
+ if (authStatus === 1) {
50
+ console.log("用户已授权推送通知");
51
+ // 可以注册推送服务
52
+ } else {
53
+ console.log("用户未授权推送通知");
54
+ // 提示用户开启推送权限
55
+ alert("请在设置中开启推送通知权限");
56
+ }
57
+
58
+ // 检查并引导用户开启推送
59
+ function checkPushPermission() {
60
+ const status = mixPublicLib.GetApnsAuthorizationStatus();
61
+ if (status !== 1) {
62
+ showPushPermissionGuide();
63
+ }
64
+ }
65
+ ```
66
+
67
+ ### TypeScript 示例
68
+
69
+ ```typescript
70
+ // 获取推送授权状态
71
+ const authStatus: number = mixPublicLib.GetApnsAuthorizationStatus();
72
+ console.log(`推送授权状态: ${authStatus}`);
73
+
74
+ // 类型安全的状态处理
75
+ if (authStatus === 1) {
76
+ console.log("推送权限已授权");
77
+ } else {
78
+ console.log("推送权限未授权");
79
+ }
80
+ ```
81
+
82
+ ## 使用说明
83
+
84
+ ### 状态码说明
85
+
86
+ - **0**: 表示以下情况之一:
87
+ - 应用从未请求过推送权限
88
+ - 用户明确拒绝了推送权限
89
+ - 设备不支持推送通知
90
+ - **1**: 表示用户已授权应用发送推送通知
91
+
92
+ ### 平台差异
93
+
94
+ - **iOS**: 完全支持APNs推送授权状态检测
95
+ - **Android**: 可能返回模拟值或基于Android通知权限的状态
96
+ - **Web端**: 通常返回0(不支持推送通知)
97
+
98
+ ### 使用场景
99
+
100
+ - 应用启动时检查推送权限状态
101
+ - 决定是否显示推送权限引导
102
+ - 推送功能的条件性启用
103
+ - 用户设置页面的权限状态显示
104
+ - 推送订阅管理
105
+
106
+ ## 注意事项
107
+
108
+ - **平台限制**:
109
+ - 此功能主要针对iOS平台的APNs服务
110
+ - Android平台使用不同的推送机制(如FCM)
111
+ - Web端通常不支持原生推送通知
112
+ - **权限时机**:
113
+ - iOS应用需要先调用推送权限请求才能获取准确状态
114
+ - 首次安装应用时状态通常为0
115
+ - **用户体验**:
116
+ - 不要频繁检查推送权限状态
117
+ - 在合适的时机引导用户开启推送权限
118
+ - 提供推送权限的价值说明
119
+ - **兼容性**:
120
+ - 老版本iOS可能有不同的行为
121
+ - 某些设备可能禁用了推送功能
122
+ - **最佳实践**:
123
+ - 结合具体的业务场景使用推送功能
124
+ - 提供推送权限的开关选项
125
+ - 尊重用户的选择,不要强制要求推送权限
126
+
127
+ ## 相关 API
128
+
129
+ - [`SettingApns`](./068-SettingApns.md) - 推送设置
130
+ - [`IsOpenPushSound`](./078-IsOpenPushSound.md) - 是否开启推送声音
131
+ - [`BindCloudChannel`](./079-BindCloudChannel.md) - 绑定云通道
132
+ - [`UnbindCloudChannel`](./080-UnbindCloudChannel.md) - 解绑云通道
@@ -0,0 +1,116 @@
1
+ ---
2
+ date: 2026-03-06
3
+ permalink: /pages/api-setting-apns/
4
+ categories:
5
+ - API
6
+ - 推送通知
7
+ tags: []
8
+ author: { name: AI Assistant }
9
+ ---
10
+
11
+ # SettingApns - 推送设置
12
+
13
+ ## 功能描述
14
+
15
+ 打开系统推送通知设置页面。用于引导用户到系统设置中配置应用的推送权限。
16
+
17
+ ## 调用类型
18
+
19
+ 同步类
20
+
21
+ ## 方法说明
22
+
23
+ ```typescript
24
+ SettingApns(): void
25
+ ```
26
+
27
+ ### 参数说明
28
+
29
+ | 参数名 | 类型 | 必填 | 说明 | 默认值 |
30
+ |--------|------|------|------|--------|
31
+ | 无 | 无 | 否 | 无参数 | 无 |
32
+
33
+ ### 返回值说明
34
+
35
+ 无返回值
36
+
37
+ ## 代码示例
38
+
39
+ ### JavaScript 示例
40
+
41
+ ```javascript
42
+ // 打开推送设置页面
43
+ mixPublicLib.SettingApns();
44
+
45
+ // 在检测到推送未授权时引导用户设置
46
+ const authStatus = mixPublicLib.GetApnsAuthorizationStatus();
47
+ if (authStatus !== 1) {
48
+ if (confirm("推送通知未开启,是否前往设置?")) {
49
+ mixPublicLib.SettingApns();
50
+ }
51
+ }
52
+ ```
53
+
54
+ ### TypeScript 示例
55
+
56
+ ```typescript
57
+ // 打开推送设置页面
58
+ mixPublicLib.SettingApns();
59
+
60
+ // 类型安全的推送状态检查
61
+ const authStatus: number = mixPublicLib.GetApnsAuthorizationStatus();
62
+ if (authStatus !== 1) {
63
+ // 引导用户开启推送
64
+ mixPublicLib.SettingApns();
65
+ }
66
+ ```
67
+
68
+ ## 使用说明
69
+
70
+ ### 功能说明
71
+
72
+ - 跳转到系统设置页面中应用的推送通知配置项
73
+ - 允许用户手动开启或关闭推送通知权限
74
+ - 提供推送设置的直接入口
75
+
76
+ ### 平台差异
77
+
78
+ - **iOS**: 跳转到iOS系统设置中的应用通知设置页面
79
+ - **Android**: 跳转到Android系统设置中的应用通知设置页面
80
+ - **Web端**: 可能不支持或提供模拟功能(控制台提示)
81
+
82
+ ### 使用场景
83
+
84
+ - 用户拒绝推送权限后的引导操作
85
+ - 应用设置页面中的推送开关
86
+ - 推送功能无法正常工作时的故障排除
87
+ - 用户主动管理推送设置的需求
88
+
89
+ ## 注意事项
90
+
91
+ - **平台限制**:
92
+ - Web端通常不支持跳转到系统设置
93
+ - 某些Android版本的设置页面路径可能不同
94
+ - iOS 10+ 支持直接跳转到应用设置页面
95
+ - **用户体验**:
96
+ - 跳转后用户需要手动操作才能返回应用
97
+ - 建议在跳转前提示用户操作目的
98
+ - 提供清晰的操作指引
99
+ - **权限状态**:
100
+ - 此方法不会自动开启推送权限
101
+ - 用户仍需要在设置页面中手动开启
102
+ - 跳转后应用无法获知用户的最终选择
103
+ - **最佳实践**:
104
+ - 结合 `GetApnsAuthorizationStatus` 使用
105
+ - 在合适的时机提供设置入口
106
+ - 提供推送功能的价值说明
107
+ - 尊重用户的选择,不要强制要求
108
+ - **兼容性**:
109
+ - 老版本操作系统可能不支持直接跳转
110
+ - 某些设备厂商可能有自定义的设置页面
111
+
112
+ ## 相关 API
113
+
114
+ - [`GetApnsAuthorizationStatus`](./064-GetApnsAuthorizationStatus.md) - 获取推送授权状态
115
+ - [`IsOpenPushSound`](./078-IsOpenPushSound.md) - 是否开启推送声音
116
+ - [`BindCloudChannel`](./079-BindCloudChannel.md) - 绑定云通道
@@ -0,0 +1,117 @@
1
+ ---
2
+ date: 2026-03-06
3
+ permalink: /pages/api-is-open-push-sound/
4
+ categories:
5
+ - API
6
+ - 推送通知
7
+ tags: []
8
+ author: { name: AI Assistant }
9
+ ---
10
+
11
+ # IsOpenPushSound - 是否开启推送声音
12
+
13
+ ## 功能描述
14
+
15
+ 开启/关闭推送通知的声音提醒
16
+
17
+ ## 调用类型
18
+
19
+ 同步类
20
+
21
+ ## 方法说明
22
+
23
+ ```typescript
24
+ IsOpenPushSound({
25
+ IsOpen: number
26
+ }): void
27
+ ```
28
+
29
+ ### 参数说明
30
+
31
+ | 参数名 | 类型 | 必填 | 说明 | 默认值 |
32
+ |--------|------|------|------|--------|
33
+ | IsOpen | number | 是 | 是否开启音效(1:开启 0: 不开启) | 0 |
34
+
35
+ ### 返回值说明
36
+
37
+ 无返回值
38
+
39
+ ## 代码示例
40
+
41
+ ### JavaScript 示例
42
+
43
+ ```javascript
44
+ // 调整推送声音状态
45
+ //关闭推送声音
46
+ mixPublicLib.IsOpenPushSound({ IsOpen: 0 });
47
+
48
+ //开启推送声音
49
+ mixPublicLib.IsOpenPushSound({ IsOpen: 1 });
50
+
51
+ ```
52
+
53
+ ### TypeScript 示例
54
+
55
+ ```typescript
56
+ // 检测推送声音状态
57
+ const isPushSoundEnabled: boolean = mixPublicLib.IsOpenPushSound();
58
+ console.log(`推送声音状态: ${isPushSoundEnabled ? "已开启" : "未开启"}`);
59
+
60
+ // 类型安全的状态处理
61
+ if (isPushSoundEnabled) {
62
+ console.log("可以依赖声音提醒");
63
+ } else {
64
+ console.log("需要其他提醒方式");
65
+ }
66
+ ```
67
+
68
+ ## 使用说明
69
+
70
+ ### 返回值说明
71
+
72
+ - **true**: 用户已开启推送通知的声音提醒
73
+ - **false**: 用户关闭了推送声音,或设备处于静音模式,或不支持声音提醒
74
+
75
+ ### 平台差异
76
+
77
+ - **iOS**: 检测系统通知设置中的声音选项
78
+ - **Android**: 检测通知渠道的声音设置
79
+ - **Web端**: 通常返回false(不支持推送声音检测)
80
+
81
+ ### 使用场景
82
+
83
+ - 应用设置页面的推送声音状态显示
84
+ - 决定是否使用声音作为主要提醒方式
85
+ - 提供替代提醒方案(如震动、LED闪烁)
86
+ - 用户体验优化(避免在静音时重复提醒)
87
+ - 推送策略的动态调整
88
+
89
+ ## 注意事项
90
+
91
+ - **平台限制**:
92
+ - Web端通常无法检测推送声音状态
93
+ - 老版本操作系统可能不支持此检测
94
+ - 某些设备可能有自定义的通知设置
95
+ - **系统状态影响**:
96
+ - 设备静音模式会影响返回结果
97
+ - 勿扰模式可能导致返回false
98
+ - 音量设置为0可能被视为关闭声音
99
+ - **用户体验**:
100
+ - 提供清晰的声音状态说明
101
+ - 在声音关闭时提供替代提醒选项
102
+ - 引导用户在系统设置中调整通知声音
103
+ - **最佳实践**:
104
+ - 结合 `GetApnsAuthorizationStatus` 使用
105
+ - 提供完整的推送设置管理界面
106
+ - 测试不同系统状态下的检测结果
107
+ - 考虑用户的使用环境和偏好
108
+ - **兼容性**:
109
+ - 不同Android版本的通知渠道实现可能不同
110
+ - iOS的通知设置界面在不同版本中有差异
111
+ - 某些设备厂商可能有自定义的通知管理
112
+
113
+ ## 相关 API
114
+
115
+ - [`GetApnsAuthorizationStatus`](./064-GetApnsAuthorizationStatus.md) - 获取推送授权状态
116
+ - [`SettingApns`](./068-SettingApns.md) - 推送设置
117
+ - [`BindCloudChannel`](./079-BindCloudChannel.md) - 绑定云通道
@@ -0,0 +1,137 @@
1
+ ---
2
+ date: 2026-03-06
3
+ permalink: /pages/api-bind-cloud-channel/
4
+ categories:
5
+ - API
6
+ - 推送通知
7
+ tags: []
8
+ author: { name: AI Assistant }
9
+ ---
10
+
11
+ # BindCloudChannel - 绑定云通道
12
+
13
+ ## 功能描述
14
+
15
+ 绑定设备到云推送通道。用于注册设备以接收云端推送消息。
16
+
17
+ ## 调用类型
18
+
19
+ 同步类
20
+
21
+ ## 方法说明
22
+
23
+ ```typescript
24
+ BindCloudChannel({
25
+ Account: string
26
+ }): void
27
+ ```
28
+
29
+ ### 参数说明
30
+
31
+ | 参数名 | 类型 | 必填 | 说明 | 默认值 |
32
+ |--------|------|------|------|--------|
33
+ | Account | string | 是 | 绑定账号(项目唯一) | "" |
34
+
35
+ ### 返回值说明
36
+
37
+ 无返回值
38
+
39
+ ## 代码示例
40
+
41
+ ### JavaScript 示例
42
+
43
+ ```javascript
44
+ // 绑定云通道
45
+ mixPublicLib.BindCloudChannel({ Account: "1234567890" });
46
+
47
+ // 在应用启动时绑定云通道
48
+ document.addEventListener('DOMContentLoaded', () => {
49
+ mixPublicLib.BindCloudChannel({ Account: "1234567890" });
50
+ });
51
+
52
+ // 结合推送权限检查使用
53
+ const authStatus = mixPublicLib.GetApnsAuthorizationStatus();
54
+ if (authStatus === 1) {
55
+ mixPublicLib.BindCloudChannel({ Account: "1234567890" });
56
+ console.log("云通道绑定成功");
57
+ } else {
58
+ console.log("请先开启推送权限");
59
+ }
60
+ ```
61
+
62
+ ### TypeScript 示例
63
+
64
+ ```typescript
65
+ // 绑定云通道
66
+ mixPublicLib.BindCloudChannel({ Account: "1234567890" });
67
+
68
+ // 带错误处理的绑定操作
69
+ try {
70
+ mixPublicLib.BindCloudChannel({ Account: "1234567890" });
71
+ console.log("云通道绑定成功");
72
+ } catch (error) {
73
+ console.error("云通道绑定失败:", error);
74
+ }
75
+ ```
76
+
77
+ ## 使用说明
78
+
79
+ ### 功能说明
80
+
81
+ - 注册设备到云端推送服务
82
+ - 获取设备的推送令牌(token)
83
+ - 建立与推送服务器的连接通道
84
+ - 使设备能够接收远程推送消息
85
+
86
+ ### 平台差异
87
+
88
+ - **iOS**: 绑定APNs(Apple Push Notification service)
89
+ - **Android**: 绑定FCM(Firebase Cloud Messaging)或其他推送服务
90
+ - **Web端**: 可能不支持或提供模拟功能
91
+
92
+ ### 绑定流程
93
+
94
+ 1. 检查推送权限状态
95
+ 2. 向系统请求推送权限(如果未授权)
96
+ 3. 获取设备的推送令牌
97
+ 4. 将令牌发送到云端服务器
98
+ 5. 建立推送通道连接
99
+
100
+ ### 使用场景
101
+
102
+ - 应用启动时的推送初始化
103
+ - 用户登录后的设备绑定
104
+ - 推送权限开启后的通道绑定
105
+ - 设备更换后的重新绑定
106
+ - 推送功能恢复时的重新绑定
107
+
108
+ ## 注意事项
109
+
110
+ - **权限依赖**:
111
+ - 必须先获得推送权限授权
112
+ - 需要网络连接才能完成绑定
113
+ - 某些网络环境可能阻止推送连接
114
+ - **平台限制**:
115
+ - Web端通常不支持原生推送通道
116
+ - 老版本操作系统可能有兼容性问题
117
+ - 某些地区可能限制推送服务
118
+ - **用户体验**:
119
+ - 绑定过程通常是后台进行的
120
+ - 用户可能看到系统推送权限请求
121
+ - 绑定成功后用户可以接收推送消息
122
+ - **最佳实践**:
123
+ - 在应用启动时自动绑定
124
+ - 结合 `GetApnsAuthorizationStatus` 使用
125
+ - 提供手动重新绑定的选项
126
+ - 处理绑定失败的降级方案
127
+ - **安全性**:
128
+ - 推送令牌应该安全传输和存储
129
+ - 避免在客户端暴露敏感的推送信息
130
+ - 遵守相关的隐私和安全规范
131
+
132
+ ## 相关 API
133
+
134
+ - [`UnbindCloudChannel`](./080-UnbindCloudChannel.md) - 解绑云通道
135
+ - [`GetApnsAuthorizationStatus`](./064-GetApnsAuthorizationStatus.md) - 获取推送授权状态
136
+ - [`SettingApns`](./068-SettingApns.md) - 推送设置
137
+ - [`IsOpenPushSound`](./078-IsOpenPushSound.md) - 是否开启推送声音