diff --git a/packages/uni-api/src/protocols/device/setClipboardData.ts b/packages/uni-api/src/protocols/device/setClipboardData.ts index c630129b44fd70415c6bd6ed67483f72b275cd85..01d3088aeee5cb40078759d2b0d549cc585fd127 100644 --- a/packages/uni-api/src/protocols/device/setClipboardData.ts +++ b/packages/uni-api/src/protocols/device/setClipboardData.ts @@ -1,4 +1,6 @@ +export const API_GET_CLIPBOARD_DATA = 'getClipboardData' export const API_SET_CLIPBOARD_DATA = 'setClipboardData' +export type API_TYPE_GET_CLIPBOARD_DATA = typeof uni.getClipboardData export type API_TYPE_SET_CLIPBOARD_DATA = typeof uni.setClipboardData export const SetClipboardDataOptions: ApiOptions = { diff --git a/packages/uni-app-plus/src/service/api/device/clipboard.ts b/packages/uni-app-plus/src/service/api/device/clipboard.ts new file mode 100644 index 0000000000000000000000000000000000000000..9f0a97171930f7f85266fabde5fb3ff8bd8480a1 --- /dev/null +++ b/packages/uni-app-plus/src/service/api/device/clipboard.ts @@ -0,0 +1,33 @@ +import { + API_GET_CLIPBOARD_DATA, + API_SET_CLIPBOARD_DATA, + API_TYPE_GET_CLIPBOARD_DATA, + API_TYPE_SET_CLIPBOARD_DATA, + defineAsyncApi, +} from '@dcloudio/uni-api' +import { requireNativePlugin } from '../base' + +export const getClipboardData = defineAsyncApi( + API_GET_CLIPBOARD_DATA, + (_, { resolve, reject }) => { + const clipboard = requireNativePlugin('clipboard') + clipboard.getString((ret: any) => { + if (ret.result === 'success') { + resolve({ + data: ret.data, + }) + } else { + reject('getClipboardData:fail') + } + }) + } +) + +export const setClipboardData = defineAsyncApi( + API_SET_CLIPBOARD_DATA, + (options, { resolve }) => { + const clipboard = requireNativePlugin('clipboard') + clipboard.setString(options.data) + resolve() + } +) diff --git a/packages/uni-app-plus/src/service/api/index.ts b/packages/uni-app-plus/src/service/api/index.ts index adcf00c3666b4f707d86027a1cb049f2a8611663..91edd3200f62ab86b3cfaa68c4e8c9bf61047401 100644 --- a/packages/uni-app-plus/src/service/api/index.ts +++ b/packages/uni-app-plus/src/service/api/index.ts @@ -8,6 +8,7 @@ export * from './device/accelerometer' export * from './device/bluetooth' export * from './device/ibeacon' export * from './device/makePhoneCall' +export * from './device/clipboard' export * from './media/getImageInfo' export * from './media/getVideoInfo'