feat: 添加用户设置功能,支持修改昵称和邮箱,重构相关路由和组件
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import type { PhoneCountry } from "./type";
|
||||
import { toTypedSchema } from "@vee-validate/yup";
|
||||
import { emailOTPClient, phoneNumberClient, usernameClient } from "better-auth/client/plugins";
|
||||
import { createAuthClient } from "better-auth/vue";
|
||||
import * as yup from "yup";
|
||||
import CircleFlagsCnHk from "~icons/circle-flags/cn-hk";
|
||||
import CircleFlagsEnUs from "~icons/circle-flags/en-us";
|
||||
import CircleFlagsTw from "~icons/circle-flags/tw";
|
||||
import CircleFlagsZh from "~icons/circle-flags/zh";
|
||||
import { i18n } from "@/locales";
|
||||
|
||||
export const authClient = createAuthClient({
|
||||
fetchOptions: {
|
||||
@@ -13,6 +16,17 @@ export const authClient = createAuthClient({
|
||||
plugins: [emailOTPClient(), phoneNumberClient(), usernameClient()],
|
||||
});
|
||||
|
||||
export const emailSchema = toTypedSchema(yup.object({
|
||||
email: yup
|
||||
.string()
|
||||
.required(i18n.global.t("auth.login.validation.emailRequired"))
|
||||
.email(i18n.global.t("auth.login.validation.emailInvalid")),
|
||||
otp: yup
|
||||
.string()
|
||||
.required(i18n.global.t("auth.login.validation.otpRequired"))
|
||||
.matches(/^\d{6}$/, i18n.global.t("auth.login.validation.otpInvalid")),
|
||||
}));
|
||||
|
||||
export const countries: PhoneCountry[] = [
|
||||
{
|
||||
code: "CN",
|
||||
|
||||
Reference in New Issue
Block a user