Blame view

稻城亚丁小程序/admin-web/src/stores/user.ts 756 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  import { defineStore } from "pinia";
  import { ref } from "vue";
  import type { AdminProfile, MenuNode } from "@/api/admin";
  import { clearToken, setToken } from "@/utils/request";
  
  export const useUserStore = defineStore("user", () => {
    const profile = ref<AdminProfile | null>(null);
    const menus = ref<MenuNode[]>([]);
  
    function setProfile(p: AdminProfile | null) {
      profile.value = p;
    }
  
    function setMenus(m: MenuNode[]) {
      menus.value = m;
    }
  
    function clearProfile() {
      profile.value = null;
      menus.value = [];
      clearToken();
    }
  
    function afterLogin(token: string, admin: AdminProfile) {
      setToken(token);
      profile.value = admin;
    }
  
    return { profile, menus, setProfile, setMenus, clearProfile, afterLogin };
  });