mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-11 17:49:02 +08:00
chore: utm (#2180)
This commit is contained in:
parent
95ad06c8c3
commit
0940084fd2
@ -15,6 +15,14 @@ const SwrInitor = ({
|
|||||||
const searchParams = useSearchParams()
|
const searchParams = useSearchParams()
|
||||||
const consoleToken = searchParams.get('console_token')
|
const consoleToken = searchParams.get('console_token')
|
||||||
const consoleTokenFromLocalStorage = localStorage?.getItem('console_token')
|
const consoleTokenFromLocalStorage = localStorage?.getItem('console_token')
|
||||||
|
const utm = {
|
||||||
|
utm_source: searchParams.get('utm_source') || '',
|
||||||
|
utm_medium: searchParams.get('utm_medium') || '',
|
||||||
|
utm_campaign: searchParams.get('utm_campaign') || '',
|
||||||
|
utm_content: searchParams.get('utm_content') || '',
|
||||||
|
utm_term: searchParams.get('utm_term') || '',
|
||||||
|
}
|
||||||
|
localStorage?.setItem('utm', JSON.stringify(utm))
|
||||||
const [init, setInit] = useState(false)
|
const [init, setInit] = useState(false)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -23,7 +31,7 @@ const SwrInitor = ({
|
|||||||
|
|
||||||
if (consoleToken) {
|
if (consoleToken) {
|
||||||
localStorage?.setItem('console_token', consoleToken!)
|
localStorage?.setItem('console_token', consoleToken!)
|
||||||
router.replace('/apps', { forceOptimisticNavigation: false })
|
router.replace('/apps', { forceOptimisticNavigation: false } as any)
|
||||||
}
|
}
|
||||||
setInit(true)
|
setInit(true)
|
||||||
}, [])
|
}, [])
|
||||||
|
@ -7,6 +7,7 @@ import {
|
|||||||
fetchModelList,
|
fetchModelList,
|
||||||
fetchModelProviders,
|
fetchModelProviders,
|
||||||
fetchSupportRetrievalMethods,
|
fetchSupportRetrievalMethods,
|
||||||
|
operationUtm,
|
||||||
} from '@/service/common'
|
} from '@/service/common'
|
||||||
import {
|
import {
|
||||||
ModelFeatureEnum,
|
ModelFeatureEnum,
|
||||||
@ -97,6 +98,23 @@ export const ProviderContextProvider = ({
|
|||||||
const [isFetchedPlan, setIsFetchedPlan] = useState(false)
|
const [isFetchedPlan, setIsFetchedPlan] = useState(false)
|
||||||
const [enableBilling, setEnableBilling] = useState(true)
|
const [enableBilling, setEnableBilling] = useState(true)
|
||||||
const [enableReplaceWebAppLogo, setEnableReplaceWebAppLogo] = useState(false)
|
const [enableReplaceWebAppLogo, setEnableReplaceWebAppLogo] = useState(false)
|
||||||
|
|
||||||
|
const handleOperateUtm = () => {
|
||||||
|
let utm
|
||||||
|
try {
|
||||||
|
utm = JSON.parse(localStorage?.getItem('utm') || '{}')
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
utm = {
|
||||||
|
utm_source: '',
|
||||||
|
utm_medium: '',
|
||||||
|
utm_campaign: '',
|
||||||
|
utm_content: '',
|
||||||
|
utm_term: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
operationUtm({ url: '/operation/utm', body: utm })
|
||||||
|
}
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
(async () => {
|
(async () => {
|
||||||
const data = await fetchCurrentPlanInfo()
|
const data = await fetchCurrentPlanInfo()
|
||||||
@ -105,13 +123,7 @@ export const ProviderContextProvider = ({
|
|||||||
setEnableReplaceWebAppLogo(data.can_replace_logo)
|
setEnableReplaceWebAppLogo(data.can_replace_logo)
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
setPlan(parseCurrentPlan(data))
|
setPlan(parseCurrentPlan(data))
|
||||||
// setPlan(parseCurrentPlan({
|
handleOperateUtm()
|
||||||
// ...data,
|
|
||||||
// annotation_quota_limit: {
|
|
||||||
// ...data.annotation_quota_limit,
|
|
||||||
// limit: 10,
|
|
||||||
// },
|
|
||||||
// }))
|
|
||||||
setIsFetchedPlan(true)
|
setIsFetchedPlan(true)
|
||||||
}
|
}
|
||||||
})()
|
})()
|
||||||
|
@ -251,3 +251,11 @@ export type ModerationService = (
|
|||||||
text: string
|
text: string
|
||||||
}
|
}
|
||||||
) => Promise<ModerateResponse>
|
) => Promise<ModerateResponse>
|
||||||
|
|
||||||
|
export type Utm = {
|
||||||
|
utm_source?: string
|
||||||
|
utm_medium?: string
|
||||||
|
utm_campaign?: string
|
||||||
|
utm_term?: string
|
||||||
|
utm_content?: string
|
||||||
|
}
|
||||||
|
@ -20,6 +20,7 @@ import type {
|
|||||||
ProviderAzureToken,
|
ProviderAzureToken,
|
||||||
SetupStatusResponse,
|
SetupStatusResponse,
|
||||||
UserProfileOriginResponse,
|
UserProfileOriginResponse,
|
||||||
|
Utm,
|
||||||
} from '@/models/common'
|
} from '@/models/common'
|
||||||
import type {
|
import type {
|
||||||
UpdateOpenAIKeyResponse,
|
UpdateOpenAIKeyResponse,
|
||||||
@ -262,3 +263,7 @@ type RetrievalMethodsRes = {
|
|||||||
export const fetchSupportRetrievalMethods: Fetcher<RetrievalMethodsRes, string> = (url) => {
|
export const fetchSupportRetrievalMethods: Fetcher<RetrievalMethodsRes, string> = (url) => {
|
||||||
return get<RetrievalMethodsRes>(url)
|
return get<RetrievalMethodsRes>(url)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const operationUtm: Fetcher<CommonResponse, { url: string; body: Utm }> = ({ url, body }) => {
|
||||||
|
return post(url, { body }) as Promise<CommonResponse>
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user