* Bing Ad

* Add msclkid parameter to login provider and registration API
This commit is contained in:
Zhuangzai fa
2025-07-10 17:10:19 +08:00
committed by GitHub
parent 9b24b35695
commit 286138a454
6 changed files with 30 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ export type ShortUrlParams = {
export type TrackRegisterParams = { export type TrackRegisterParams = {
inviterId?: string; inviterId?: string;
bd_vid?: string; bd_vid?: string;
msclkid?: string;
fastgpt_sem?: { fastgpt_sem?: {
keyword?: string; keyword?: string;
} & ShortUrlParams; } & ShortUrlParams;

View File

@@ -16,6 +16,7 @@ import {
getBdVId, getBdVId,
getFastGPTSem, getFastGPTSem,
getInviterId, getInviterId,
getMsclkid,
getSourceDomain, getSourceDomain,
removeFastGPTSem removeFastGPTSem
} from '@/web/support/marketing/utils'; } from '@/web/support/marketing/utils';
@@ -60,6 +61,7 @@ const RegisterForm = ({ setPageType, loginSuccess }: Props) => {
password, password,
inviterId: getInviterId(), inviterId: getInviterId(),
bd_vid: getBdVId(), bd_vid: getBdVId(),
msclkid: getMsclkid(),
fastgpt_sem: getFastGPTSem(), fastgpt_sem: getFastGPTSem(),
sourceDomain: getSourceDomain() sourceDomain: getSourceDomain()
}) })

View File

@@ -15,6 +15,7 @@ import {
getBdVId, getBdVId,
getFastGPTSem, getFastGPTSem,
getInviterId, getInviterId,
getMsclkid,
getSourceDomain, getSourceDomain,
removeFastGPTSem removeFastGPTSem
} from '@/web/support/marketing/utils'; } from '@/web/support/marketing/utils';
@@ -49,6 +50,7 @@ const provider = () => {
callbackUrl: `${location.origin}/login/provider`, callbackUrl: `${location.origin}/login/provider`,
inviterId: getInviterId(), inviterId: getInviterId(),
bd_vid: getBdVId(), bd_vid: getBdVId(),
msclkid: getMsclkid(),
fastgpt_sem: getFastGPTSem(), fastgpt_sem: getFastGPTSem(),
sourceDomain: getSourceDomain() sourceDomain: getSourceDomain()
}); });

View File

@@ -11,6 +11,7 @@ import {
setBdVId, setBdVId,
setFastGPTSem, setFastGPTSem,
setInviterId, setInviterId,
setMsclkid,
setSourceDomain, setSourceDomain,
setUtmParams, setUtmParams,
setUtmWorkflow setUtmWorkflow
@@ -20,6 +21,7 @@ import { type ShortUrlParams } from '@fastgpt/global/support/marketing/type';
type MarketingQueryParams = { type MarketingQueryParams = {
hiId?: string; hiId?: string;
bd_vid?: string; bd_vid?: string;
msclkid?: string;
k?: string; k?: string;
sourceDomain?: string; sourceDomain?: string;
utm_source?: string; utm_source?: string;
@@ -31,6 +33,7 @@ type MarketingQueryParams = {
const MARKETING_PARAMS: (keyof MarketingQueryParams)[] = [ const MARKETING_PARAMS: (keyof MarketingQueryParams)[] = [
'hiId', 'hiId',
'bd_vid', 'bd_vid',
'msclkid',
'k', 'k',
'sourceDomain', 'sourceDomain',
'utm_source', 'utm_source',
@@ -41,8 +44,17 @@ const MARKETING_PARAMS: (keyof MarketingQueryParams)[] = [
export const useInitApp = () => { export const useInitApp = () => {
const router = useRouter(); const router = useRouter();
const { hiId, bd_vid, k, sourceDomain, utm_source, utm_medium, utm_content, utm_workflow } = const {
router.query as MarketingQueryParams; hiId,
bd_vid,
msclkid,
k,
sourceDomain,
utm_source,
utm_medium,
utm_content,
utm_workflow
} = router.query as MarketingQueryParams;
const { loadGitStar, setInitd, feConfigs } = useSystemStore(); const { loadGitStar, setInitd, feConfigs } = useSystemStore();
const { userInfo } = useUserStore(); const { userInfo } = useUserStore();
@@ -121,6 +133,7 @@ export const useInitApp = () => {
useMount(() => { useMount(() => {
setInviterId(hiId); setInviterId(hiId);
setBdVId(bd_vid); setBdVId(bd_vid);
setMsclkid(msclkid);
setUtmWorkflow(utm_workflow); setUtmWorkflow(utm_workflow);
setSourceDomain(sourceDomain); setSourceDomain(sourceDomain);

View File

@@ -22,6 +22,14 @@ export const setBdVId = (bdVid?: string) => {
sessionStorage.setItem('bd_vid', bdVid); 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 = () => { export const getUtmWorkflow = () => {
return localStorage.getItem('utm_workflow') || undefined; return localStorage.getItem('utm_workflow') || undefined;
}; };

View File

@@ -37,6 +37,7 @@ export const postRegister = ({
code, code,
inviterId, inviterId,
bd_vid, bd_vid,
msclkid,
fastgpt_sem fastgpt_sem
}: AccountRegisterBody) => }: AccountRegisterBody) =>
POST<ResLogin>(`/proApi/support/user/account/register/emailAndPhone`, { POST<ResLogin>(`/proApi/support/user/account/register/emailAndPhone`, {
@@ -44,6 +45,7 @@ export const postRegister = ({
code, code,
inviterId, inviterId,
bd_vid, bd_vid,
msclkid,
fastgpt_sem, fastgpt_sem,
password: hashStr(password) password: hashStr(password)
}); });