济菏高速业务端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

63 lines
1.4 KiB

const state = {
recentPages: [],
isRecentOpen:"",
}
const mutations = {
saveRecent(state){
localStorage.setItem("recentPages", JSON.stringify(state.recentPages));
},
addRecent(state, item) {
if(state.recentPages.length == 0 ){
state.recentPages = JSON.parse(localStorage.getItem("recentPages") || "[]");
}
let temp;
state.recentPages.forEach((unit,index)=>{
if(unit.path == item.path){
temp = unit;
temp.active = true;
}else{
unit.active = false;
}
});
if (!temp){
item.active = true;
state.recentPages.push(item);
}
mutations.saveRecent(state);
},
openRecent(state){
state.isRecentOpen = true;
localStorage.setItem("isRecentOpen", true);
},
closeRecent(state){
state.isRecentOpen = false;
localStorage.setItem("isRecentOpen", false);
},
removeRecent(state, item) {
let i = state.recentPages.findIndex(unit => unit.path == item.path);
state.recentPages.splice(i, 1);
mutations.saveRecent(state);
}
}
const getters = {
isRecentOpen(state){
if (state.isRecentOpen === ""){
state.isRecentOpen = localStorage.getItem("isRecentOpen") || false;
}
console.log(state.isRecentOpen);
return state.isRecentOpen;
}
}
export default {
namespaced: true,
state,
getters,
mutations,
}