interface.uts 21.8 KB
Newer Older
1

DCloud-yyl's avatar
DCloud-yyl 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14
/**
 * 错误码
 * - 1101001 用户取消
 * - 1101002 urls至少包含一张图片地址
 * - 1101003 文件不存在
 * - 1101004 图片加载失败
 * - 1101005 未获取权限
 * - 1101006 图片或视频保存失败
 * - 1101007 图片裁剪失败
 * - 1101008 拍照或录像失败
 * - 1101009 图片压缩失败
 * - 1101010 其他错误
 */
15

DCloud-yyl's avatar
DCloud-yyl 已提交
16 17 18 19 20 21 22 23 24 25 26
export type MediaErrorCode = 1101001 | 1101002 | 1101003 | 1101004 | 1101005 | 1101006 | 1101007 | 1101008 | 1101009 | 1101010;

/**
 * 图片或视频操作失败的错误回调
 */
export interface IMediaError extends IUniError {
	errCode : MediaErrorCode
};


export type ChooseImageSuccess = {
27 28 29 30
	/**
	 * 调用API的名称
	 */
	errSubject : string,
DCloud-yyl's avatar
DCloud-yyl 已提交
31 32 33
	/**
	 * 描述信息
	 */
34
	errMsg : string,
DCloud-yyl's avatar
DCloud-yyl 已提交
35 36 37 38
	/**
	 * 图片的本地文件路径列表
	 * @type string | string []
	 */
39
	tempFilePaths : Array<string>,
DCloud-yyl's avatar
DCloud-yyl 已提交
40 41 42
	/**
	 * 图片的本地文件列表
	 */
43 44 45
	tempFiles : any
}

DCloud-yyl's avatar
DCloud-yyl 已提交
46 47 48 49 50
export type ChooseImageFail = IMediaError;
export type ChooseImageSuccessCallback = (callback : ChooseImageSuccess) => void
export type ChooseImageFailCallback = (callback : ChooseImageFail) => void
export type ChooseImageCompleteCallback = (callback : any) => void

51 52 53 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
export type ChooseImageCropOptions = {
	/**
	 * 裁剪的宽度,单位为px,用于计算裁剪宽高比。
	 */
	width : number;
	/**
	 * 裁剪的高度,单位为px,用于计算裁剪宽高比。
	 */
	height : number;
	/**
	 * 取值范围为1-100,数值越小,质量越低(仅对jpg格式有效)。默认值为80。
	 * @defaultValue 80
	 */
	quality : (number) | null;
	/**
	 * 是否将width和height作为裁剪保存图片真实的像素值。默认值为true。注:设置为false时在裁剪编辑界面显示图片的像素值,设置为true时不显示。
	 * @type boolean
	 */
	resize : (boolean) | null;
}

export type ChooseImageOptions = {
	/**
	 * 最多可以选择的图片张数,app端不限制,微信小程序最多可支持20个。
	 * @defaultValue 9
	 */
	count ?: (number) | null,
	/**
	 * original 原图,compressed 压缩图,默认二者都有
	 * @type string | string []
	 * @defaultValue ['original','compressed']
	 */
	sizeType ?: (string[]) | null,
	/**
	 * album 从相册选图,camera 使用相机,默认二者都有
	 * @defaultValue ['album','camera']
	 */
	sourceType ?: (string[]) | null,
	/**
	 * 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。仅H5支持
DCloud-yyl's avatar
DCloud-yyl 已提交
91 92 93 94 95 96 97 98 99
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "5.0",
	 *			"uniVer": "√",
	 *			"unixVer": "x"
	 *		}
	 *	}
	 * }
100 101 102 103 104 105 106 107 108
	 */
	extension ?: (string[]) | null,
	/**
	 * 图像裁剪参数,设置后 sizeType 失效。
	 */
	crop ?: (ChooseImageCropOptions) | null,
	/**
	 * 成功则返回图片的本地文件路径列表 tempFilePaths
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
109
	success ?: (ChooseImageSuccessCallback) | null,
110 111 112
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
113
	fail ?: (ChooseImageFailCallback) | null,
114 115 116
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
117
	complete ?: (ChooseImageCompleteCallback) | null
118 119 120 121
}

export type ChooseImage = (options : ChooseImageOptions) => void

DCloud-yyl's avatar
DCloud-yyl 已提交
122 123 124 125
export type PreviewImageSuccess = {
	/**
	 * 调用API的名称
	 */
126
	errSubject : string,
DCloud-yyl's avatar
DCloud-yyl 已提交
127 128 129
	/**
	 * 描述信息
	 */
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
	errMsg : string
}

export type LongPressActionsSuccessData = {
	/**
	 * 接口调用失败的回调函数
	 */
	tapIndex : number,
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
	index : number
};
export type LongPressActionsOptions = {
	/**
	 * 按钮的文字数组
	 */
	itemList : string[],
	/**
	 * 按钮的文字颜色,字符串格式,默认为"#000000"
	 */
	itemColor : string | null,
	/**
	 * 接口调用成功的回调函数
	 */
	success : ((result : LongPressActionsSuccessData) => void) | null,
	/**
	 * 接口调用失败的回调函数
	 */
	fail : ((result : any) => void) | null,
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
	complete : ((result : any) => void) | null
};

DCloud-yyl's avatar
DCloud-yyl 已提交
166 167 168 169 170 171

export type PreviewImageFail = IMediaError;
export type PreviewImageSuccessCallback = (callback : PreviewImageSuccess) => void
export type PreviewImageFailCallback = (callback : PreviewImageFail) => void
export type PreviewImageCompleteCallback = ChooseImageCompleteCallback

172 173
export type PreviewImageOptions = {
	/**
DCloud-yyl's avatar
DCloud-yyl 已提交
174
	 * current 为当前显示图片的链接/索引值,不填或填写的值无效则为 urls 的第一张。
175 176 177 178 179 180
	 * @type string | number
	 */
	current ?: any | null,
	/**
	 * 需要预览的图片链接列表
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
181
	urls : Array<string.ImageURIString>,
182 183 184 185 186 187 188 189 190 191 192 193 194 195
	/**
	 * 图片指示器样式
	 * - default: 底部圆点指示器
	 * - number: 顶部数字指示器
	 * - none: 不显示指示器
	 * @type 'default' | 'number' | 'none'
	 */
	indicator ?: string | null,
	/**
	 * 是否可循环预览
	 * @type boolean
	 */
	loop ?: boolean | null,
	/**
DCloud-yyl's avatar
DCloud-yyl 已提交
196 197 198 199 200 201 202 203 204 205
	 * 长按图片显示操作菜单,如不填默认为保存相册。
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "x"
	 *		}
	 *	}
	 * }
206 207 208 209 210
	 */
	longPressActions ?: LongPressActionsOptions | null,
	/**
	 * 接口调用成功的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
211
	success ?: (PreviewImageSuccessCallback) | null,
212 213 214
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
215
	fail ?: (PreviewImageFailCallback) | null,
216 217 218
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
219
	complete ?: (PreviewImageCompleteCallback) | null
220 221 222 223 224
};

export type PreviewImage = (options : PreviewImageOptions) => void;

export type ClosePreviewImage = (options : ClosePreviewImageOptions) => void;
DCloud-yyl's avatar
DCloud-yyl 已提交
225
export type ClosePreviewImageSuccess = {
226 227 228 229 230 231
	/**
	 * 错误信息
	 */
	errMsg : string
};

DCloud-yyl's avatar
DCloud-yyl 已提交
232 233 234 235 236
export type ClosePreviewImageFail = IMediaError;
export type ClosePreviewImageSuccessCallback = (callback : ClosePreviewImageSuccess) => void
export type ClosePreviewImageFailCallback = (callback : ClosePreviewImageFail) => void
export type ClosePreviewImageCompleteCallback = ChooseImageCompleteCallback

237 238 239 240
export type ClosePreviewImageOptions = {
	/**
	 * 接口调用成功的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
241
	success ?: (ClosePreviewImageSuccessCallback) | null,
242 243 244
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
245
	fail ?: (ClosePreviewImageFailCallback) | null,
246 247 248
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
249
	complete ?: (ClosePreviewImageCompleteCallback) | null
250 251 252
};

export type GetImageInfo = (options : GetImageInfoOptions) => void;
DCloud-yyl's avatar
DCloud-yyl 已提交
253
export type GetImageInfoSuccess = {
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275
	/**
	 * 图片宽度,单位px
	 */
	width : number,
	/**
	 * 图片高度,单位px
	 */
	height : number,
	/**
	 * 返回图片的本地路径
	 */
	path : string,
	/**
	 * 返回图片的方向
	 */
	orientation : string | null,
	/**
	 * 返回图片的格式
	 */
	type : string | null
};

DCloud-yyl's avatar
DCloud-yyl 已提交
276 277 278 279 280
export type GetImageInfoFail = IMediaError;
export type GetImageInfoSuccessCallback = (callback : GetImageInfoSuccess) => void
export type GetImageInfoFailCallback = (callback : GetImageInfoFail) => void
export type GetImageInfoCompleteCallback = ChooseImageCompleteCallback

281 282 283 284
export type GetImageInfoOptions = {
	/**
	 * 图片的路径,可以是相对路径,临时文件路径,存储文件路径,网络图片路径
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
285
	src : string.ImageURIString,
286 287 288
	/**
	 * 接口调用成功的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
289
	success ?: (GetImageInfoSuccessCallback) | null,
290 291 292
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
293
	fail ?: (GetImageInfoFailCallback) | null,
294 295 296
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
297
	complete ?: (GetImageInfoCompleteCallback) | null
298 299 300 301
};

export type SaveImageToPhotosAlbum = (options : SaveImageToPhotosAlbumOptions) => void;

DCloud-yyl's avatar
DCloud-yyl 已提交
302
export type SaveImageToPhotosAlbumSuccess = {
303 304 305 306 307 308
	/**
	 * 保存到相册的图片路径
	 */
	path : string
};

DCloud-yyl's avatar
DCloud-yyl 已提交
309 310 311 312 313
export type SaveImageToPhotosAlbumFail = IMediaError;
export type SaveImageToPhotosAlbumSuccessCallback = (callback : SaveImageToPhotosAlbumSuccess) => void
export type SaveImageToPhotosAlbumFailCallback = (callback : SaveImageToPhotosAlbumFail) => void
export type SaveImageToPhotosAlbumCompleteCallback = ChooseImageCompleteCallback

314 315 316 317
export type SaveImageToPhotosAlbumOptions = {
	/**
	 * 图片文件路径,可以是临时文件路径也可以是永久文件路径,不支持网络图片路径
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
318
	filePath : string.ImageURIString,
319 320 321
	/**
	 * 接口调用成功的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
322
	success ?: (SaveImageToPhotosAlbumSuccessCallback) | null,
323 324 325
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
326
	fail ?: (SaveImageToPhotosAlbumFailCallback) | null,
327 328 329
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
330
	complete ?: (SaveImageToPhotosAlbumCompleteCallback) | null
331 332
};
export type CompressImage = (options : CompressImageOptions) => void;
DCloud-yyl's avatar
DCloud-yyl 已提交
333
export type CompressImageSuccess = {
334 335 336 337 338
	/**
	 * 压缩后图片的临时文件路径
	 */
	tempFilePath : string
};
DCloud-yyl's avatar
DCloud-yyl 已提交
339 340 341 342 343 344

export type CompressImageFail = IMediaError;
export type CompressImageSuccessCallback = (callback : CompressImageSuccess) => void
export type CompressImageFailCallback = (callback : CompressImageFail) => void
export type CompressImageCompleteCallback = ChooseImageCompleteCallback

345 346 347 348
export type CompressImageOptions = {
	/**
	 * 图片路径,图片的路径,可以是相对路径、临时文件路径、存储文件路径
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
349
	src : string.ImageURIString,
350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376
	/**
	 * 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)
	 */
	quality ?: number | null,
	/**
	 * 旋转度数,范围0~360
	 */
	rotate ?: number | null,
	/**
	 * 缩放图片的宽度
	 */
	width ?: string | null,
	/**
	 * 缩放图片的高度
	 */
	height ?: string | null,
	/**
	 * 压缩后图片的高度,单位为px,若不填写则默认以compressedWidth为准等比缩放
	 */
	compressedHeight ?: number | null,
	/**
	 * 压缩后图片的宽度,单位为px,若不填写则默认以compressedHeight为准等比缩放。
	 */
	compressedWidth ?: number | null,
	/**
	 * 接口调用成功的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
377
	success ?: (CompressImageSuccessCallback) | null,
378 379 380
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
381
	fail ?: (CompressImageFailCallback) | null,
382 383 384
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
385
	complete ?: (CompressImageCompleteCallback) | null
386 387
};

DCloud-yyl's avatar
DCloud-yyl 已提交
388
export type ChooseVideoSuccess = {
389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
	/**
	 * 选定视频的临时文件路径
	 */
	tempFilePath : string,
	/**
	 * 选定的视频文件,仅H5支持
	 */
	// tempFile: File|null,
	/**
	 * 选定视频的时间长度
	 */
	duration : number,
	/**
	 * 选定视频的数据量大小
	 */
	size : number,
	/**
	 * 返回选定视频的长
	 */
	height : number,
	/**
	 * 返回选定视频的宽
	 */
	width : number,
	/**
	 * 包含扩展名的文件名称(仅H5支持)
	 */
	// name: string | null
};

DCloud-yyl's avatar
DCloud-yyl 已提交
419 420 421 422 423
export type ChooseVideoFail = IMediaError;
export type ChooseVideoSuccessCallback = (callback : ChooseVideoSuccess) => void
export type ChooseVideoFailCallback = (callback : ChooseVideoFail) => void
export type ChooseVideoCompleteCallback = ChooseImageCompleteCallback

424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451
export type ChooseVideoOptions = {
	/**
	 * album 从相册选视频,camera 使用相机拍摄,默认为:['album', 'camera']
	 */
	sourceType ?: (string[]) | null,
	/**
	 * 是否压缩所选的视频源文件,默认值为true,需要压缩
	 * @type boolean
	 */
	compressed ?: boolean | null,
	/**
	 * 拍摄视频最长拍摄时间,单位秒。最长支持 60 秒
	 */
	maxDuration ?: number | null,
	/**
	 * 摄像切换
	 * - front: 前置摄像头
	 * - back: 后置摄像头
	 * @type 'front' | 'back'
	 */
	camera ?: string | null,
	/**
	 * 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。
	 */
	extension ?: (string[]) | null,
	/**
	 * 接口调用成功,返回视频文件的临时文件路径,详见返回参数说明
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
452
	success ?: (ChooseVideoSuccessCallback) | null,
453 454 455
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
456
	fail ?: (ChooseVideoFailCallback) | null,
457 458 459
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
460
	complete ?: (ChooseVideoCompleteCallback) | null
461 462 463 464
};

export type ChooseVideo = (options : ChooseVideoOptions) => void;

DCloud-yyl's avatar
DCloud-yyl 已提交
465
export type GetVideoInfoSuccess = {
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499
	/**
	 * 画面方向
	 */
	orientation : string | null,
	/**
	 * 视频格式
	 */
	type : string | null,
	/**
	 * 视频长度
	 */
	duration : number,
	/**
	 * 视频大小,单位 kB
	 */
	size : number,
	/**
	 * 视频的长,单位 px
	 */
	height : number,
	/**
	 * 视频的宽,单位 px
	 */
	width : number,
	/**
	 * 视频帧率
	 */
	fps : number | null,
	/**
	 * 视频码率,单位 kbps
	 */
	bitrate : number | null
};

DCloud-yyl's avatar
DCloud-yyl 已提交
500 501 502 503 504
export type GetVideoInfoFail = IMediaError;
export type GetVideoInfoSuccessCallback = (callback : GetVideoInfoSuccess) => void
export type GetVideoInfoFailCallback = (callback : GetVideoInfoFail) => void
export type GetVideoInfoCompleteCallback = ChooseImageCompleteCallback

505 506 507 508
export type GetVideoInfoOptions = {
	/**
	 * 视频文件路径,可以是临时文件路径也可以是永久文件路径
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
509
	src : string.VideoURIString,
510 511 512
	/**
	 * 接口调用成功的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
513
	success ?: (GetVideoInfoSuccessCallback) | null,
514 515 516
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
517
	fail ?: (GetVideoInfoFailCallback) | null,
518 519 520
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
521
	complete ?: (GetVideoInfoCompleteCallback) | null
522 523 524 525
};

export type GetVideoInfo = (options : GetVideoInfoOptions) => void;

DCloud-yyl's avatar
DCloud-yyl 已提交
526 527 528 529 530 531
export type SaveVideoToPhotosAlbumSuccess = {};

export type SaveVideoToPhotosAlbumFail = IMediaError;
export type SaveVideoToPhotosAlbumSuccessCallback = (callback : SaveVideoToPhotosAlbumSuccess) => void
export type SaveVideoToPhotosAlbumFailCallback = (callback : SaveVideoToPhotosAlbumFail) => void
export type SaveVideoToPhotosAlbumCompleteCallback = ChooseImageCompleteCallback
532 533 534 535 536

export type SaveVideoToPhotosAlbumOptions = {
	/**
	 * 视频文件路径,可以是临时文件路径也可以是永久文件路径
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
537
	filePath : string.VideoURIString,
538 539 540
	/**
	 * 接口调用成功的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
541
	success ?: (SaveVideoToPhotosAlbumSuccessCallback) | null,
542 543 544
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
545
	fail ?: (SaveVideoToPhotosAlbumFailCallback) | null,
546 547 548
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
549
	complete ?: (SaveVideoToPhotosAlbumCompleteCallback) | null
550 551 552 553
};

export type SaveVideoToPhotosAlbum = (options : SaveVideoToPhotosAlbumOptions) => void;

DCloud-yyl's avatar
DCloud-yyl 已提交
554
export type CompressVideoSuccess = {
555 556 557 558 559 560 561 562 563 564
	/**
	 * 压缩后的临时文件地址
	 */
	tempFilePath : string,
	/**
	 * 压缩后的大小,单位 kB
	 */
	size : number
};

DCloud-yyl's avatar
DCloud-yyl 已提交
565 566 567 568 569
export type CompressVideoFail = IMediaError;
export type CompressVideoSuccessCallback = (callback : CompressVideoSuccess) => void
export type CompressVideoFailCallback = (callback : CompressVideoFail) => void
export type CompressVideoCompleteCallback = ChooseImageCompleteCallback

570 571 572 573
export type CompressVideoOptions = {
	/**
	 * 视频文件路径,可以是临时文件路径也可以是永久文件路径
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
574
	src : string.VideoURIString,
575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597
	/**
	 * 压缩质量
	 * - low: 低
	 * - medium: 中
	 * - high: 高
	 * @type 'low' | 'medium' | 'high'
	 */
	quality ?: string | null,
	/**
	 * 码率,单位 kbps
	 */
	bitrate ?: number | null,
	/**
	 * 帧率
	 */
	fps ?: number | null,
	/**
	 * 相对于原视频的分辨率比例,取值范围(0, 1]
	 */
	resolution ?: number | null,
	/**
	 * 接口调用成功的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
598
	success ?: (CompressVideoSuccessCallback) | null,
599 600 601
	/**
	 * 接口调用失败的回调函数
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
602
	fail ?: (CompressVideoFailCallback) | null,
603 604 605
	/**
	 * 接口调用结束的回调函数(调用成功、失败都会执行)
	 */
DCloud-yyl's avatar
DCloud-yyl 已提交
606
	complete ?: (CompressVideoCompleteCallback) | null
607 608 609 610 611 612 613 614 615 616 617 618 619 620
};

export type CompressVideo = (options : CompressVideoOptions) => void;

export interface Uni {
	/**
	 * 从本地相册选择图片或使用相机拍照
	 * @description 从本地相册选择图片或使用相机拍照
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
DCloud-yyl's avatar
DCloud-yyl 已提交
621 622 623 624 625
	 *		},
	 *		"ios": {
	 *			"osVer": "12.0",
	 *			"uniVer": "√",
	 *			"unixVer": "4.11"
626
	 *		}
DCloud-yyl's avatar
DCloud-yyl 已提交
627 628 629 630 631
	 *	},
     *  "web": {
     *    "uniVer": "√",
     *    "unixVer": "4.0"
     *  }
632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.chooseImage({
	 *	count:3,
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	}
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/image?id=chooseimage
	 * @autotest {
	   generated:false
	 }
	 */
	chooseImage(options : ChooseImageOptions) : void;
	/**
	 * 预览图片
	 * @description 预览图片
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
DCloud-yyl's avatar
DCloud-yyl 已提交
658 659 660 661 662
	 *		},
	 *		"ios": {
	 *			"osVer": "12.0",
	 *			"uniVer": "√",
	 *			"unixVer": "4.11"
663
	 *		}
DCloud-yyl's avatar
DCloud-yyl 已提交
664 665 666 667 668
	 *	},
     *  "web": {
     *    "uniVer": "√",
     *    "unixVer": "4.0"
     *  }
669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.previewImage({
	 *	urls:['/static/a.jpg','/static/b.jpg'],
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	}
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/image?id=previewimage
	 * @autotest {
	   generated:false
	 }
	 */
	previewImage(options : PreviewImageOptions) : void;
	/**
	 * 关闭图片预览
	 * @description 关闭图片预览
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
DCloud-yyl's avatar
DCloud-yyl 已提交
695 696 697 698 699
	 *		},
	 *		"ios": {
	 *			"osVer": "12.0",
	 *			"uniVer": "√",
	 *			"unixVer": "4.11"
700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759
	 *		}
	 *	}
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.closePreviewImage({
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	}
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/image?id=closepreviewimage
	 * @autotest {
	   generated:false
	 }
	 */
	closePreviewImage(options : ClosePreviewImageOptions) : void;
	/**
	 * 获取图片信息
	 * @description 获取图片信息
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
	 *		}
	 *	}
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.getImageInfo({
	 *	src:'/static/a.jpg',
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	},
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/image?id=getimageinfo
	 * @autotest {
	   generated:false,
	   case:[
		 {
		   input:[{"src":"/static/a.jpg"}]
		 }
	   ]
	 }
	 */
	getImageInfo(options : GetImageInfoOptions) : void;
	/**
	 * 保存图片到系统相册
	 * @description 保存图片到系统相册
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
DCloud-yyl's avatar
DCloud-yyl 已提交
760 761 762 763 764
	 *		},
	 *		"ios": {
	 *			"osVer": "12.0",
	 *			"uniVer": "√",
	 *			"unixVer": "4.11"
765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927
	 *		}
	 *	}
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.saveImageToPhotosAlbum({
	 *	filePath:'/static/a.jpg',
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	},
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/image?id=saveimagetophotosalbum
	 * @autotest {
	   generated:false,
	   case:[
		 {
		   input:[{"filePath":"/static/a.jpg"}]
		 }
	   ]
	 }
	 */
	saveImageToPhotosAlbum(options : SaveImageToPhotosAlbumOptions) : void;
	/**
	 * 压缩图片
	 * @description 压缩图片
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
	 *		}
	 *	}
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.compressImage({
	 *	src:'/static/a.jpg',
	 * 	quality:80,
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	},
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/image?id=compressimage
	 * @autotest {
	   generated:false,
	   case:[
		 {
		   input:[{"src":"/static/d.jpg"},{"rotate","30"}]
		 }
	   ]
	 }
	 */
	compressImage(options : CompressImageOptions) : void;
	/**
	 * 拍摄视频或从手机相册中选视频,返回视频的临时文件路径。
	 * @description 拍摄视频或从手机相册中选视频,返回视频的临时文件路径。
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
	 *		}
	 *	}
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.chooseVideo({
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	},
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/video?id=choosevideo
	 * 
	 */
	chooseVideo(options : ChooseVideoOptions) : void;
	/**
	 * 获取视频详细信息
	 * @description 获取视频详细信息
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
	 *		}
	 *	}
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.GetVideoInfo({
	 *  src:"/static/a.mp4",
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	},
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/video?id=getvideoinfo
	 *
	 */
	getVideoInfo(options : GetVideoInfoOptions) : void;
	/**
	 * 保存视频到系统相册
	 * @description 保存视频到系统相册
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
	 *		}
	 *	}
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.saveVideoToPhotosAlbum({
	 *  filePath:"/static/a.mp4",
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	},
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/video?id=savevideotophotosalbum
	 *
	 */
	saveVideoToPhotosAlbum(options : SaveVideoToPhotosAlbumOptions) : void;
	/**
	 * 压缩视频
	 * @description 压缩视频
	 * @uniPlatform {
	 *	 "app": {
	 *		"android": {
	 *			"osVer": "4.4",
	 *			"uniVer": "√",
	 *			"unixVer": "3.9+"
	 *		}
	 *	}
	 * }
	 * @uniVueVersion 2,3
	 * @example
	 * ```typescript
	 * uni.compressVideo({
	 *  src:"/static/a.mp4",
	 *  quality:"low",
	 *	success(e){
	 *		console.log(JSON.stringify(e))	 
	 * 	},
	 * })
	 * ```
	 * @tutorial http://uniapp.dcloud.io/api/media/video?id=compressvideo
	 *
	 */
	compressVideo(options : CompressVideoOptions) : void;
}