feat: 完善网址导航模块内容

This commit is contained in:
2024-09-01 01:10:10 +08:00
parent 2cd8d41f5c
commit b4ef6600c4
2 changed files with 204 additions and 3 deletions

View File

@@ -0,0 +1,48 @@
/** 处理导航链接列表 */
export function formatNavLinks() {
/** @type {NavLinkItem[]} */
let list0 = JSON.parse(JSON.stringify(window['NAV_LINK_LIST']));
/** @type {NavLinkItem[]} */
let list1 = [];
let index = 0;
(function fn(treeData, target) {
for (let i = 0; i < treeData.length; i++) {
let {
title, children, date, desc,
icon, isInvalid, showOnly, url,
} = treeData[i];
/** @type {NavLinkItem} */
let data = {
title: (typeof title === 'string' ? title : ''),
children: [],
date: (typeof date === 'string' ? date : ''),
desc: (typeof desc === 'string' ? desc : ''),
icon: (typeof icon === 'string' ? icon : ''),
isInvalid: (typeof isInvalid === 'boolean' ? isInvalid : false),
showOnly: (typeof showOnly === 'boolean' ? showOnly : false),
url: (typeof url === 'string' ? url : ''),
_key: `item_${++index}`,
};
// 添加项
target && target.push(data);
// 递归处理
if (children) {
fn(children, data.children);
} else {
data.children = null;
}
}
})(list0, list1);
return list1;
}