From 3770881c923dc8dd61d677ef277f772402b3cbc0 Mon Sep 17 00:00:00 2001 From: wangdongbo <> Date: Thu, 13 Aug 2026 09:47:38 +0800 Subject: [PATCH] =?UTF-8?q?ai=E5=92=A8=E8=AF=A2=E5=8A=A9=E6=89=8B=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/login/login.vue | 5 ++++- pages/login/redirect-page.vue | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pages/login/login.vue b/pages/login/login.vue index caac2c2..2b2ce5b 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -132,6 +132,9 @@ async function bindTeam() { return toast("关联团队失败"); } await syncExternalUserRelation(); + if (redirectUrl.value) { + return attempToPage(redirectUrl.value); + } const res1 = await api('getWxAppCustomerCount', { miniAppId: account.value.openid, corpId: team.value.corpId, teamId: team.value.teamId }); if (res1 && res1.data > 0) { toHome(); @@ -166,7 +169,7 @@ async function attempToPage(url) { onLoad((opts) => { if (opts.source === "teamInvite") { team.value = get("invite-team-info"); - redirectUrl.value = `/pages/archive/edit-archive?corpUserId=${team.value.corpUserId || ''}&teamId=${team.value.teamId}&corpId=${team.value.corpId}`; + redirectUrl.value = team.value.redirectUrl || `/pages/archive/edit-archive?corpUserId=${team.value.corpUserId || ''}&teamId=${team.value.teamId}&corpId=${team.value.corpId}`; return; } redirectUrl.value = opts.redirectUrl || ""; diff --git a/pages/login/redirect-page.vue b/pages/login/redirect-page.vue index 472ae95..17bc8df 100644 --- a/pages/login/redirect-page.vue +++ b/pages/login/redirect-page.vue @@ -75,8 +75,13 @@ async function syncExternalUserRelation({ corpId, externalUserId, corpUserId }) } } -async function changeTeam({ teamId, corpId, corpUserId, externalUserId, qrid, referenceCustomerId }) { +function getAiConsultEntryUrl({ teamId, corpId, qrid }) { + return `/pages/ai-consult/entry?teamId=${teamId || ''}&corpId=${corpId || ''}&qrid=${qrid || ''}`; +} + +async function changeTeam({ teamId, corpId, corpUserId, externalUserId, qrid, referenceCustomerId, type }) { const normalizedCorpId = normalizeCorpId(corpId); + const redirectUrl = type === 'aiConsult' ? getAiConsultEntryUrl({ teamId, corpId: normalizedCorpId, qrid }) : ''; loading.value = true; const res = await api("getTeamData", { teamId, corpId: normalizedCorpId, withCorpName: true }); loading.value = false; @@ -96,13 +101,14 @@ async function changeTeam({ teamId, corpId, corpUserId, externalUserId, qrid, re }); await login('', { forceVerify: true }) if (account.value && account.value.mobile) { - bindTeam({ corpUserId, externalUserId }) + bindTeam({ corpUserId, externalUserId, redirectUrl }) } else { set("invite-team-info", { corpUserId, externalUserId, qrid, referenceCustomerId, + redirectUrl, corpId: team.value.corpId, teamId: team.value.teamId, corpName: team.value.corpName, @@ -121,7 +127,7 @@ async function changeTeam({ teamId, corpId, corpUserId, externalUserId, qrid, re } } -async function bindTeam({ corpUserId, externalUserId }) { +async function bindTeam({ corpUserId, externalUserId, redirectUrl = '' }) { const res = await api('bindWxappWithTeam', { appid, corpId: team.value.corpId, teamId: team.value.teamId, openid: account.value.openid }); if (!res || !res.success) { return toast("关联团队失败"); @@ -131,6 +137,9 @@ async function bindTeam({ corpUserId, externalUserId }) { externalUserId, corpUserId, }); + if (redirectUrl) { + return uni.redirectTo({ url: redirectUrl }); + } const res1 = await api('getWxAppCustomerCount', { miniAppId: account.value.openid, corpId: team.value.corpId, teamId: team.value.teamId }); if (res1 && res1.data > 0) { uni.switchTab({