Authored by 毕凯

侧边栏 数据优化

... ... @@ -22,6 +22,41 @@ const processFloor = (list) => {
return formatData;
};
const processSideBar = (list) => {
let formatData = [];
let offset = 0; // 分割数组用到的游标
_.forEach(list, (item, i) => {
_.forEach(Object.keys(item), (k) => {
item[_.camelCase(k)] = item[k]; // 下划线变量名转换为驼峰
});
if (item.sub) {
let sub = [];
// 子菜单键名驼峰化
_.forEach(item.sub, (s) => {
_.forEach(Object.keys(s), (key) => {
s[_.camelCase(key)] = s[key]; // 下划线变量名转换为驼峰
});
sub.push(s);
});
item.sub = sub;
}
// 如果有分隔符,分割数组
if (item.separativeSign === 'Y') {
formatData.push(list.slice(offset, i));
offset = i;
}
});
// 数组被分割剩余的部分
formatData.push(list.slice(offset));
return formatData;
};
/**
* 获取频道页面资源位
*/
... ... @@ -52,38 +87,7 @@ const getLeftNav = (guangChoosed) => {
result = JSON.parse(result);
if (result.code === 200) {
let formatData = [];
let offset = 0; // 分割数组用到的游标
_.forEach(result.data, (item, i) => {
_.forEach(Object.keys(item), (k) => {
item[_.camelCase(k)] = item[k]; // 下划线变量名转换为驼峰
});
if (item.sub) {
let sub = [];
// 子菜单键名驼峰化
_.forEach(item.sub, (s) => {
_.forEach(Object.keys(s), (key) => {
s[_.camelCase(key)] = s[key]; // 下划线变量名转换为驼峰
});
sub.push(s);
});
item.sub = sub;
}
// 如果有分隔符,分割数组
if (item.separativeSign === 'Y') {
formatData.push(result.data.slice(offset, i));
offset = i;
}
});
// 数组被分割剩余的部分
formatData.push(result.data.slice(offset));
return formatData;
return processSideBar(result.data);
} else {
return result;
}
... ...
<div class="side-nav">
{{#if sideNav}}
{{#sideNav}}
<ul {{#if @first}}class="first"{{/if}}>
{{# sideNav}}
<li class="{{toLowerCase sortNameEn}}">
{{#this}}
<li class="{{lowerCase sortNameEn}}">
{{#if sortUrl}}
<a href="{{sortUrl}}" style="{{#if sortNameColor}}color:{{sortNameColor}};{{/if}}">
{{else}}
... ... @@ -40,7 +40,7 @@
</ul>
{{/ sub}}
</li>
{{/ sideNav}}
{{/this}}
</ul>
{{/if}}
{{/sideNav}}
</div>
... ...
... ... @@ -61,7 +61,8 @@ exports.url = (uri, qs, module) => {
* 大写转小写处理
* @param {[string]} str 转换字符
*/
exports.toLowerCase = (str) => {
exports.lowerCase = (str) => {
str = str || '';
return str.toLowerCase();
};
... ... @@ -69,6 +70,7 @@ exports.toLowerCase = (str) => {
* 小写转大写处理
* @param {[string]} str 转换字符
*/
exports.toUpperCase = (str) => {
exports.upperCase = (str) => {
str = str || '';
return str.toUpperCase();
};
\ No newline at end of file
};
... ...