mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-19 10:07:24 +00:00
Bing ad (#5195)
* Bing Ad * Add msclkid parameter to login provider and registration API
This commit is contained in:
1
packages/global/support/marketing/type.d.ts
vendored
1
packages/global/support/marketing/type.d.ts
vendored
@@ -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;
|
||||||
|
@@ -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()
|
||||||
})
|
})
|
||||||
|
@@ -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()
|
||||||
});
|
});
|
||||||
|
@@ -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);
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
};
|
};
|
||||||
|
@@ -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)
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user