forked from drone/command-center-dashboard

罗广辉
2025-04-21 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7
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
import { setStore, getStore } from 'utils/store'
import website from '@/config/website'
 
const tagWel = website.fistPage
const navs = {
    state: {
        tagList: getStore({ name: 'tagList' }) || [],
        tag: getStore({ name: 'tag' }) || {},
        tagWel: tagWel,
    },
    mutations: {
        ADD_TAG: (state, action) => {
            if (typeof action.name === 'function') action.name = action.name(action.query)
            state.tag = action
            setStore({ name: 'tag', content: state.tag })
            if (state.tagList.some(ele => ele.fullPath === action.fullPath)) return
            state.tagList.push(action)
            setStore({ name: 'tagList', content: state.tagList })
        },
        DEL_TAG: (state, action) => {
            state.tagList = state.tagList.filter(item => {
                return item.fullPath !== action.fullPath
            })
            setStore({ name: 'tagList', content: state.tagList })
        },
        DEL_ALL_TAG: (state, tagList = []) => {
            state.tagList = tagList
            setStore({ name: 'tagList', content: state.tagList })
        },
        DEL_TAG_OTHER: state => {
            state.tagList = state.tagList.filter(item => {
                return [state.tag.fullPath, website.fistPage.path].includes(item.fullPath)
            })
            setStore({ name: 'tagList', content: state.tagList })
        },
    },
}
export default navs