UNPKG

@slan-health/taro-vueuse

Version:

taro vue版本hooks

23 lines (21 loc) 1.5 kB
import { previewImage, getImageInfo, compressImage, chooseImage, chooseMessageFile } from '@tarojs/taro'; import { Ref } from 'vue'; export type ChooseImageOption = Partial<Pick<chooseImage.Option, 'count' | 'sizeType' | 'sourceType'>>; export type PreviewImageOption = Pick<previewImage.Option, 'current' | 'urls'>; export type ChooseImageAction = (option?: ChooseImageOption) => Promise<chooseImage.SuccessCallbackResult>; export type PreviewImageAction = (option: PreviewImageOption) => Promise<TaroGeneral.CallbackResult>; export type SaveImageToPhotosAlbumAction = (filePath: string) => Promise<TaroGeneral.CallbackResult>; export type GetImageInfoAction = (src: string) => Promise<getImageInfo.SuccessCallbackResult>; export type ChooseMessageFileAction = (count: number, type?: Pick<chooseMessageFile.Option, 'type'>, extend?: Pick<chooseMessageFile.Option, 'extension'>) => Promise<chooseMessageFile.SuccessCallbackResult>; export type CompressImageAction = (src: string, quality?: number) => Promise<compressImage.SuccessCallbackResult>; export type IFileInfo = Ref<Pick<chooseImage.SuccessCallbackResult, 'tempFilePaths' | 'tempFiles'>>; export interface IAction { choose: ChooseImageAction; chooseMessageFile: ChooseMessageFileAction; preview: PreviewImageAction; save: SaveImageToPhotosAlbumAction; getInfo: GetImageInfoAction; compress: CompressImageAction; } declare function useImage(options: ChooseImageOption): [IFileInfo, IAction]; export default useImage;