fuliqi
2024-01-24 29c1e7eb5ac16e90d8991a86c1c071bc312ec8d9
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
/*
 * @Author: 张嘉彬
 * @Date: 2021-10-13 15:15:36
 * @Description:
 */
import Cookie from 'js-cookie'
import flat from '../utils/flat'
import { initGlobalState } from 'qiankun'
// 跨域认证信息 header 名
const xsrfHeaderName = 'Authorization'
export default {
    // 存储token
    setToken(state, data) {
        state.token = data.token
        state.expireAt = new Date(new Date().getTime() + 240 * 60 * 1000)
        Cookie.set(xsrfHeaderName, data.token, { expires: state.expireAt })
    },
    // 清除token
    logout(state, token) {
        state.token = ''
        Cookie.remove(xsrfHeaderName)
        Cookie.remove('systemAuthIds')
        Cookie.remove('isMenuAuth')
        Cookie.remove('authInfo')
        localStorage.removeItem('userInfo')
        window.sessionStorage.removeItem('routerHistory')
        state.routerHistory = []
        state.userTree = []
        state.userTreeFlat = []
    },
    // 设置按钮样式
    setBtnStyle(state, val) {
        const obj = val || {
            type: 'text',
            size: ''
        }
        localStorage.setItem('btnStyleVal', JSON.stringify(obj))
        state.btnStyleVal = obj
        initGlobalState(state.btnStyleVal) // qiankun微服务 实时更新子应用
    },
    // 设置内容区域高度
    getMainContainerHeight(state, height) {
        state.mainContainerHeight = height
    },
    setRouterHistory(state, routerHistory) {
        state.routerHistory = routerHistory
        window.sessionStorage.setItem('routerHistory', JSON.stringify(routerHistory))
    },
    // 保存用户路由列表
    setUserTree(state, userTree) {
        state.userTree = userTree
        state.userTreeFlat = flat(userTree)
    },
    setUserInfo(state, userInfo) {
        state.userInfo = userInfo
        localStorage.setItem('userInfo', JSON.stringify(userInfo))
    },
    setNoReadMsgCount(state, count) {
        state.noReadMsgCount = count
    }
}