Skip to content
Merged

Bing ad #5195

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/global/support/marketing/type.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export type ShortUrlParams = {
export type TrackRegisterParams = {
inviterId?: string;
bd_vid?: string;
msclkid?: string;
fastgpt_sem?: {
keyword?: string;
} & ShortUrlParams;
Expand Down
2 changes: 2 additions & 0 deletions projects/app/src/pageComponents/login/RegisterForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {
getBdVId,
getFastGPTSem,
getInviterId,
getMsclkid,
getSourceDomain,
removeFastGPTSem
} from '@/web/support/marketing/utils';
Expand Down Expand Up @@ -60,6 +61,7 @@ const RegisterForm = ({ setPageType, loginSuccess }: Props) => {
password,
inviterId: getInviterId(),
bd_vid: getBdVId(),
msclkid: getMsclkid(),
fastgpt_sem: getFastGPTSem(),
sourceDomain: getSourceDomain()
})
Expand Down
2 changes: 2 additions & 0 deletions projects/app/src/pages/login/provider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
getBdVId,
getFastGPTSem,
getInviterId,
getMsclkid,
getSourceDomain,
removeFastGPTSem
} from '@/web/support/marketing/utils';
Expand Down Expand Up @@ -49,6 +50,7 @@ const provider = () => {
callbackUrl: `${location.origin}/login/provider`,
inviterId: getInviterId(),
bd_vid: getBdVId(),
msclkid: getMsclkid(),
fastgpt_sem: getFastGPTSem(),
sourceDomain: getSourceDomain()
});
Expand Down
17 changes: 15 additions & 2 deletions projects/app/src/web/context/useInitApp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
setBdVId,
setFastGPTSem,
setInviterId,
setMsclkid,
setSourceDomain,
setUtmParams,
setUtmWorkflow
Expand All @@ -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;
Expand All @@ -31,6 +33,7 @@ type MarketingQueryParams = {
const MARKETING_PARAMS: (keyof MarketingQueryParams)[] = [
'hiId',
'bd_vid',
'msclkid',
'k',
'sourceDomain',
'utm_source',
Expand All @@ -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();
Expand Down Expand Up @@ -121,6 +133,7 @@ export const useInitApp = () => {
useMount(() => {
setInviterId(hiId);
setBdVId(bd_vid);
setMsclkid(msclkid);
setUtmWorkflow(utm_workflow);
setSourceDomain(sourceDomain);

Expand Down
8 changes: 8 additions & 0 deletions projects/app/src/web/support/marketing/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};
Expand Down
2 changes: 2 additions & 0 deletions projects/app/src/web/support/user/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,15 @@ export const postRegister = ({
code,
inviterId,
bd_vid,
msclkid,
fastgpt_sem
}: AccountRegisterBody) =>
POST<ResLogin>(`/proApi/support/user/account/register/emailAndPhone`, {
username,
code,
inviterId,
bd_vid,
msclkid,
fastgpt_sem,
password: hashStr(password)
});
Expand Down
Loading