页面加载逻辑优化

This commit is contained in:
sswiki
2025-03-02 20:03:46 +08:00
parent 91bad1a059
commit 42386da126
6 changed files with 89 additions and 27 deletions

View File

@@ -3,6 +3,8 @@ import {defineStore} from 'pinia';
export const useStorePageData = defineStore('pageData', {
state: () => {
return {
// 页面加载状态 -1=空间不存在 0=初始值 1=加载中 2=加载成功 3=加载失败
pageLoadStatus: 0,
pageInfo: {},
pageAuth: {},
fileList: [],
@@ -15,4 +17,40 @@ export const useStorePageData = defineStore('pageData', {
eventPageListUpdate: false,
}
},
getters: {
getFirstViewPage: (state) => {
return () => {
let getPage = (dataList) => {
for (let i = 0; i < dataList.length; i++) {
let page = dataList[i];
if (page.editorType !== 0) {
return page;
} else if (page.children) {
let find = getPage(page.children);
if (find) return find;
}
}
return null;
}
return getPage(state.pageList);
}
},
getPageById: (state) => {
return (pageId) => {
let getPage = (dataList) => {
for (let i = 0; i < dataList.length; i++) {
let page = dataList[i];
if (page.id === pageId) {
return page;
} else if (page.children) {
let find = getPage(page.children);
if (find) return find;
}
}
return null;
}
return getPage(state.pageList);
}
},
}
});