diff --git a/app/src/mobile/util/menu.ts b/app/src/mobile/util/menu.ts index 248c2f5c0..0d4be950f 100644 --- a/app/src/mobile/util/menu.ts +++ b/app/src/mobile/util/menu.ts @@ -319,6 +319,7 @@ ${accountHTML} writeText(window.siyuan.config.repo.key); }); modelMainElement.querySelector("#token").addEventListener("click", () => { + showMessage(window.siyuan.languages.copied); writeText(window.siyuan.config.api.token); }); modelMainElement.querySelector("#exportData").addEventListener("click", () => { diff --git a/app/src/protyle/util/compatibility.ts b/app/src/protyle/util/compatibility.ts index 63db39d11..a19041662 100644 --- a/app/src/protyle/util/compatibility.ts +++ b/app/src/protyle/util/compatibility.ts @@ -1,5 +1,16 @@ export const writeText = async (text: string) => { try { + // navigator.clipboard.writeText 抛出异常不进入 catch,这里需要先处理移动端复制 + if ("android" === window.siyuan.config.system.container && window.JSAndroid) { + + window.JSAndroid.writeClipboard(text); + return; + } + if (window.siyuan.config.system.container === "ios" && window.webkit?.messageHandlers) { + window.webkit.messageHandlers.setClipboard.postMessage(text); + return; + } + navigator.clipboard.writeText(text); } catch (e) { if (window.siyuan.config.system.container === "ios" && window.webkit?.messageHandlers) {