feat(mobile): add deviceToken

This commit is contained in:
DIYgod 2025-03-09 14:22:38 +08:00
parent 2ea115dcd5
commit 417fb843dc
No known key found for this signature in database
4 changed files with 44 additions and 10 deletions

View File

@ -0,0 +1,16 @@
import { getDeviceToken } from "react-native-device-info"
export async function getDeviceTokenHeaders() {
let deviceToken = ""
try {
deviceToken = await getDeviceToken()
} catch (error) {
console.error(error)
}
return deviceToken
? {
"x-token": `d:${deviceToken}`,
}
: undefined
}

View File

@ -11,6 +11,7 @@ import { z } from "zod"
import { SubmitButton } from "@/src/components/common/SubmitButton"
import { PlainTextField } from "@/src/components/ui/form/TextField"
import { signIn } from "@/src/lib/auth"
import { getDeviceTokenHeaders } from "@/src/lib/device-token"
import { toast } from "@/src/lib/toast"
import { accentColor } from "@/src/theme/colors"
@ -23,10 +24,15 @@ type FormValue = z.infer<typeof formSchema>
async function onSubmit(values: FormValue) {
await signIn
.email({
email: values.email,
password: values.password,
})
.email(
{
email: values.email,
password: values.password,
},
{
headers: await getDeviceTokenHeaders(),
},
)
.then((res) => {
if (res.error) {
throw new Error(res.error.message)

View File

@ -8,6 +8,7 @@ import { useSafeAreaInsets } from "react-native-safe-area-context"
import { SubmitButton } from "@/src/components/common/SubmitButton"
import { PlainTextField } from "@/src/components/ui/form/TextField"
import { forgetPassword } from "@/src/lib/auth"
import { getDeviceTokenHeaders } from "@/src/lib/device-token"
import { toast } from "@/src/lib/toast"
export default function ForgetPassword() {
@ -16,7 +17,12 @@ export default function ForgetPassword() {
const forgetPasswordMutation = useMutation({
mutationFn: async (email: string) => {
const res = await forgetPassword({ email })
const res = await forgetPassword(
{ email },
{
headers: await getDeviceTokenHeaders(),
},
)
if (res.error) {
throw new Error(res.error.message)
}

View File

@ -12,6 +12,7 @@ import { SubmitButton } from "@/src/components/common/SubmitButton"
import { PlainTextField } from "@/src/components/ui/form/TextField"
import { Logo } from "@/src/components/ui/logo"
import { signUp } from "@/src/lib/auth"
import { getDeviceTokenHeaders } from "@/src/lib/device-token"
import { toast } from "@/src/lib/toast"
import { accentColor } from "@/src/theme/colors"
@ -30,11 +31,16 @@ type FormValue = z.infer<typeof formSchema>
async function onSubmit(values: FormValue) {
await signUp
.email({
email: values.email,
password: values.password,
name: values.email.split("@")[0] ?? "",
})
.email(
{
email: values.email,
password: values.password,
name: values.email.split("@")[0] ?? "",
},
{
headers: await getDeviceTokenHeaders(),
},
)
.then((res) => {
if (res.error?.message) {
toast.error(res.error.message)