@slan-health/taro-vueuse
Version:
taro vue版本hooks
23 lines (21 loc) • 1.5 kB
TypeScript
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;