From 2026bee6772cbc270c5efda0718983a0309123ab Mon Sep 17 00:00:00 2001 From: ctrlz526 <3167694193@qq.com> Date: Tue, 1 Jul 2025 16:25:48 +0800 Subject: [PATCH 1/2] Bing Ad --- packages/global/support/marketing/type.d.ts | 1 + .../src/pageComponents/login/RegisterForm.tsx | 2 ++ projects/app/src/web/context/useInitApp.ts | 17 +++++++++++++++-- projects/app/src/web/support/marketing/utils.ts | 8 ++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/global/support/marketing/type.d.ts b/packages/global/support/marketing/type.d.ts index a0f0e30824ea..d53e92c21cc0 100644 --- a/packages/global/support/marketing/type.d.ts +++ b/packages/global/support/marketing/type.d.ts @@ -7,6 +7,7 @@ export type ShortUrlParams = { export type TrackRegisterParams = { inviterId?: string; bd_vid?: string; + msclkid?: string; fastgpt_sem?: { keyword?: string; } & ShortUrlParams; diff --git a/projects/app/src/pageComponents/login/RegisterForm.tsx b/projects/app/src/pageComponents/login/RegisterForm.tsx index c68b9dc0fd77..bd8e99cd180d 100644 --- a/projects/app/src/pageComponents/login/RegisterForm.tsx +++ b/projects/app/src/pageComponents/login/RegisterForm.tsx @@ -16,6 +16,7 @@ import { getBdVId, getFastGPTSem, getInviterId, + getMsclkid, getSourceDomain, removeFastGPTSem } from '@/web/support/marketing/utils'; @@ -60,6 +61,7 @@ const RegisterForm = ({ setPageType, loginSuccess }: Props) => { password, inviterId: getInviterId(), bd_vid: getBdVId(), + msclkid: getMsclkid(), fastgpt_sem: getFastGPTSem(), sourceDomain: getSourceDomain() }) diff --git a/projects/app/src/web/context/useInitApp.ts b/projects/app/src/web/context/useInitApp.ts index a12fc4391d9c..3dcbd1fd2cc2 100644 --- a/projects/app/src/web/context/useInitApp.ts +++ b/projects/app/src/web/context/useInitApp.ts @@ -11,6 +11,7 @@ import { setBdVId, setFastGPTSem, setInviterId, + setMsclkid, setSourceDomain, setUtmParams, setUtmWorkflow @@ -20,6 +21,7 @@ import { type ShortUrlParams } from '@fastgpt/global/support/marketing/type'; type MarketingQueryParams = { hiId?: string; bd_vid?: string; + msclkid?: string; k?: string; sourceDomain?: string; utm_source?: string; @@ -31,6 +33,7 @@ type MarketingQueryParams = { const MARKETING_PARAMS: (keyof MarketingQueryParams)[] = [ 'hiId', 'bd_vid', + 'msclkid', 'k', 'sourceDomain', 'utm_source', @@ -41,8 +44,17 @@ const MARKETING_PARAMS: (keyof MarketingQueryParams)[] = [ export const useInitApp = () => { const router = useRouter(); - const { hiId, bd_vid, k, sourceDomain, utm_source, utm_medium, utm_content, utm_workflow } = - router.query as MarketingQueryParams; + const { + hiId, + bd_vid, + msclkid, + k, + sourceDomain, + utm_source, + utm_medium, + utm_content, + utm_workflow + } = router.query as MarketingQueryParams; const { loadGitStar, setInitd, feConfigs } = useSystemStore(); const { userInfo } = useUserStore(); @@ -121,6 +133,7 @@ export const useInitApp = () => { useMount(() => { setInviterId(hiId); setBdVId(bd_vid); + setMsclkid(msclkid); setUtmWorkflow(utm_workflow); setSourceDomain(sourceDomain); diff --git a/projects/app/src/web/support/marketing/utils.ts b/projects/app/src/web/support/marketing/utils.ts index 56e9f2635c3d..e3e854e42f02 100644 --- a/projects/app/src/web/support/marketing/utils.ts +++ b/projects/app/src/web/support/marketing/utils.ts @@ -22,6 +22,14 @@ export const setBdVId = (bdVid?: string) => { sessionStorage.setItem('bd_vid', bdVid); }; +export const getMsclkid = () => { + return sessionStorage.getItem('msclkid') || undefined; +}; +export const setMsclkid = (msclkid?: string) => { + if (!msclkid) return; + sessionStorage.setItem('msclkid', msclkid); +}; + export const getUtmWorkflow = () => { return localStorage.getItem('utm_workflow') || undefined; }; From e1fccc47e936b616929e74b4387388ad636fc5e5 Mon Sep 17 00:00:00 2001 From: ctrlz526 <3167694193@qq.com> Date: Thu, 10 Jul 2025 16:17:36 +0800 Subject: [PATCH 2/2] Add msclkid parameter to login provider and registration API --- projects/app/src/pages/login/provider.tsx | 2 ++ projects/app/src/web/support/user/api.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/projects/app/src/pages/login/provider.tsx b/projects/app/src/pages/login/provider.tsx index 8320d10d554a..e4bddbacd685 100644 --- a/projects/app/src/pages/login/provider.tsx +++ b/projects/app/src/pages/login/provider.tsx @@ -15,6 +15,7 @@ import { getBdVId, getFastGPTSem, getInviterId, + getMsclkid, getSourceDomain, removeFastGPTSem } from '@/web/support/marketing/utils'; @@ -49,6 +50,7 @@ const provider = () => { callbackUrl: `${location.origin}/login/provider`, inviterId: getInviterId(), bd_vid: getBdVId(), + msclkid: getMsclkid(), fastgpt_sem: getFastGPTSem(), sourceDomain: getSourceDomain() }); diff --git a/projects/app/src/web/support/user/api.ts b/projects/app/src/web/support/user/api.ts index a856e14cedb7..bc0e4a4ee9c7 100644 --- a/projects/app/src/web/support/user/api.ts +++ b/projects/app/src/web/support/user/api.ts @@ -37,6 +37,7 @@ export const postRegister = ({ code, inviterId, bd_vid, + msclkid, fastgpt_sem }: AccountRegisterBody) => POST(`/proApi/support/user/account/register/emailAndPhone`, { @@ -44,6 +45,7 @@ export const postRegister = ({ code, inviterId, bd_vid, + msclkid, fastgpt_sem, password: hashStr(password) });