From a1493d4c47f31f130bca37f273626c8e7dd3868e Mon Sep 17 00:00:00 2001 From: tianjiaxing Date: Thu, 24 Jun 2021 20:34:31 +0800 Subject: [PATCH] feat(App): saveImageToPhotosAlbum --- .../protocols/media/saveImageToPhotosAlbum.ts | 19 ++++++++++++++ .../uni-app-plus/src/service/api/index.ts | 1 + .../api/media/saveImageToPhotosAlbum.ts | 25 +++++++++++++++++++ .../api/media/saveVideoToPhotosAlbum.ts | 4 +-- 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 packages/uni-app-plus/src/service/api/media/saveImageToPhotosAlbum.ts diff --git a/packages/uni-api/src/protocols/media/saveImageToPhotosAlbum.ts b/packages/uni-api/src/protocols/media/saveImageToPhotosAlbum.ts index a517e5847..5e16e0404 100644 --- a/packages/uni-api/src/protocols/media/saveImageToPhotosAlbum.ts +++ b/packages/uni-api/src/protocols/media/saveImageToPhotosAlbum.ts @@ -1,3 +1,22 @@ +import { getRealPath } from '@dcloudio/uni-platform' + export const API_SAVE_IMAGE_TO_PHOTOS_ALBUM = 'saveImageToPhotosAlbum' export type API_TYPE_SAVE_IMAGE_TO_PHOTOS_ALBUM = typeof uni.saveImageToPhotosAlbum + +export const SaveImageToPhotosAlbumOptions: ApiOptions = + { + formatArgs: { + filePath(filePath, params) { + params.filePath = getRealPath(filePath) + }, + }, + } + +export const SaveImageToPhotosAlbumProtocol: ApiProtocol = + { + filePath: { + type: String, + required: true, + }, + } diff --git a/packages/uni-app-plus/src/service/api/index.ts b/packages/uni-app-plus/src/service/api/index.ts index a324801eb..269c347fb 100644 --- a/packages/uni-app-plus/src/service/api/index.ts +++ b/packages/uni-app-plus/src/service/api/index.ts @@ -14,6 +14,7 @@ export * from './media/getVideoInfo' export * from './media/previewImage' export * from './media/getRecorderManager' export * from './media/saveVideoToPhotosAlbum' +export * from './media/saveImageToPhotosAlbum' export * from './keyboard/keyboard' diff --git a/packages/uni-app-plus/src/service/api/media/saveImageToPhotosAlbum.ts b/packages/uni-app-plus/src/service/api/media/saveImageToPhotosAlbum.ts new file mode 100644 index 000000000..640b714a7 --- /dev/null +++ b/packages/uni-app-plus/src/service/api/media/saveImageToPhotosAlbum.ts @@ -0,0 +1,25 @@ +import { + API_SAVE_IMAGE_TO_PHOTOS_ALBUM, + API_TYPE_SAVE_IMAGE_TO_PHOTOS_ALBUM, + defineAsyncApi, + SaveImageToPhotosAlbumOptions, + SaveImageToPhotosAlbumProtocol, +} from '@dcloudio/uni-api' +import { + warpPlusSuccessCallback, + warpPlusErrorCallback, +} from '../../../helpers/plus' + +export const saveImageToPhotosAlbum = + defineAsyncApi( + API_SAVE_IMAGE_TO_PHOTOS_ALBUM, + (options, { resolve, reject }) => { + plus.gallery.save( + options.filePath, + warpPlusSuccessCallback(resolve), + warpPlusErrorCallback(reject) + ) + }, + SaveImageToPhotosAlbumProtocol, + SaveImageToPhotosAlbumOptions + ) diff --git a/packages/uni-app-plus/src/service/api/media/saveVideoToPhotosAlbum.ts b/packages/uni-app-plus/src/service/api/media/saveVideoToPhotosAlbum.ts index a216e2cc6..1f04e47ac 100644 --- a/packages/uni-app-plus/src/service/api/media/saveVideoToPhotosAlbum.ts +++ b/packages/uni-app-plus/src/service/api/media/saveVideoToPhotosAlbum.ts @@ -16,8 +16,8 @@ export const saveVideoToPhotosAlbum = (options, { resolve, reject }) => { plus.gallery.save( options.filePath, - (e) => warpPlusSuccessCallback(resolve), - (e) => warpPlusErrorCallback(reject) + warpPlusSuccessCallback(resolve), + warpPlusErrorCallback(reject) ) }, SaveVideoToPhotosAlbumProtocol, -- GitLab