import { defineStore } from "pinia"; import { ref, computed } from "vue"; interface user { userId: number | string, userName: string } const getUserInfo = () => { return new Promise(resolve => { setTimeout(() => { const userinfo : user = { userId: 123456789, userName: "李白" }; resolve({ errcode: 0, errmsg: "", data: userinfo }); }, 2000); }); }; const userInfoStore = defineStore("userInfoStore", () => { const user = ref(); const getUserRequest = () => { return new Promise((resolve, reject) => { getUserInfo() .then((res: any) => { const { errcode, errmsg, data } = res; if (errcode === 0) { user.value = data; resolve(user.value); } else { reject(errmsg); } }) .catch((err: any) => { reject(err); }); }); }; const info = computed(() => { return user; }); return { getUserRequest, info }; }); export default userInfoStore;