From f5e177db89307a1f311803ebe3cd845d408f0cbb Mon Sep 17 00:00:00 2001 From: NFish Date: Thu, 31 Jul 2025 14:18:54 +0800 Subject: [PATCH] fix: call checkOrSetAccessToken when app access mode is PUBLIC (#23195) Co-authored-by: crazywoola <427733928@qq.com> --- .../app/overview/embedded/index.tsx | 6 +++++ web/context/web-app-context.tsx | 23 ++++++++----------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/web/app/components/app/overview/embedded/index.tsx b/web/app/components/app/overview/embedded/index.tsx index 9d97eae38..cd25c4ca6 100644 --- a/web/app/components/app/overview/embedded/index.tsx +++ b/web/app/components/app/overview/embedded/index.tsx @@ -46,6 +46,12 @@ const OPTION_MAP = { ? `, baseUrl: '${url}${basePath}'` : ''}, + inputs: { + // You can define the inputs from the Start node here + // key is the variable name + // e.g. + // name: "NAME" + }, systemVariables: { // user_id: 'YOU CAN DEFINE USER ID HERE', // conversation_id: 'YOU CAN DEFINE CONVERSATION ID HERE, IT MUST BE A VALID UUID', diff --git a/web/context/web-app-context.tsx b/web/context/web-app-context.tsx index db1c5158d..e78ef81bb 100644 --- a/web/context/web-app-context.tsx +++ b/web/context/web-app-context.tsx @@ -61,22 +61,18 @@ const WebAppStoreProvider: FC = ({ children }) => { const pathname = usePathname() const searchParams = useSearchParams() const redirectUrlParam = searchParams.get('redirect_url') - const session = searchParams.get('session') - const sysUserId = searchParams.get('sys.user_id') - const [shareCode, setShareCode] = useState(null) - useEffect(() => { - const shareCodeFromRedirect = getShareCodeFromRedirectUrl(redirectUrlParam) - const shareCodeFromPathname = getShareCodeFromPathname(pathname) - const newShareCode = shareCodeFromRedirect || shareCodeFromPathname - setShareCode(newShareCode) - updateShareCode(newShareCode) - }, [pathname, redirectUrlParam, updateShareCode]) + + // Compute shareCode directly + const shareCode = getShareCodeFromRedirectUrl(redirectUrlParam) || getShareCodeFromPathname(pathname) + updateShareCode(shareCode) + const { isFetching, data: accessModeResult } = useGetWebAppAccessModeByCode(shareCode) - const [isFetchingAccessToken, setIsFetchingAccessToken] = useState(true) + const [isFetchingAccessToken, setIsFetchingAccessToken] = useState(false) + useEffect(() => { if (accessModeResult?.accessMode) { updateWebAppAccessMode(accessModeResult.accessMode) - if (accessModeResult?.accessMode === AccessMode.PUBLIC && session && sysUserId) { + if (accessModeResult.accessMode === AccessMode.PUBLIC) { setIsFetchingAccessToken(true) checkOrSetAccessToken(shareCode).finally(() => { setIsFetchingAccessToken(false) @@ -86,7 +82,8 @@ const WebAppStoreProvider: FC = ({ children }) => { setIsFetchingAccessToken(false) } } - }, [accessModeResult, updateWebAppAccessMode, setIsFetchingAccessToken, shareCode, session, sysUserId]) + }, [accessModeResult, updateWebAppAccessMode, shareCode]) + if (isFetching || isFetchingAccessToken) { return