| | |
| | | import {setStore, getStore} from '@/util/store' |
| | | import {diff} from '@/util/util' |
| | | import website from '@/config/website' |
| | | import { setStore, getStore } from "@/util/store"; |
| | | import { diff } from "@/util/util"; |
| | | import website from "@/config/website"; |
| | | import { Alert } from "element-ui"; |
| | | |
| | | import user from "./user"; |
| | | |
| | | const isFirstPage = website.isFirstPage; |
| | | const tagWel = website.fistPage; |
| | | const tagObj = { |
| | | label: '', //标题名称 |
| | | value: '', //标题的路径 |
| | | params: '', //标题的路径参数 |
| | | query: '', //标题的参数 |
| | | meta: {},//额外参数 |
| | | label: "", //标题名称 |
| | | value: "", //标题的路径 |
| | | params: "", //标题的路径参数 |
| | | query: "", //标题的参数 |
| | | meta: {}, //额外参数 |
| | | group: [], //分组 |
| | | } |
| | | }; |
| | | |
| | | //处理首个标签 |
| | | function setFistTag(list) { |
| | | if (list.length === 1) { |
| | | list[0].close = false; |
| | | } else { |
| | | list.forEach(ele => { |
| | | list.forEach((ele) => { |
| | | if (ele.value === tagWel.value && isFirstPage === false) { |
| | | ele.close = false |
| | | ele.close = false; |
| | | } else { |
| | | ele.close = true |
| | | ele.close = true; |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | const navs = { |
| | | state: { |
| | | tagList: getStore({name: 'tagList'}) || [], |
| | | tag: getStore({name: 'tag'}) || tagObj, |
| | | tagWel: tagWel |
| | | tagList: getStore({ name: "tagList" }) || [], |
| | | tag: getStore({ name: "tag" }) || tagObj, |
| | | tagWel: tagWel, |
| | | }, |
| | | actions: {}, |
| | | mutations: { |
| | | ADD_TAG: (state, action) => { |
| | | state.tag = action; |
| | | setStore({name: 'tag', content: state.tag}) |
| | | if (state.tagList.some(ele => diff(ele, action))) return |
| | | state.tagList.push(action) |
| | | setStore({ name: "tag", content: state.tag }); |
| | | if (state.tagList.some((ele) => diff(ele, action))) return; |
| | | state.tagList.push(action); |
| | | setFistTag(state.tagList); |
| | | setStore({name: 'tagList', content: state.tagList}) |
| | | setStore({ name: "tagList", content: state.tagList }); |
| | | }, |
| | | DEL_TAG: (state, action) => { |
| | | state.tagList = state.tagList.filter(item => { |
| | | state.tagList = state.tagList.filter((item) => { |
| | | return !diff(item, action); |
| | | }) |
| | | }); |
| | | setFistTag(state.tagList); |
| | | setStore({name: 'tagList', content: state.tagList}) |
| | | setStore({ name: "tagList", content: state.tagList }); |
| | | }, |
| | | DEL_ALL_TAG: (state) => { |
| | | state.tagList = [state.tagWel]; |
| | | setStore({name: 'tagList', content: state.tagList}) |
| | | state.tagList = [user.state.homeFirstTagPage]; |
| | | setStore({ name: "tagList", content: state.tagList }); |
| | | }, |
| | | DEL_TAG_OTHER: (state) => { |
| | | state.tagList = state.tagList.filter(item => { |
| | | state.tagList = state.tagList.filter((item) => { |
| | | if (item.value === state.tag.value) { |
| | | return true; |
| | | } else if (!website.isFirstPage && item.value === website.fistPage.value) { |
| | | } else if ( |
| | | !website.isFirstPage && |
| | | item.value === user.state.homeFirstTagPage.value |
| | | ) { |
| | | return true; |
| | | } |
| | | }) |
| | | }); |
| | | setFistTag(state.tagList); |
| | | setStore({name: 'tagList', content: state.tagList}) |
| | | setStore({ name: "tagList", content: state.tagList }); |
| | | }, |
| | | SET_TAG_LIST(state, tagList) { |
| | | state.tagList = tagList; |
| | | setStore({name: 'tagList', content: state.tagList}) |
| | | } |
| | | } |
| | | } |
| | | export default navs |
| | | setStore({ name: "tagList", content: state.tagList }); |
| | | }, |
| | | }, |
| | | }; |
| | | export default navs; |