From 71cbbd5569627bd8c34d624c72dad7a34873f1a1 Mon Sep 17 00:00:00 2001 From: "LUOJIE\\coolp" Date: Mon, 2 Feb 2026 18:48:25 +0800 Subject: [PATCH] =?UTF-8?q?cookie=E4=B8=AD=E6=90=BA=E5=B8=A6=E9=82=AE?= =?UTF-8?q?=E7=AE=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/base/iframe-postmessage.tsx | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/dify_1.11.1/web/app/components/base/iframe-postmessage.tsx b/dify_1.11.1/web/app/components/base/iframe-postmessage.tsx index e21dbf05..152f9e9e 100644 --- a/dify_1.11.1/web/app/components/base/iframe-postmessage.tsx +++ b/dify_1.11.1/web/app/components/base/iframe-postmessage.tsx @@ -1,6 +1,8 @@ 'use client' import { useEffect, useRef } from 'react' import { useSelector } from '@/context/app-context' +import { get } from '@/service/base' +import Cookies from 'js-cookie' /** * IframePostMessage @@ -70,6 +72,28 @@ const IframePostMessage = () => { } } + /** + * fetchAndStoreEmail + * 调用 /console/api/account/profile 接口,获取当前用户信息, + * 并将其中的 email 字段写入浏览器 Cookie。 + */ + const fetchAndStoreEmail = async () => { + try { + const profile = await get<{ email: string }>('/account/profile') + const email = profile?.email || '' + if (email) { + Cookies.set('email', email, { + expires: 365, + path: '/', + sameSite: 'Lax', + secure: globalThis.location.protocol === 'https:', + } as any) + } + } catch { + // 忽略接口错误 + } + } + useEffect(() => { if (initializedRef.current) return initializedRef.current = true @@ -104,6 +128,13 @@ const IframePostMessage = () => { applyHeaderVisibility() }, [isCurrentWorkspaceManager]) + /** + * 初始化时调用接口并写入 email 到 Cookie + */ + useEffect(() => { + fetchAndStoreEmail() + }, []) + return null }