seatonwan9
2025-08-28 bfbb1ea3c6bb2dd7db064fb189290a1bfcf6c9cd
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
// 用户信息状态管理
import { update } from 'lodash'
import { defineStore } from 'pinia'
import { UserInfo } from '@/stores/interface'
import router from '@/router/index'
 
export const useUserInfo = defineStore('userInfo', {
  state: (): UserInfo => {
    return {
      adminToken: '', // 管理后台的token
      screenToken: '', // 大屏的登录token
      menuList: [], // 菜单列表
      username: '', // 用户名
      fullUnitName:'',//所属单位
      name: '', // 姓名、昵称
      empCode:'',
      userId:'',
      unitId:'',//租户ID
      roleCodes:[],
      userInfo:{
        adminToken: '', // 管理后台的token
        screenToken: '', // 大屏的登录token
        menuList: [], // 菜单列表
        username: '', // 用户名
        fullUnitName:'',//所属单位
        name: '', // 姓名、昵称
        empCode:'',
        userId:'',
        unitId:'',//租户ID
        roleCodes:[],
      }
    }
  },
  // 开启数据缓存
  persist: {
    storage: localStorage,
  },
  // 异步
  actions: {
    // 更新token
    updateUserInfo(user: UserInfo) {
      this.adminToken = user.adminToken
      this.screenToken = user.screenToken
      this.fullUnitName= user.fullUnitName
    },
    // 移除token, 返回登录页面
    removeToken() {
      this.adminToken = ''
      this.screenToken = ''
      this.fullUnitName=''
      // router.replace({
      //   path: '/login',
      // })
    },
    // 更新菜单列表数据
    updateMenuList(menu: Menu[] = []) {
      this.menuList = menu
    },
    // 移除菜单列表数据
    removeMenuList() {
      this.menuList = []
    },
    // 更新用户信息
    updateUserDetail(user: UserInfo) {
      this.username = user.username // 用户名
      this.name = user.name // 姓名、昵称
      this.empCode = user.empCode // code
      this.fullUnitName = user.fullUnitName
      this.userId = user.id
      this.unitId = user.unitId
      this.roleCodes = user.roleCodes
      this.userInfo=user
    },
 
    // 移除用户信息
    removeUserDetail() {
      this.username = '' // 用户名
      this.name = '' // 姓名、昵称
    },
  },
  // 相当于计算属性
  getters: {
    // 获取管理平台的token
    getAdminToken: (state) => {
      return state.adminToken
    },
 
    // 获取大屏的token
    getScreenToken: (state) => {
      return state.screenToken
    },
 
    // 获取菜单列表数据
    getMenuList: (state) => {
      return state.menuList
    },
 
    // 获取用户信息
    getUserDetail: (state) => {
      return state.username
    },
     // 获取用户信息
    getUserEmpCode: (state) => {
      return state.empCode
    },
     // 获取用户信息
     getUserInfo: (state) => {
      return state
    },
    // 获取用户Id
    getUserId: (state) => {
      return state.userId
    },
    // 租户ID 单位ID
    getUnitId: (state) => {
      return state.unitId
    },
    getRoleCodes: (state) => {
      return state.roleCodes
    },
    // 获取全部用户信息
    getUserInfos: (state) => {
      return state.userInfo
    },
  },
})