refactor(auth): 重构认证流程和会话管理

This commit is contained in:
JiaJun
2026-04-23 16:10:27 +08:00
parent d1ee6413a5
commit f6f50ee6c7
12 changed files with 117 additions and 86 deletions

View File

@@ -4,6 +4,7 @@ import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import {addressAdd, addressDelete, addressEdit, addressList} from '@/api/address.ts'
import {validateAddressFormSubmission} from '@/features/addressBook/addressValidation'
import {notifyError} from '@/features/notifications'
import {ensureSessionForAction} from '@/lib/authGuard'
import {queryKeys} from '@/lib/queryKeys.ts'
import {useUserStore} from '@/store/user.ts'
import type {AddressListItem} from '@/types/address.type.ts'
@@ -65,7 +66,6 @@ export function useAddressBook(options?: UseAddressBookOptions) {
session_id: sessionId!,
receiver_name: addressForm.name.trim(),
phone: addressForm.phone.trim(),
region: editingAddress ? editingAddress.region.map((part) => part.trim()).filter(Boolean).join(', ') : '',
detail_address: addressForm.detailedAddress.trim(),
default_setting: addressForm.isDefault ? '1' : '0',
} as const
@@ -138,7 +138,7 @@ export function useAddressBook(options?: UseAddressBookOptions) {
}
const saveAddress = async (editingAddress?: AddressListItem | null) => {
if (!sessionId) {
if (!ensureSessionForAction() || !sessionId) {
return null
}
@@ -163,7 +163,7 @@ export function useAddressBook(options?: UseAddressBookOptions) {
}
const removeAddress = async (addressId: string) => {
if (!sessionId) {
if (!ensureSessionForAction() || !sessionId) {
return null
}
@@ -182,7 +182,7 @@ export function useAddressBook(options?: UseAddressBookOptions) {
sessionId,
addresses,
addressOptions,
loading: addressListQuery.isPending || loadAddressesLoading,
loading: Boolean(sessionId) && (addressListQuery.isPending || loadAddressesLoading),
addressForm,
isAddressFormValid,
submitLoading: saveAddressMutation.isPending,