From d0357d88b4393ea1e53e77a2159faf5de9563e9b Mon Sep 17 00:00:00 2001 From: tao Date: Mon, 29 Dec 2025 17:20:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=A8=E6=88=B7=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/user.ts | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/src/store/user.ts b/src/store/user.ts index 8e68965..e7bb66f 100644 --- a/src/store/user.ts +++ b/src/store/user.ts @@ -1,24 +1,31 @@ import { defineStore } from 'pinia'; import Cookies from 'js-cookie'; import { setAccount, removeAccount } from "@/utils/auth"; +import { ref } from 'vue'; -export const useUserStore = defineStore("user", { - state: () => ({ - username: Cookies.get('username') || null, - }), - actions: { - async fetchUserInfo() { - // Simulate API call - }, - setUserInfo(params: any) { - setAccount({ - username: params.username, - password: params.password, - rememberMe: params.rememberMe ? "true" : "false", - }); - }, - clearUserInfo() { - removeAccount(); - }, - }, +export const useUserStore = defineStore("user", () => { + const username = ref(Cookies.get('username') || ''); + + async function fetchUserInfo() { + // Simulate API call + } + + function setUserInfo(params: any) { + setAccount({ + username: params.username, + password: params.password, + rememberMe: params.rememberMe ? "true" : "false", + }); + } + + function clearUserInfo() { + removeAccount(); + } + + return { + username, + fetchUserInfo, + setUserInfo, + clearUserInfo, + } });