@docoi/mys-sdk 1.0.2 → 1.1.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.
@@ -1,24 +1,19 @@
1
- import { ShowToastParams, PlayMediaParams, ChooseMediaParams, ChooseMediaResult, UploadFilesParams, UploadFilesResult, SaveImageToPhotosAlbumParams, SaveVideoToPhotosAlbumParams, StartRecordParams, SetClipboardDataParams, GetClipboardDataResult, OpenInExternalBrowserParams, TriggerVibrateParams, Callbacks, NativeResponse, SystemInfoResult, NetworkTypeResult, OpenPhoneSettingParams, CheckPermissionParams, CheckPermissionResult, KeyboardHeightChangeCallback, CommentPanelChangeCallback, EventListenOptions } from '../types';
1
+ import { OpenAppParams, ShowPageNameParams, SwipeBackParams, SetBeforeInfoParams, OpenAppResult, BeforeInfoResult, PageEventCallback, ShowToastParams, PlayMediaParams, ChooseMediaParams, ChooseMediaResult, UploadFilesParams, UploadFilesResult, SaveImageToPhotosAlbumParams, StartRecordAudioParams, SetClipboardDataParams, GetClipboardDataResult, TriggerVibrateParams, Callbacks, NativeResponse, SystemInfoResult, OpenPhoneSettingParams, CheckPermissionParams, CheckPermissionResult, KeyboardHeightChangeCallback, CommentPanelChangeCallback, EventListenOptions } from '../types';
2
2
  /**
3
3
  * 显示消息提示框。
4
4
  *
5
- * @note
6
- * text 不能为空。
7
- * duration 默认 ToastDuration.Short,0 表示短时显示,1 表示长时显示。
5
+ * @note App 4.4.0 以下只支持 text,duration 不生效。
8
6
  *
9
- * @app 3.0.0
7
+ * @app 3.6.0
10
8
  * @example
11
9
  * await mys.showToast({ text: '操作成功' })
12
10
  */
13
11
  export declare function showToast(params: ShowToastParams): Promise<NativeResponse<void>>;
14
12
  /**
15
- * 触发原生震动反馈。
13
+ * 触发原生震动反馈,支持单段震动、多段变力度震动和循环震动。
16
14
  *
17
- * 支持单段震动、多段变力度震动和循环震动。执行优先级为:有 steps 时走多段震动;无 steps 且有 duration 时走单段震动;两者都没有时由宿主 App 决定默认震动行为。
18
- *
19
- * @note
20
- * iOS 如果不支持自定义力度和精确时长,intensity 和 duration 会被忽略,退化为系统默认触感节奏。
21
- * repeat 为 true 时会无限循环,需调用 stopVibrate 停止。
15
+ * @note 执行优先级:有 steps 时走多段震动;无 steps 且有 duration 时走单段震动;两者都没有时由宿主 App 决定默认震动行为。
16
+ * @note iOS 如果不支持自定义力度和精确时长,intensity 和 duration 会被忽略,退化为系统默认触感节奏。
22
17
  *
23
18
  * @app 4.1.0
24
19
  * @example
@@ -34,9 +29,7 @@ export declare function showToast(params: ShowToastParams): Promise<NativeRespon
34
29
  */
35
30
  export declare function triggerVibrate(params?: TriggerVibrateParams): Promise<NativeResponse<void>>;
36
31
  /**
37
- * 停止原生震动反馈。
38
- *
39
- * 用于停止 triggerVibrate 发起的循环震动。
32
+ * 停止原生震动反馈,用于停止 triggerVibrate 发起的循环震动。
40
33
  *
41
34
  * @app 4.1.0
42
35
  * @example
@@ -46,55 +39,42 @@ export declare function stopVibrate(params?: Callbacks): Promise<NativeResponse<
46
39
  /**
47
40
  * 收起当前 WebView 中已弹出的系统软键盘。
48
41
  *
49
- * @note
50
- * 该 API 仅用于请求隐藏键盘,不用于主动显示键盘。
42
+ * @note 该 API 仅用于请求隐藏键盘,不用于主动显示键盘。
51
43
  *
52
- * @app 1.2.3
44
+ * @app 4.4.0
53
45
  * @example
54
46
  * await mys.hideKeyboard()
55
47
  */
56
48
  export declare function hideKeyboard(params?: Callbacks): Promise<NativeResponse<void>>;
57
49
  /**
58
- * 监听键盘高度变化。
59
- *
60
- * 当当前 WebView 中的系统软键盘弹出、收起或高度变化时触发。
50
+ * 监听键盘高度变化,当前 WebView 中的系统软键盘弹出、收起或高度变化时触发。
61
51
  *
62
- * @note
63
- * 回调参数 height 单位为 CSS 逻辑像素,可直接用于页面布局。
64
- * 事件监听类型直接返回原始 payload,不包装 code/msg/result。
65
- * options.once 为 true 时只触发一次,触发后由 jsbridge 自动取消监听。
66
- *
67
- * @app 3.9.0
52
+ * @app 3.4.0
68
53
  * @example
69
54
  * mys.onKeyboardHeightChange((height) => {
70
55
  * console.log('键盘高度:', height)
71
56
  * })
72
57
  *
58
+ * // 只监听一次
73
59
  * mys.onKeyboardHeightChange((height) => {
74
60
  * console.log('只监听一次键盘高度:', height)
75
61
  * }, { once: true })
76
62
  *
63
+ * // 取消监听
77
64
  * mys.offKeyboardHeightChange()
78
65
  */
79
66
  export declare function onKeyboardHeightChange(callback: KeyboardHeightChangeCallback, options?: EventListenOptions): void;
80
67
  /**
81
68
  * 取消监听键盘高度变化。
82
69
  *
83
- * 不传 callback 时取消全部键盘高度监听;传入 callback 时只取消指定监听。
84
- *
85
- * @app 1.2.3
70
+ * @param callback 要取消的监听函数,不传则取消全部键盘高度监听
71
+ * @app 3.4.0
86
72
  * @example
87
73
  * mys.offKeyboardHeightChange()
88
74
  */
89
75
  export declare function offKeyboardHeightChange(callback?: KeyboardHeightChangeCallback): void;
90
76
  /**
91
- * 监听评论区面板状态变化。
92
- *
93
- * 当 Native 评论区面板打开、关闭或状态变化时触发。
94
- *
95
- * @note
96
- * 事件监听类型直接返回原始 payload,不包装 code/msg/result。
97
- * options.once 为 true 时只触发一次,触发后由 jsbridge 自动取消监听。
77
+ * 监听评论区面板状态变化,Native 评论区面板打开、关闭或状态变化时触发。
98
78
  *
99
79
  * @app 4.2.0
100
80
  * @example
@@ -102,18 +82,19 @@ export declare function offKeyboardHeightChange(callback?: KeyboardHeightChangeC
102
82
  * console.log('评论区面板状态:', res.visible, res.reason)
103
83
  * })
104
84
  *
85
+ * // 只监听一次
105
86
  * mys.onCommentPanelChange((res) => {
106
87
  * console.log('只监听一次:', res.visible, res.reason)
107
88
  * }, { once: true })
108
89
  *
90
+ * // 取消监听
109
91
  * mys.offCommentPanelChange()
110
92
  */
111
93
  export declare function onCommentPanelChange(callback: CommentPanelChangeCallback, options?: EventListenOptions): void;
112
94
  /**
113
95
  * 取消监听评论区面板状态变化。
114
96
  *
115
- * 不传 callback 时取消全部评论区面板监听;传入 callback 时只取消指定监听。
116
- *
97
+ * @param callback 要取消的监听函数,不传则取消全部评论区面板监听
117
98
  * @app 4.2.0
118
99
  * @example
119
100
  * mys.offCommentPanelChange()
@@ -122,11 +103,10 @@ export declare function offCommentPanelChange(callback?: CommentPanelChangeCallb
122
103
  /**
123
104
  * 预览图片。
124
105
  *
125
- * @note
126
- * urls 不能为空。
127
- * current 为当前预览图片在 urls 中的数组下标,默认 0。
106
+ * @note current 超出 urls 范围时返回 1002。
107
+ * @note App 4.3.0 以下自动改用旧版预览,调用方式不变。
128
108
  *
129
- * @app 4.3.0
109
+ * @app 3.2.0
130
110
  * @example
131
111
  * await mys.previewImage({
132
112
  * urls: ['https://example.com/1.jpg', 'mysFile://temp/files/xxx.jpg'],
@@ -135,12 +115,12 @@ export declare function offCommentPanelChange(callback?: CommentPanelChangeCallb
135
115
  */
136
116
  export declare function previewImage(params: PlayMediaParams): Promise<NativeResponse<void>>;
137
117
  /**
138
- * 预览视频。
118
+ * 预览视频,入参与 previewImage 相同,urls 为视频 URL 列表。
139
119
  *
140
- * @note
141
- * 视频预览与图片预览使用相同入参结构:urls 为视频 URL 列表,current 为当前播放视频的数组下标,默认 0。
120
+ * @note current 超出 urls 范围时返回 1002。
121
+ * @note App 4.3.0 以下自动改用旧版播放,一次只播放 current 对应的这一个视频。
142
122
  *
143
- * @app 1.2.3
123
+ * @app 3.2.0
144
124
  * @example
145
125
  * await mys.previewVideo({
146
126
  * urls: ['https://example.com/video.mp4'],
@@ -151,10 +131,7 @@ export declare function previewVideo(params: PlayMediaParams): Promise<NativeRes
151
131
  /**
152
132
  * 选择或拍摄图片/视频。
153
133
  *
154
- * @note
155
- * 成功返回的 files[].tempFilePath 为临时文件路径,例如 mysFile://temp/xxxx.png。
156
- * tempFilePath 可用于 img / video 预览,也可传给 uploadFiles 上传。
157
- * 临时文件不应作为长期业务资源保存。
134
+ * @note 返回的是临时文件,不应作为长期业务资源保存。
158
135
  *
159
136
  * @app 4.3.0
160
137
  * @example
@@ -162,22 +139,18 @@ export declare function previewVideo(params: PlayMediaParams): Promise<NativeRes
162
139
  * count: 1,
163
140
  * mediaType: 'image',
164
141
  * })
165
- * console.log(res.result.files[0].tempFilePath)
142
+ * console.log(res.result.tempFiles[0].tempFilePath)
166
143
  */
167
144
  export declare function chooseMedia(params?: ChooseMediaParams): Promise<NativeResponse<ChooseMediaResult>>;
168
145
  /**
169
- * 上传本地临时文件。
170
- *
171
- * 批量串行上传 chooseMedia 返回的临时文件路径,成功后返回网络 URL。
146
+ * 批量串行上传本地临时文件(chooseMedia 返回的路径),成功后返回网络 URL。
172
147
  *
173
- * @note
174
- * filePath 应为 chooseMedia 返回的临时文件路径,例如 mysFiles://temp/xxxx.png。
175
- * cosDirPath 默认 multipleSource/common/。
148
+ * @note 同一时间只能有一个上传任务,上传过程中再次调用返回 1002。
176
149
  *
177
150
  * @app 4.3.0
178
151
  * @example
179
152
  * const uploadRes = await mys.uploadFiles({
180
- * files: [chooseRes.result.files[0].tempFilePath],
153
+ * files: [chooseRes.result.tempFiles[0].tempFilePath],
181
154
  * })
182
155
  * console.log(uploadRes.result.files[0].url)
183
156
  */
@@ -185,63 +158,74 @@ export declare function uploadFiles(params: UploadFilesParams): Promise<NativeRe
185
158
  /**
186
159
  * 保存图片到系统相册。
187
160
  *
188
- * @app 1.2.3
161
+ * @note filePath 只支持 base64(data URL 或纯 base64),网络地址和本地路径暂不支持,传入返回 1002。
162
+ * @note base64 整体经 Bridge 传给 Native,只适合 canvas 生成的分享图等小图,建议控制尺寸,没有透明需求时用 JPEG。
163
+ * @note 保存失败(无相册权限、数据无效等)时 Promise reject,errMsg 带 Native 返回的原因。
164
+ *
165
+ * @app 3.7.0
189
166
  * @example
190
- * await mys.saveImageToPhotosAlbum({ filePath: '/tmp/photo.jpg' })
167
+ * const canvas = await html2canvas(element)
168
+ * await mys.saveImageToPhotosAlbum({ filePath: canvas.toDataURL('image/png') })
191
169
  */
192
170
  export declare function saveImageToPhotosAlbum(params: SaveImageToPhotosAlbumParams): Promise<NativeResponse<void>>;
193
171
  /**
194
- * 保存视频到系统相册。
172
+ * 开始录音,录音结果通过 onEnd 回调返回。
173
+ *
174
+ * @note 首次录音会触发系统麦克风授权,被拒绝时返回 3002,可结合 checkPermission、openPhoneSetting 引导用户开启。
175
+ * @note 同一时间只能有一个录音,录音中再次调用返回 9101(RECORD_BUSY),需要先 cancelRecordAudio 再重试。
176
+ * @note 麦克风被占用、授权弹窗期间被取消、录音器初始化失败等其他启动失败统一返回 9102(RECORD_FAILED),原因见 errMsg。
177
+ * @note onEnd、onProgress 不需要手动取消,启动失败、stopRecordAudio 失败、调用 cancelRecordAudio、录音结束或再次调用 startRecordAudio 时自动取消。
178
+ * @note 被来电等系统事件打断时,已录制的部分保留并通过 onEnd 返回,是否使用由业务决定。
195
179
  *
196
- * @app 1.2.3
180
+ * @app 4.4.0
197
181
  * @example
198
- * await mys.saveVideoToPhotosAlbum({ filePath: '/tmp/video.mp4' })
182
+ * await mys.startRecordAudio({
183
+ * maxDuration: 60,
184
+ * onProgress: ({ decibel }) => console.log('当前音量:', decibel),
185
+ * onEnd: (res) => console.log(res.tempFilePath, res.duration, res.size, res.fileType),
186
+ * })
199
187
  */
200
- export declare function saveVideoToPhotosAlbum(params: SaveVideoToPhotosAlbumParams): Promise<NativeResponse<void>>;
188
+ export declare function startRecordAudio(params?: StartRecordAudioParams): Promise<NativeResponse<void>>;
201
189
  /**
202
- * 开始录音。
190
+ * 停止录音并保留录音文件,文件信息通过 startRecordAudio 的 onEnd 回调返回。
203
191
  *
204
- * @note
205
- * maxDuration 表示录音最大时长,具体默认值由宿主 App 决定。
192
+ * @note 当前没有录音时也返回成功。
193
+ * @note 调用失败说明这次录音没有产出结果,onEnd、onProgress 随之取消。
206
194
  *
207
- * @app 1.2.3
195
+ * @app 4.4.0
208
196
  * @example
209
- * await mys.startRecord({ maxDuration: 60 })
197
+ * await mys.stopRecordAudio()
210
198
  */
211
- export declare function startRecord(params?: StartRecordParams): Promise<NativeResponse<void>>;
199
+ export declare function stopRecordAudio(params?: Callbacks): Promise<NativeResponse<void>>;
212
200
  /**
213
- * 停止录音。
201
+ * 取消录音并丢弃录音文件。
214
202
  *
215
- * @app 1.2.3
203
+ * @note 取消不会触发 onEnd,调用后 onEnd、onProgress 立即取消。
204
+ * @note 当前没有录音时也返回成功。
205
+ *
206
+ * @app 4.4.0
216
207
  * @example
217
- * await mys.stopRecord()
208
+ * await mys.cancelRecordAudio()
218
209
  */
219
- export declare function stopRecord(params?: Callbacks): Promise<NativeResponse<void>>;
210
+ export declare function cancelRecordAudio(params?: Callbacks): Promise<NativeResponse<void>>;
220
211
  /**
221
212
  * 获取系统信息。
222
213
  *
223
- * @app 1.2.3
214
+ * @note 返回字段以 UA 的 webBaseInfo 为准,原样保留 snake_case。
215
+ * @note 4.4.0 及以上调用 Native 的 getSystemInfo,再用 H5 侧能拿到的 pixelRatio、screenWidth、screenHeight、windowWidth、windowHeight 补齐,同名字段以 Native 返回为准。
216
+ * @note 低于 4.4.0 的 App 没有该 Native 方法,改为从 UA 本地合成,不经过 Native。
217
+ * @note UA 里缺失的字段(如旧版没有的 env、webviewType、jsNum)为空,读取时按需判空。
218
+ *
219
+ * @app 4.4.0
224
220
  * @example
225
221
  * const res = await mys.getSystemInfo()
226
- * console.log(res.result.platform)
222
+ * console.log(res.result.app_version, res.result.network_type)
227
223
  */
228
224
  export declare function getSystemInfo(params?: Callbacks<SystemInfoResult>): Promise<NativeResponse<SystemInfoResult>>;
229
- /**
230
- * 获取当前网络类型。
231
- *
232
- * @app 1.2.3
233
- * @example
234
- * const res = await mys.getNetworkType()
235
- * console.log(res.result.networkType)
236
- */
237
- export declare function getNetworkType(params?: Callbacks<NetworkTypeResult>): Promise<NativeResponse<NetworkTypeResult>>;
238
225
  /**
239
226
  * 设置系统剪贴板的内容。
240
227
  *
241
- * @note
242
- * data 可以为空字符串,但不能为 undefined。
243
- *
244
- * @app 1.2.3
228
+ * @app 4.4.0
245
229
  * @example
246
230
  * await mys.setClipboardData({ data: 'hello world' })
247
231
  */
@@ -249,53 +233,166 @@ export declare function setClipboardData(params: SetClipboardDataParams): Promis
249
233
  /**
250
234
  * 获取系统剪贴板的内容。
251
235
  *
252
- * @app 1.2.3
236
+ * @app 4.4.0
253
237
  * @example
254
238
  * const res = await mys.getClipboardData()
255
239
  * console.log(res.result.data)
256
240
  */
257
241
  export declare function getClipboardData(params?: Callbacks<GetClipboardDataResult>): Promise<NativeResponse<GetClipboardDataResult>>;
258
242
  /**
259
- * 检查应用权限。
243
+ * 检查应用权限,返回权限类型 permission 和检查结果 result。
260
244
  *
261
- * @note
262
- * 返回权限类型 permission 和权限检查结果 result,可结合 openPhoneSetting 引导用户前往系统设置。
245
+ * @note 未授权时可结合 openPhoneSetting 引导用户前往系统设置。
246
+ * @note App 4.4.0 以下只能检查通知权限(permission 为 notification),且只能区分开启和关闭,关闭统一返回 denied,不会出现 permanentlyDenied。
247
+ * @note App 4.4.0 以下检查其余权限类型(相机、麦克风、定位、存储)返回 5002。
263
248
  *
264
- * @app 1.2.3
249
+ * @app 4.4.0
265
250
  * @example
266
251
  * const res = await mys.checkPermission({ permission: 'camera' })
267
252
  * if (res.result.result !== 'granted') {
268
- * await mys.openPhoneSetting({ type: 'notice' })
253
+ * await mys.openPhoneSetting({ permission: res.result.permission })
269
254
  * }
270
255
  */
271
256
  export declare function checkPermission(params: CheckPermissionParams): Promise<NativeResponse<CheckPermissionResult>>;
272
257
  /**
273
- * 打开系统通知设置页。
274
- *
275
- * 当前仅支持通知设置,用于引导用户前往系统设置中开启通知权限。
258
+ * 打开系统设置页,通常在 checkPermission 返回 denied 或 permanentlyDenied 后引导用户去开启。
276
259
  *
277
- * @note
278
- * 该 API 只负责请求宿主 App 打开对应系统设置页,不表示用户已经完成授权。
279
- * 返回成功仅表示已处理打开设置页的请求。
260
+ * @note 该 API 只负责请求宿主 App 打开对应系统设置页,不表示用户已经完成授权,可再调用 checkPermission 确认授权结果。
261
+ * @note App 4.4.0 以下只能打开通知设置页(permission 为 notification),其余类型低版本返回 5002。
280
262
  *
281
- * @app 1.2.3
263
+ * @app 4.4.0
282
264
  * @example
283
- * await mys.openPhoneSetting({ type: 'notice' })
265
+ * await mys.openPhoneSetting({ permission: 'notification' })
266
+ *
267
+ * const res = await mys.checkPermission({ permission: 'camera' })
268
+ * if (res.result.result !== 'granted') {
269
+ * await mys.openPhoneSetting({ permission: res.result.permission })
270
+ * }
284
271
  */
285
272
  export declare function openPhoneSetting(params: OpenPhoneSettingParams): Promise<NativeResponse<void>>;
286
273
  /**
287
- * 关闭当前网页视图。
274
+ * 打开指定包名的其他 App(如游戏),未安装时触发下载。
275
+ *
276
+ * @note 不用于唤起本 App,本 App 的页面跳转使用 navigateTo 等。
277
+ * @note 已安装时直接打开,未安装时 Native 按 url 触发下载,H5 不需要自己跳转。
278
+ * @note result.type 为 1 表示未安装、已触发下载,可在此上报下载;为 2 表示已打开 App。
279
+ * @note 只在 App 内有效,浏览器里没有 Native 通道会失败,需要业务侧自行跳转下载地址。
288
280
  *
289
- * @app 1.2.3
281
+ * @app 3.2.0
290
282
  * @example
291
- * await mys.closeWebView()
283
+ * const res = await mys.openApp({
284
+ * url: 'https://example.com/game.apk',
285
+ * packageNames: ['com.example.game'],
286
+ * })
287
+ * if (res.result.type === 1) {
288
+ * // 未安装,已触发下载
289
+ * }
290
+ */
291
+ export declare function openApp(params?: OpenAppParams): Promise<NativeResponse<OpenAppResult>>;
292
+ /**
293
+ * 启用或禁用当前页面的侧滑返回手势。
294
+ *
295
+ * @note Native 默认启用侧滑返回,只有需要拦截手势(如页面内有横向滑动操作)时才需要传 enable: false 禁用。
296
+ * @note enable 必须是布尔值,传其他类型返回 1002。
297
+ *
298
+ * @app 4.4.0
299
+ * @example
300
+ * await mys.swipeBack({ enable: false })
301
+ */
302
+ export declare function swipeBack(params: SwipeBackParams): Promise<NativeResponse<void>>;
303
+ /**
304
+ * 告知 Native 当前 H5 页面的类型,用于 Native 侧的页面识别和埋点。
305
+ *
306
+ * @app 3.3.0
307
+ * @example
308
+ * await mys.showPageName({ nameType: 1 })
309
+ */
310
+ export declare function showPageName(params: ShowPageNameParams): Promise<NativeResponse<void>>;
311
+ /**
312
+ * 通知 Native H5 页面已加载完成。
313
+ *
314
+ * @note 旧的 onPageLoaded 已弃用并从 SDK 移除,统一使用该方法。
315
+ *
316
+ * @app 3.2.0
317
+ * @example
318
+ * await mys.h5Loaded()
319
+ */
320
+ export declare function h5Loaded(params?: Callbacks): Promise<NativeResponse<void>>;
321
+ /**
322
+ * 获取上一个页面通过 setBeforeInfo 写入的埋点信息,用于埋点上报时拼接 BeforeInfo。
323
+ *
324
+ * @note 返回字段由 Native 决定,没有上一页信息时可能是空对象。
325
+ *
326
+ * @app 3.2.0
327
+ * @example
328
+ * const res = await mys.getBeforeInfo()
329
+ * console.log(res.result.PageID, res.result.PageName)
330
+ */
331
+ export declare function getBeforeInfo(params?: Callbacks<BeforeInfoResult>): Promise<NativeResponse<BeforeInfoResult>>;
332
+ /**
333
+ * 设置当前页面的埋点信息,跳转原生页面之前调用,供下一个页面通过 getBeforeInfo 读取并用于埋点上报。
334
+ *
335
+ * @app 3.2.0
336
+ * @example
337
+ * await mys.setBeforeInfo({ PageID: 10307, PageName: '积分商城页' })
338
+ */
339
+ export declare function setBeforeInfo(params?: SetBeforeInfoParams): Promise<NativeResponse<void>>;
340
+ /**
341
+ * 监听 H5 页面显示。
342
+ *
343
+ * @note Android 原生返回 H5 时用 visibilitychange 监听不到,Native 会通过该事件通知。
344
+ *
345
+ * @app 3.2.0
346
+ * @example
347
+ * mys.onPageShow(() => {
348
+ * console.log('页面显示')
349
+ * })
350
+ */
351
+ export declare function onPageShow(callback: PageEventCallback, options?: EventListenOptions): void;
352
+ /**
353
+ * 取消监听 H5 页面显示。
354
+ *
355
+ * @param callback 要取消的监听函数,不传则取消全部页面显示监听
356
+ * @app 3.2.0
357
+ * @example
358
+ * mys.offPageShow()
359
+ */
360
+ export declare function offPageShow(callback?: PageEventCallback): void;
361
+ /**
362
+ * 监听 WebView 通知 H5 页面可见。
363
+ *
364
+ * @app 3.7.0
365
+ * @example
366
+ * mys.onPageVisible(() => {
367
+ * console.log('页面可见')
368
+ * })
369
+ */
370
+ export declare function onPageVisible(callback: PageEventCallback, options?: EventListenOptions): void;
371
+ /**
372
+ * 取消监听 H5 页面可见。
373
+ *
374
+ * @param callback 要取消的监听函数,不传则取消全部页面可见监听
375
+ * @app 3.7.0
376
+ * @example
377
+ * mys.offPageVisible()
378
+ */
379
+ export declare function offPageVisible(callback?: PageEventCallback): void;
380
+ /**
381
+ * 监听 WebView 通知 H5 页面不可见。
382
+ *
383
+ * @app 3.7.0
384
+ * @example
385
+ * mys.onPageInvisible(() => {
386
+ * console.log('页面不可见')
387
+ * })
292
388
  */
293
- export declare function closeWebView(params?: Callbacks): Promise<NativeResponse<void>>;
389
+ export declare function onPageInvisible(callback: PageEventCallback, options?: EventListenOptions): void;
294
390
  /**
295
- * 使用外部浏览器打开链接。
391
+ * 取消监听 H5 页面不可见。
296
392
  *
297
- * @app 1.2.3
393
+ * @param callback 要取消的监听函数,不传则取消全部页面不可见监听
394
+ * @app 3.7.0
298
395
  * @example
299
- * await mys.openInExternalBrowser({ url: 'https://example.com' })
396
+ * mys.offPageInvisible()
300
397
  */
301
- export declare function openInExternalBrowser(params: OpenInExternalBrowserParams): Promise<NativeResponse<void>>;
398
+ export declare function offPageInvisible(callback?: PageEventCallback): void;