qsh-webview-sdk 2.0.4 → 2.0.6
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 +545 -87
- package/dist/index.d.ts +320 -136
- package/dist/qsh-webview-sdk.es.js +4064 -0
- package/dist/qsh-webview-sdk.es.js.map +1 -0
- package/dist/qsh-webview-sdk.umd.js +2 -0
- package/dist/qsh-webview-sdk.umd.js.map +1 -0
- package/package.json +47 -43
- package/dist/uni-webview.es.js +0 -1729
- package/dist/uni-webview.es.js.map +0 -1
- package/dist/uni-webview.umd.js +0 -2
- package/dist/uni-webview.umd.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,137 +1,321 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UniApp WebView SDK 类型定义
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
declare namespace UniWebView {
|
|
6
|
-
/**
|
|
7
|
-
* 导航选项
|
|
8
|
-
*/
|
|
9
|
-
interface NavigateOptions {
|
|
10
|
-
/** 目标页面路径 */
|
|
11
|
-
url: string;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* 返回选项
|
|
16
|
-
*/
|
|
17
|
-
interface NavigateBackOptions {
|
|
18
|
-
/** 返回的页面数,默认1 */
|
|
19
|
-
delta?: number;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* 消息选项
|
|
24
|
-
*/
|
|
25
|
-
interface PostMessageOptions {
|
|
26
|
-
/** 要发送的数据 */
|
|
27
|
-
data?: any;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 环境信息
|
|
32
|
-
*/
|
|
33
|
-
interface EnvironmentInfo {
|
|
34
|
-
/** 是否微信小程序环境 */
|
|
35
|
-
miniprogram?: boolean;
|
|
36
|
-
/** 是否微信环境 */
|
|
37
|
-
weixin?: boolean;
|
|
38
|
-
/** 是否 APP 环境 */
|
|
39
|
-
app?: boolean;
|
|
40
|
-
/** 是否 Plus 环境 */
|
|
41
|
-
plus?: boolean;
|
|
42
|
-
/** 是否 NVUE 环境 */
|
|
43
|
-
nvue?: boolean;
|
|
44
|
-
/** 是否 UVUE 环境 */
|
|
45
|
-
uvue?: boolean;
|
|
46
|
-
/** 是否 H5 环境 */
|
|
47
|
-
h5?: boolean;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
*
|
|
52
|
-
*/
|
|
53
|
-
interface
|
|
54
|
-
/**
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
*/
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
|
|
124
|
-
*/
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
1
|
+
/**
|
|
2
|
+
* UniApp WebView SDK 类型定义
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
declare namespace UniWebView {
|
|
6
|
+
/**
|
|
7
|
+
* 导航选项
|
|
8
|
+
*/
|
|
9
|
+
interface NavigateOptions {
|
|
10
|
+
/** 目标页面路径 */
|
|
11
|
+
url: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 返回选项
|
|
16
|
+
*/
|
|
17
|
+
interface NavigateBackOptions {
|
|
18
|
+
/** 返回的页面数,默认1 */
|
|
19
|
+
delta?: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* 消息选项
|
|
24
|
+
*/
|
|
25
|
+
interface PostMessageOptions {
|
|
26
|
+
/** 要发送的数据 */
|
|
27
|
+
data?: any;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 环境信息
|
|
32
|
+
*/
|
|
33
|
+
interface EnvironmentInfo {
|
|
34
|
+
/** 是否微信小程序环境 */
|
|
35
|
+
miniprogram?: boolean;
|
|
36
|
+
/** 是否微信环境 */
|
|
37
|
+
weixin?: boolean;
|
|
38
|
+
/** 是否 APP 环境 */
|
|
39
|
+
app?: boolean;
|
|
40
|
+
/** 是否 Plus 环境 */
|
|
41
|
+
plus?: boolean;
|
|
42
|
+
/** 是否 NVUE 环境 */
|
|
43
|
+
nvue?: boolean;
|
|
44
|
+
/** 是否 UVUE 环境 */
|
|
45
|
+
uvue?: boolean;
|
|
46
|
+
/** 是否 H5 环境 */
|
|
47
|
+
h5?: boolean;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 图片选择选项
|
|
52
|
+
*/
|
|
53
|
+
interface ChooseImageOptions {
|
|
54
|
+
/** 最多选择的图片数量,默认9 */
|
|
55
|
+
count?: number;
|
|
56
|
+
/** 图片质量类型 */
|
|
57
|
+
sizeType?: ('original' | 'compressed')[];
|
|
58
|
+
/** 图片来源类型 */
|
|
59
|
+
sourceType?: ('album' | 'camera')[];
|
|
60
|
+
/** 成功回调 */
|
|
61
|
+
success?: (res: ChooseImageResult) => void;
|
|
62
|
+
/** 失败回调 */
|
|
63
|
+
fail?: (error: any) => void;
|
|
64
|
+
/** 完成回调(无论成功失败) */
|
|
65
|
+
complete?: () => void;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* 图片选择结果(微信环境)
|
|
70
|
+
*/
|
|
71
|
+
interface WeixinChooseImageResult {
|
|
72
|
+
/** 图片本地ID列表 */
|
|
73
|
+
localIds: string[];
|
|
74
|
+
/** 错误信息 */
|
|
75
|
+
errMsg?: string;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 图片选择结果(UniApp环境)
|
|
80
|
+
*/
|
|
81
|
+
interface UniAppChooseImageResult {
|
|
82
|
+
/** 图片临时文件路径列表 */
|
|
83
|
+
tempFilePaths: string[];
|
|
84
|
+
/** 图片临时文件信息 */
|
|
85
|
+
tempFiles?: {
|
|
86
|
+
path: string;
|
|
87
|
+
size: number;
|
|
88
|
+
}[];
|
|
89
|
+
/** 错误信息 */
|
|
90
|
+
errMsg?: string;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* 统一的图片选择结果
|
|
95
|
+
*/
|
|
96
|
+
type ChooseImageResult = WeixinChooseImageResult | UniAppChooseImageResult;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* 图片来源类型枚举
|
|
100
|
+
*/
|
|
101
|
+
interface ImageSourceTypesEnum {
|
|
102
|
+
readonly ALBUM: 'album';
|
|
103
|
+
readonly CAMERA: 'camera';
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* 图片大小类型枚举
|
|
108
|
+
*/
|
|
109
|
+
interface ImageSizeTypesEnum {
|
|
110
|
+
readonly ORIGINAL: 'original';
|
|
111
|
+
readonly COMPRESSED: 'compressed';
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* 图片功能能力信息
|
|
116
|
+
*/
|
|
117
|
+
interface ImageCapabilities {
|
|
118
|
+
/** 是否支持图片选择功能 */
|
|
119
|
+
supported: boolean;
|
|
120
|
+
/** 当前环境类型 */
|
|
121
|
+
environment: string;
|
|
122
|
+
/** 底层实现类型 */
|
|
123
|
+
implementation: string;
|
|
124
|
+
/** 功能特性 */
|
|
125
|
+
features: {
|
|
126
|
+
multipleSelection: boolean;
|
|
127
|
+
sizeTypeSelection: boolean;
|
|
128
|
+
sourceTypeSelection: boolean;
|
|
129
|
+
asyncSupport: boolean;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* 位置选择选项
|
|
135
|
+
*/
|
|
136
|
+
interface ChooseLocationOptions {
|
|
137
|
+
/** 目标地纬度 */
|
|
138
|
+
latitude?: number;
|
|
139
|
+
/** 目标地经度 */
|
|
140
|
+
longitude?: number;
|
|
141
|
+
/** 成功回调 */
|
|
142
|
+
success?: (res: ChooseLocationResult) => void;
|
|
143
|
+
/** 失败回调 */
|
|
144
|
+
fail?: (error: any) => void;
|
|
145
|
+
/** 完成回调(无论成功失败) */
|
|
146
|
+
complete?: () => void;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* 位置选择结果
|
|
151
|
+
*/
|
|
152
|
+
interface ChooseLocationResult {
|
|
153
|
+
/** 位置名称 */
|
|
154
|
+
name: string;
|
|
155
|
+
/** 详细地址 */
|
|
156
|
+
address: string;
|
|
157
|
+
/** 纬度 */
|
|
158
|
+
latitude: number;
|
|
159
|
+
/** 经度 */
|
|
160
|
+
longitude: number;
|
|
161
|
+
/** 错误信息 */
|
|
162
|
+
errMsg?: string;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* 位置选择功能能力信息
|
|
167
|
+
*/
|
|
168
|
+
interface ChooseLocationCapabilities {
|
|
169
|
+
/** 是否支持位置选择功能 */
|
|
170
|
+
supported: boolean;
|
|
171
|
+
/** 当前环境类型 */
|
|
172
|
+
environment: string;
|
|
173
|
+
/** 底层实现类型 */
|
|
174
|
+
implementation: string;
|
|
175
|
+
/** 功能特性 */
|
|
176
|
+
features: {
|
|
177
|
+
/** 支持位置选择 */
|
|
178
|
+
chooseLocation: boolean;
|
|
179
|
+
/** 支持指定中心点(latitude/longitude) */
|
|
180
|
+
centerPoint: boolean;
|
|
181
|
+
/** 支持 Promise */
|
|
182
|
+
asyncSupport: boolean;
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* 环境对象
|
|
188
|
+
*/
|
|
189
|
+
interface Environment {
|
|
190
|
+
/** 是否微信小程序环境 */
|
|
191
|
+
isWeixinMiniProgram: boolean;
|
|
192
|
+
/** 是否 APP Plus 环境 */
|
|
193
|
+
isAppPlus: boolean;
|
|
194
|
+
/** 是否 NVUE 环境 */
|
|
195
|
+
isNvue: boolean;
|
|
196
|
+
/** 是否 UVUE 环境 */
|
|
197
|
+
isUvue: boolean;
|
|
198
|
+
/** 是否 UniApp 环境 */
|
|
199
|
+
isUniApp: boolean;
|
|
200
|
+
/** 是否 Html5Plus 环境 */
|
|
201
|
+
isHtml5Plus: boolean;
|
|
202
|
+
/** 环境类型 */
|
|
203
|
+
type: 'weixin' | 'plus' | 'nvue' | 'uvue' | 'UniApp' | 'webview' | 'h5';
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* 微信分享选项
|
|
208
|
+
*/
|
|
209
|
+
interface ShareOptions {
|
|
210
|
+
/** 分享去向:0 聊天,1 朋友圈 */
|
|
211
|
+
scene?: 0 | 1;
|
|
212
|
+
/** 分享内容类型:0 图文,1 文字,2 图片,3 音乐,4 视频,5 小程序 */
|
|
213
|
+
type: 0 | 1 | 2 | 3 | 4 | 5;
|
|
214
|
+
title?: string;
|
|
215
|
+
summary?: string;
|
|
216
|
+
imageUrl?: string;
|
|
217
|
+
path?: string;
|
|
218
|
+
miniProgram?: Record<string, any>;
|
|
219
|
+
success?: (res: ShareResult) => void;
|
|
220
|
+
fail?: (error: any) => void;
|
|
221
|
+
complete?: () => void;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
interface ShareResult {
|
|
225
|
+
errMsg?: string;
|
|
226
|
+
[key: string]: any;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
interface BluetoothOptions {
|
|
230
|
+
success?: (res: any) => void;
|
|
231
|
+
fail?: (error: any) => void;
|
|
232
|
+
complete?: () => void;
|
|
233
|
+
[key: string]: any;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* WebView 对象接口
|
|
238
|
+
*/
|
|
239
|
+
interface WebView {
|
|
240
|
+
navigateTo(options: NavigateOptions): void;
|
|
241
|
+
navigateBack(options?: NavigateBackOptions): void;
|
|
242
|
+
switchTab(options: NavigateOptions): void;
|
|
243
|
+
reLaunch(options: NavigateOptions): void;
|
|
244
|
+
redirectTo(options: NavigateOptions): void;
|
|
245
|
+
postMessage(options?: PostMessageOptions): void;
|
|
246
|
+
getEnv(callback: (info: EnvironmentInfo) => void): void;
|
|
247
|
+
chooseImage(options?: ChooseImageOptions): void;
|
|
248
|
+
chooseLocation(options?: ChooseLocationOptions): void;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Uni 对象接口
|
|
253
|
+
*/
|
|
254
|
+
interface Uni extends WebView {
|
|
255
|
+
/** 环境信息 */
|
|
256
|
+
environment: Environment;
|
|
257
|
+
/** 等待桥接准备就绪 */
|
|
258
|
+
ready(): Promise<void>;
|
|
259
|
+
/** WebView 对象(兼容旧版本) */
|
|
260
|
+
webView: WebView | null;
|
|
261
|
+
|
|
262
|
+
/** 图片选择(Promise版本) */
|
|
263
|
+
chooseImageAsync(options?: Omit<ChooseImageOptions, 'success' | 'fail' | 'complete'>): Promise<ChooseImageResult>;
|
|
264
|
+
/** 获取图片功能能力信息 */
|
|
265
|
+
getImageCapabilities(): ImageCapabilities;
|
|
266
|
+
|
|
267
|
+
/** 位置选择(Promise版本) */
|
|
268
|
+
chooseLocationAsync(options?: Omit<ChooseLocationOptions, 'success' | 'fail' | 'complete'>): Promise<ChooseLocationResult>;
|
|
269
|
+
/** 获取位置选择功能能力信息 */
|
|
270
|
+
getChooseLocationCapabilities(): ChooseLocationCapabilities;
|
|
271
|
+
|
|
272
|
+
/** 图片来源类型枚举 */
|
|
273
|
+
ImageSourceTypes: ImageSourceTypesEnum;
|
|
274
|
+
/** 图片大小类型枚举 */
|
|
275
|
+
ImageSizeTypes: ImageSizeTypesEnum;
|
|
276
|
+
|
|
277
|
+
/** 微信分享 */
|
|
278
|
+
toShare(options: ShareOptions): Promise<ShareResult> | void;
|
|
279
|
+
toShareAsync(options: Omit<ShareOptions, 'success' | 'fail' | 'complete'>): Promise<ShareResult>;
|
|
280
|
+
|
|
281
|
+
/** 蓝牙 API */
|
|
282
|
+
openBluetoothAdapter(options?: BluetoothOptions): Promise<any> | void;
|
|
283
|
+
openBluetoothAdapterAsync(options?: BluetoothOptions): Promise<any>;
|
|
284
|
+
startBluetoothDevicesDiscovery(options?: BluetoothOptions): Promise<any> | void;
|
|
285
|
+
startBluetoothDevicesDiscoveryAsync(options?: BluetoothOptions): Promise<any>;
|
|
286
|
+
onBluetoothDeviceFound(options?: BluetoothOptions): Promise<any> | void;
|
|
287
|
+
onBluetoothDeviceFoundAsync(options?: BluetoothOptions): Promise<any>;
|
|
288
|
+
createBLEConnection(options?: BluetoothOptions): Promise<any> | void;
|
|
289
|
+
createBLEConnectionAsync(options?: BluetoothOptions): Promise<any>;
|
|
290
|
+
|
|
291
|
+
/** 观测指标 */
|
|
292
|
+
metrics: {
|
|
293
|
+
getPerformanceReport(): Record<string, any>;
|
|
294
|
+
clearPerformanceMetrics(): void;
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* 全局 qsh/uni 对象(默认导出为模块默认值)
|
|
302
|
+
*/
|
|
303
|
+
declare const qsh: UniWebView.Uni;
|
|
304
|
+
declare const uni: UniWebView.Uni;
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* 模块导出
|
|
308
|
+
*/
|
|
309
|
+
export default qsh;
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* 全局声明
|
|
313
|
+
*/
|
|
314
|
+
declare global {
|
|
315
|
+
interface Window {
|
|
316
|
+
qsh: UniWebView.Uni;
|
|
317
|
+
UniAppJSBridge?: boolean;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
137
321
|
export as namespace qsh;
|