import { defineStore } from "pinia"; export const useUserStore = defineStore("user", { state() { return { uid: localStorage.getItem("uid"), uname: localStorage.getItem("uname"), lastUname: localStorage.getItem("lastuname"), rememberList: localStorage.getItem("rememberList") || "[]", }; }, actions: { setName(value) { this.uname = value; localStorage.setItem("uname", value); this.lastUname = value; localStorage.setItem("lastuname", value); }, setId(value) { this.uid = value; localStorage.setItem("uid", value); }, addRemember(name, snId) { // 判断名字是否存在 不存在就插入 存在就更新 if (!this.list.some((v) => v.name == name)) { this.list.push({ name, snId }); } else { this.list.forEach((v) => { if (v.name == name) { v.snId = snId; } }); } this.updateList(); }, removeRemember(value) { let list = this.list.filter((v) => v.name != value); this.list.length = 0; this.list.push(...list); this.updateList(); }, // 更新rememberList updateList() { let str = JSON.stringify(this.list); this.rememberList = str; localStorage.setItem("rememberList", str); }, }, getters: { list(state) { // console.log('state', state == this, '============='); return JSON.parse(state.rememberList); }, }, });