diff --git a/packages/uni-app-plus/src/service/api/file/openDocument.ts b/packages/uni-app-plus/src/service/api/file/openDocument.ts new file mode 100644 index 0000000000000000000000000000000000000000..919a95a887e0a7646f4960333c5accbb653edcef --- /dev/null +++ b/packages/uni-app-plus/src/service/api/file/openDocument.ts @@ -0,0 +1,26 @@ +import { + API_OPEN_DOCUMENT, + API_TYPE_OPEN_DOCUMENT, + defineAsyncApi, + OpenDocumentProtocol, + OpenDocumentOptions, +} from '@dcloudio/uni-api' + +import { getRealPath } from '@dcloudio/uni-platform' +export const openDocument = defineAsyncApi( + API_OPEN_DOCUMENT, + ({ filePath, fileType }, { resolve, reject }) => { + plus.io.resolveLocalFileSystemURL( + getRealPath(filePath), + (entry) => { + plus.runtime.openFile(getRealPath(filePath)) + resolve() + }, + (err) => { + reject('openDocument:fail ' + err.message) + } + ) + }, + OpenDocumentProtocol, + OpenDocumentOptions +) diff --git a/packages/uni-app-plus/src/service/api/index.ts b/packages/uni-app-plus/src/service/api/index.ts index e513a335809899e8ab9c45ed1e003cf87e5e9a9d..094dc04c6ed216ca22de7f1bc7811721293a8e67 100644 --- a/packages/uni-app-plus/src/service/api/index.ts +++ b/packages/uni-app-plus/src/service/api/index.ts @@ -1,5 +1,6 @@ export * from './storage/storage' export * from './file/getFileInfo' +export * from './file/openDocument' export * from './device/compass' export * from './device/vibrate'