diff --git a/lib/apis.js b/lib/apis.js index 00f849583f18b48580aeae73b1dd6c4ed06e0c73..0a6bd7fae02229bbd958d899f71c9e4f261de7a8 100644 --- a/lib/apis.js +++ b/lib/apis.js @@ -53,6 +53,7 @@ const media = [ 'chooseImage', 'chooseFile', 'previewImage', + 'closePreviewImage', 'getImageInfo', 'getVideoInfo', 'saveImageToPhotosAlbum', diff --git a/src/core/service/api/media/preview-image.js b/src/core/service/api/media/preview-image.js index ddda86e817ae7f1fd90670f6e275fd45ea1693b0..a5a0e21c627ea54a73477196abb392589150466a 100644 --- a/src/core/service/api/media/preview-image.js +++ b/src/core/service/api/media/preview-image.js @@ -25,3 +25,7 @@ export function previewImage (args = {}) { return invokeMethod('previewImagePlus', args) } + +export function closePreviewImage (args = {}) { + return invokeMethod('closePreviewImagePlus', args) +} diff --git a/src/platforms/app-plus/service/api/media/preview-image.js b/src/platforms/app-plus/service/api/media/preview-image.js index a9dcbb8a5bdeca9628eccee15c3c9e4fc1a0fae8..0c559caa575aa2291bc7dee8fa3c4a84ed1b909e 100644 --- a/src/platforms/app-plus/service/api/media/preview-image.js +++ b/src/platforms/app-plus/service/api/media/preview-image.js @@ -10,7 +10,7 @@ import { t } from 'uni-core/helpers/i18n' -export function previewImagePlus ({ +export function previewImagePlus({ current = 0, background = '#000000', indicator = 'number', @@ -85,3 +85,16 @@ export function previewImagePlus ({ errMsg: 'previewImage:ok' } } + +export function closePreviewImagePlus() { + try { + plus.nativeUI.closePreviewImage() + return { + errMsg: 'closePreviewImagePlus:ok' + } + } catch (error) { + return { + errMsg: 'closePreviewImagePlus:fail' + } + } +} diff --git a/src/platforms/h5/service/api/media/preview-image.js b/src/platforms/h5/service/api/media/preview-image.js index f26d42c7afb11e40a67ea7ab2973ba13cb829bce..b508424506355bdfd83fbb80934a4794f675b5ed 100644 --- a/src/platforms/h5/service/api/media/preview-image.js +++ b/src/platforms/h5/service/api/media/preview-image.js @@ -1,11 +1,11 @@ +const { + invokeCallbackHandler: invoke +} = UniServiceJSBridge + export function previewImage ({ urls, current }, callbackId) { - const { - invokeCallbackHandler: invoke - } = UniServiceJSBridge - getApp().$router.push({ type: 'navigateTo', path: '/preview-image', @@ -22,4 +22,18 @@ export function previewImage ({ errMsg: 'previewImage:fail' }) }) -} +} + +export function closePreviewImage (_, callbackId) { + const $router = getApp().$router + if ($router.history.current.path === '/preview-image') { + $router.back() + invoke(callbackId, { + errMsg: 'closePreviewImage:ok' + }) + } else { + invoke(callbackId, { + errMsg: 'closePreviewImage:fail' + }) + } +}