feat: close #1994 add clipboard write api

This commit is contained in:
Yidadaa 2023-06-29 00:27:18 +08:00
parent ea6926cad3
commit 98afd5516b
4 changed files with 27 additions and 5 deletions

6
app/global.d.ts vendored
View File

@ -9,3 +9,9 @@ declare module "*.scss" {
}
declare module "*.svg";
declare interface Window {
__TAURI__?: {
writeText(text: string): Promise<void>;
};
}

View File

@ -8,7 +8,12 @@ export function trimTopic(topic: string) {
export async function copyToClipboard(text: string) {
try {
await navigator.clipboard.writeText(text);
if (window.__TAURI__) {
window.__TAURI__.writeText(text);
} else {
await navigator.clipboard.writeText(text);
}
showToast(Locale.Copy.Success);
} catch (error) {
const textArea = document.createElement("textarea");

View File

@ -17,7 +17,7 @@ tauri-build = { version = "1.3.0", features = [] }
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.3.0", features = ["clipboard-all", "shell-open", "updater", "window-close", "window-hide", "window-maximize", "window-minimize", "window-set-icon", "window-set-ignore-cursor-events", "window-set-resizable", "window-show", "window-start-dragging", "window-unmaximize", "window-unminimize"] }
tauri = { version = "1.3.0", features = ["clipboard-all", "dialog-all", "shell-open", "updater", "window-close", "window-hide", "window-maximize", "window-minimize", "window-set-icon", "window-set-ignore-cursor-events", "window-set-resizable", "window-show", "window-start-dragging", "window-unmaximize", "window-unminimize"] }
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
[features]

View File

@ -4,11 +4,12 @@
"beforeBuildCommand": "yarn export",
"beforeDevCommand": "yarn export:dev",
"devPath": "http://localhost:3000",
"distDir": "../out"
"distDir": "../out",
"withGlobalTauri": true
},
"package": {
"productName": "chatgpt-next-web",
"version": "2.8.4"
"version": "2.8.5"
},
"tauri": {
"allowlist": {
@ -17,8 +18,18 @@
"all": false,
"open": true
},
"dialog": {
"all": true,
"ask": true,
"confirm": true,
"message": true,
"open": true,
"save": true
},
"clipboard": {
"all": true
"all": true,
"writeText": true,
"readText": true
},
"window": {
"all": false,