| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- import { useMutation } from '@tanstack/react-query'
 
- import { create } from 'zustand'
 
- import { sendDeleteAccountCode, submitDeleteAccountFeedback, verifyDeleteAccountCode } from '@/service/common'
 
- type State = {
 
-   sendEmailToken: string
 
-   setSendEmailToken: (token: string) => void
 
- }
 
- export const useAccountDeleteStore = create<State>(set => ({
 
-   sendEmailToken: '',
 
-   setSendEmailToken: (token: string) => set({ sendEmailToken: token }),
 
- }))
 
- export function useSendDeleteAccountEmail() {
 
-   const updateEmailToken = useAccountDeleteStore(state => state.setSendEmailToken)
 
-   return useMutation({
 
-     mutationKey: ['delete-account'],
 
-     mutationFn: sendDeleteAccountCode,
 
-     onSuccess: (ret) => {
 
-       if (ret.result === 'success')
 
-         updateEmailToken(ret.data)
 
-     },
 
-   })
 
- }
 
- export function useConfirmDeleteAccount() {
 
-   return useMutation({
 
-     mutationKey: ['confirm-delete-account'],
 
-     mutationFn: verifyDeleteAccountCode,
 
-   })
 
- }
 
- export function useDeleteAccountFeedback() {
 
-   return useMutation({
 
-     mutationKey: ['delete-account-feedback'],
 
-     mutationFn: submitDeleteAccountFeedback,
 
-   })
 
- }
 
 
  |