104a6 utm tracking in db (#578)
* utm tracking in db * fix array key bug * fix utm form * fix import
This commit is contained in:
parent
5020f9fa74
commit
5ab3477e0a
|
|
@ -113,11 +113,12 @@ class OAuthController extends Controller
|
||||||
return $user;
|
return $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$utmData = request()->utm_data;
|
||||||
$user = User::create([
|
$user = User::create([
|
||||||
'name' => $socialiteUser->getName(),
|
'name' => $socialiteUser->getName(),
|
||||||
'email' => $email,
|
'email' => $email,
|
||||||
'email_verified_at' => now(),
|
'email_verified_at' => now(),
|
||||||
'utm_data' => json_decode(request()->utm_data, true)
|
'utm_data' => is_string($utmData) ? json_decode($utmData, true) : $utmData
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// Create and sync workspace
|
// Create and sync workspace
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
import { useNuxtApp } from "nuxt/app";
|
import { useNuxtApp } from "nuxt/app";
|
||||||
|
|
||||||
const { $utm } = useNuxtApp();
|
const { $utm } = useNuxtApp();
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const authStore = useAuthStore()
|
const authStore = useAuthStore()
|
||||||
|
|
@ -40,6 +41,10 @@ const workspacesStore = useWorkspacesStore()
|
||||||
const formsStore = useFormsStore()
|
const formsStore = useFormsStore()
|
||||||
const logEvent = useAmplitude().logEvent
|
const logEvent = useAmplitude().logEvent
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
|
const form = useForm({
|
||||||
|
code: '',
|
||||||
|
utm_data: null,
|
||||||
|
})
|
||||||
|
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
alias: '/oauth/:provider/callback'
|
alias: '/oauth/:provider/callback'
|
||||||
|
|
@ -47,15 +52,10 @@ definePageMeta({
|
||||||
|
|
||||||
function handleCallback() {
|
function handleCallback() {
|
||||||
|
|
||||||
const code = route.query.code
|
|
||||||
const provider = route.params.provider
|
const provider = route.params.provider
|
||||||
opnFetch(`/oauth/${provider}/callback`, {
|
form.code = route.query.code
|
||||||
method: 'POST',
|
form.utm_data = $utm.value
|
||||||
params: {
|
form.post(`/oauth/${provider}/callback`).then(async (data) => {
|
||||||
code,
|
|
||||||
utm_data: $utm.value
|
|
||||||
}
|
|
||||||
}).then(async (data) => {
|
|
||||||
authStore.setToken(data.token)
|
authStore.setToken(data.token)
|
||||||
const [userDataResponse, workspacesResponse] = await Promise.all([
|
const [userDataResponse, workspacesResponse] = await Promise.all([
|
||||||
opnFetch("user"),
|
opnFetch("user"),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue