diff --git a/app/components/chat.tsx b/app/components/chat.tsx index 6691403e6..0edbd260c 100644 --- a/app/components/chat.tsx +++ b/app/components/chat.tsx @@ -13,7 +13,6 @@ import SendWhiteIcon from "../icons/send-white.svg"; import BrainIcon from "../icons/brain.svg"; import RenameIcon from "../icons/rename.svg"; import EditIcon from "../icons/rename.svg"; -import ExportIcon from "../icons/share.svg"; import ReturnIcon from "../icons/return.svg"; import CopyIcon from "../icons/copy.svg"; import SpeakIcon from "../icons/speak.svg"; @@ -1283,6 +1282,7 @@ function _Chat() { }); }; + const appstore = useAppConfig(); const accessStore = useAccessStore(); const [speechStatus, setSpeechStatus] = useState(false); const [speechLoading, setSpeechLoading] = useState(false); @@ -1340,7 +1340,10 @@ function _Chat() { ) { const copiedHello = Object.assign({}, BOT_HELLO); if (!accessStore.isAuthorized()) { - copiedHello.content = Locale.Error.Unauthorized; + if (!isEmpty(appstore.omeToken)) { + } else { + copiedHello.content = Locale.Error.Unauthorized; + } } context.push(copiedHello); } @@ -1569,6 +1572,7 @@ function _Chat() { const imagesData: string[] = []; for (let i = 0; i < files.length; i++) { const file = event.target.files[i]; + console.log("file", file); uploadImageRemote(file) .then((dataUrl) => { imagesData.push(dataUrl); @@ -1735,7 +1739,7 @@ function _Chat() { /> )} -
+ {/*
} bordered @@ -1744,7 +1748,7 @@ function _Chat() { setShowExport(true); }} /> -
+
*/} {showMaxIcon && (
{ - window.parent.postMessage("omemetis is ready", "*"); + if (window.ReactNativeWebView) { + try { + const message = { + data: "omemetis is ready", + url: location.origin, + }; + window.ReactNativeWebView.postMessage(JSON.stringify(message)); + } catch {} + } else { + window.parent.postMessage("omemetis is ready", "*"); + } const handleMessage = (event: any) => { - if (!event.origin.includes("omeoffice")) { - return; // 如果不是信任的源,忽略消息 - } + const data = event.data; - if (!isEmpty(event?.data?.omeToken)) - appConfig.setOmeToken(event.data.omeToken); + if (isEmpty(data) || (typeof data === "string" && data === "")) return; + + if (window.ReactNativeWebView) { + try { + const params = JSON.parse(data); + + if (!isEmpty(params?.ometoken) && params?.from === "OmeOfficeApp") { + appConfig.setOmeToken(params?.ometoken ?? ""); + } + } catch {} + } else { + if ( + !event.origin.includes("omeoffice") && + !event.origin.includes("localhost") + ) { + return; // 如果不是信任的源,忽略消息 + } + + if (!isEmpty(event?.data?.ometoken)) + appConfig.setOmeToken(event.data.ometoken); + } }; window.addEventListener("message", handleMessage); diff --git a/app/components/settings.tsx b/app/components/settings.tsx index 68ebcf084..c3ceee54c 100644 --- a/app/components/settings.tsx +++ b/app/components/settings.tsx @@ -49,8 +49,7 @@ import Locale, { changeLang, getLang, } from "../locales"; -import { copyToClipboard, clientUpdate, semverCompare } from "../utils"; -import Link from "next/link"; +import { copyToClipboard, semverCompare } from "../utils"; import { Anthropic, Azure, @@ -67,7 +66,6 @@ import { RELEASE_URL, STORAGE_KEY, ServiceProvider, - SlotID, UPDATE_URL, Stability, Iflytek, @@ -1510,7 +1508,7 @@ export function Settings() { - checkUpdate(true)} /> )} - + */}