test-iki-mini-app
Version:
ứng dựng bán hàng trên mini app z a l o
55 lines (54 loc) • 1.66 kB
JavaScript
import { create } from "zustand";
import { RepositoryRemote } from "../services";
export const useAccountStore = create((set) => ({
accountInfo: {},
loading: false,
getInfoAccount: async (onSuccess = () => {}, onFail = () => {}) => {
try {
set({ loading: true });
const response = await RepositoryRemote.account.getInfoAccount();
localStorage.setItem("profile" , JSON.stringify(response.data.data))
set({accountInfo: response.data.data})
onSuccess(response);
} catch (error) {
onFail(error);
}
set({ loading: false });
},
editInfoAccount: async (form, onSuccess, onFail) => {
try {
set({ loading: true });
const response = await RepositoryRemote.account.editInfoAccount(form);
set({accountInfo: response.data.data})
onSuccess(response);
} catch (error) {
onFail(error);
}
set({ loading: false });
},
changePassword: async (form, onSuccess, onFail) => {
try {
set({ loading: true });
const response = await RepositoryRemote.account.changePassword(form);
onSuccess(response);
} catch (error) {
onFail(error);
}
set({ loading: false });
},
getUrlImage: async (form, onSuccess, onFail) => {
try {
set({ loading: true });
const response = await RepositoryRemote.account.getUrlImage(form);
set((prev) => ({accountInfo : {...prev.accountInfo, avatar_image: response.data.data}}))
onSuccess(response);
} catch (error) {
onFail(error);
}
set({ loading: false });
},
resetAccountStore: () => {
set({ loading: false });
set({ accountInfo: {} });
}
}));