feat(web): ask for a display name when creating an account [CI]
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/dev-image Pipeline was successful

This commit is contained in:
justme committed 2026-10-16 18:30:59 +08:00
1 parent 915992776d
commit 059a29a8d5
2 files changed
+10 -6

No files matched your search

+5 -3
View File
@@ -12,7 +12,7 @@ import { loginWithPasskey, passkeyApi } from '@/core-bridge/passkeys';
interface AccountState extends AccountStatus {
busy: boolean;
hydrated: boolean;
login: (username: string, password: string, create: boolean, remember?: boolean) => Promise<void>;
login: (username: string, password: string, create: boolean, remember?: boolean, displayName?: string) => Promise<void>;
passkeyLogin: (username: string, remember: boolean) => Promise<void>;
unlockPasskey: (password: string, remember: boolean) => Promise<void>;
cancelPasskey: () => Promise<void>;
@@ -46,10 +46,12 @@ export const useAccount = create<AccountState>()((set, get) => ({
catch (error) { set({ busy: false, unlockUsername: undefined, error: error instanceof Error ? error.message : '账号解锁失败' }); throw error; }
},
cancelPasskey: async () => { await passkeyApi.cancel(); set({ unlockUsername: undefined, error: undefined }); },
login: async (username, password, create, remember = true) => {
login: async (username, password, create, remember = true, displayName = '') => {
set({ busy: true, error: undefined });
try {
const status = create ? await accountApi.register(username, password, remember) : await accountApi.login(username, password, remember);
let status = create ? await accountApi.register(username, password, remember) : await accountApi.login(username, password, remember);
// 注册时填的个人名称:账号已经建好,这一步失败不算注册失败,之后可在个人资料里补
if (create && displayName.trim()) status = await accountApi.updatePersonal(displayName.trim()).catch(() => status);
clearViews(); await refreshResources();
set({ ...status, busy: false, hydrated: true });
} catch (error) {