1
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
|
||||
package="io.dcloud.uni_modules.xClipboardS">
|
||||
<uses-permission android:name="android.permission.READ_CLIPBOARD" />
|
||||
<uses-permission android:name="android.permission.WRITE_CLIPBOARD" />
|
||||
</manifest>
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"minSdkVersion": "21"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
import ClipData from "android.content.ClipData";
|
||||
import ClipboardManager from "android.content.ClipboardManager";
|
||||
import Context from "android.content.Context";
|
||||
|
||||
export const setClipboardData = (data : string):Promise<boolean> => {
|
||||
let context = UTSAndroid.getAppContext()!
|
||||
let clipboard : ClipboardManager | null = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager;
|
||||
let clip : ClipData | null = ClipData.newPlainText("label", data);
|
||||
if (clip != null && clipboard != null) {
|
||||
clipboard.setPrimaryClip(clip);
|
||||
return Promise.resolve(true)
|
||||
} else {
|
||||
return Promise.reject(false) as Promise<boolean>
|
||||
}
|
||||
}
|
||||
|
||||
export const getClipboardData = ():Promise<string> => {
|
||||
let context = UTSAndroid.getAppContext()!
|
||||
let clipboard : ClipboardManager | null = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager;
|
||||
if (clipboard != null) {
|
||||
if (clipboard.hasText()) {
|
||||
return Promise.resolve(clipboard.getText().toString())
|
||||
}
|
||||
}
|
||||
return Promise.reject('未知错误') as Promise<string>
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import { BusinessError, pasteboard } from '@kit.BasicServicesKit';
|
||||
|
||||
|
||||
export const setClipboardData = (data : string) : Promise<boolean> => {
|
||||
let pasteData : pasteboard.PasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, data);
|
||||
let systemPasteboard : pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
|
||||
return new Promise((res, rej) => {
|
||||
|
||||
systemPasteboard.setData(pasteData).then(() => {
|
||||
console.info("成功")
|
||||
res(true)
|
||||
})
|
||||
.catch((e) => {
|
||||
const err = e as BusinessError
|
||||
console.error(err.message)
|
||||
rej(false)
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
export const getClipboardData = () : Promise<string> => {
|
||||
let systemPasteboard : pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
|
||||
// return new Promise((res, rej) => {
|
||||
// systemPasteboard.getData((err, data) => {
|
||||
// if (err) {
|
||||
// console.error(err.message)
|
||||
// return rej(err.message);
|
||||
// }
|
||||
// res(data.getPrimaryText())
|
||||
// })
|
||||
// })
|
||||
|
||||
return Promise.resolve('')
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"module": {
|
||||
"name": "uni_modules__x_clipboard_s",
|
||||
"type":"har",
|
||||
"deviceTypes": [
|
||||
"default",
|
||||
"tablet",
|
||||
"2in1"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"string": [
|
||||
{
|
||||
"name": "permission_read_pasteboard",
|
||||
"value": "应用需要读取剪粘板进行应用的个性化需要"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPITypes</key>
|
||||
<array/>
|
||||
<key>NSPrivacyCollectedDataTypes</key>
|
||||
<array/>
|
||||
<key>NSPrivacyTracking</key>
|
||||
<false/>
|
||||
<key>NSPrivacyTrackingDomains</key>
|
||||
<array/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"deploymentTarget": "12"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import { UIPasteboard } from 'UIKit';
|
||||
|
||||
export const setClipboardData = (data : string):Promise<boolean> => {
|
||||
try {
|
||||
let borad : UIPasteboard = UIPasteboard.general
|
||||
borad.string = data;
|
||||
return Promise.resolve(true) as Promise<boolean>
|
||||
} catch (errors) {
|
||||
return Promise.reject(false) as Promise<boolean>
|
||||
}
|
||||
}
|
||||
|
||||
export const getClipboardData = ():Promise<string> => {
|
||||
try {
|
||||
let borad : UIPasteboard = UIPasteboard.general
|
||||
if(borad.string == null){
|
||||
return Promise.reject('未知错误') as Promise<string>
|
||||
}
|
||||
return Promise.resolve(borad.string!)
|
||||
} catch (errors) {
|
||||
return Promise.reject('未知错误') as Promise<string>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
export const setClipboardData = (data : string):Promise<boolean> => {
|
||||
return new Promise((resl,rejl)=>{
|
||||
wx.setClipboardData({
|
||||
data: data,
|
||||
success(res) {
|
||||
resl(true)
|
||||
},
|
||||
fail(res) {
|
||||
rejl(false)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
export const getClipboardData = ():Promise<string> => {
|
||||
return new Promise((resl,rejl)=>{
|
||||
wx.getClipboardData({
|
||||
success(res) {
|
||||
resl(res.data)
|
||||
},
|
||||
fail(res) {
|
||||
rejl('未知错误')
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
export const setClipboardData = (data : string):Promise<boolean> => {
|
||||
// 设置剪切板内容
|
||||
return new Promise((resl,rejl)=>{
|
||||
navigator.clipboard.writeText(data)
|
||||
.then(() => {
|
||||
resl(true)
|
||||
})
|
||||
.catch(err => {
|
||||
rejl(false)
|
||||
console.error('无法设置剪切板数据', err);
|
||||
});
|
||||
})
|
||||
}
|
||||
export const getClipboardData = ():Promise<string> => {
|
||||
let inputdom = document.createElement("input") as HTMLInputElement;
|
||||
inputdom.style.setProperty('opacity', '0')
|
||||
inputdom.style.setProperty('position', 'absolute')
|
||||
document.body.appendChild(inputdom)
|
||||
inputdom.focus();
|
||||
document.execCommand('paste');
|
||||
return new Promise((resl,rejl)=>{
|
||||
if (!document.execCommand('paste')) {
|
||||
navigator.clipboard.readText()
|
||||
.then(text => {
|
||||
resl(text)
|
||||
})
|
||||
.catch(err => {
|
||||
rejl('没有权限')
|
||||
console.error('无法读取剪切板内容: ', err);
|
||||
});
|
||||
} else {
|
||||
resl(inputdom.value)
|
||||
}
|
||||
inputdom.remove()
|
||||
})
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user