From c85ea17d45adac17b780992e049685d72168fdda Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期日, 27 四月 2025 14:38:48 +0800 Subject: [PATCH] 工艺文件缓存 --- src/store/modules/tags.js | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/store/modules/tags.js b/src/store/modules/tags.js index d173fa5..841b5db 100644 --- a/src/store/modules/tags.js +++ b/src/store/modules/tags.js @@ -1,6 +1,7 @@ import { getStore, setStore } from '@/util/store' import { diff } from '@/util/util' import website from '@/const/website' +import Vue from 'vue' const isFirstPage = website.isFirstPage const tagWel = website.fistPage @@ -17,7 +18,7 @@ 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 } else { @@ -36,15 +37,24 @@ actions: {}, mutations: { ADD_TAG: (state, action) => { + if (state.tagList.some((ele) => diff(ele, action))) return + Vue.prototype.$nextTick(() => { + const index = state.tagList.findIndex( + (ele) => ele.label == action.label + ) + if (index > -1) { + state.tagList[index] = action + } else { + state.tagList.push(action) + } + }) state.tag = action setStore({ name: 'tag', content: state.tag, type: 'session' }) - if (state.tagList.some(ele => diff(ele, action))) return - state.tagList.push(action) setFistTag(state.tagList) setStore({ name: 'tagList', content: state.tagList, type: 'session' }) }, DEL_TAG: (state, action) => { - state.tagList = state.tagList.filter(item => { + state.tagList = state.tagList.filter((item) => { return !diff(item, action) }) setFistTag(state.tagList) @@ -55,10 +65,13 @@ setStore({ name: 'tagList', content: state.tagList, type: 'session' }) }, 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 === website.fistPage.value + ) { return true } }) -- Gitblit v1.9.3