Authored by 毕凯

驼峰化对象单独作为组件

@@ -56,5 +56,5 @@ exports.boys = (req, res) => { @@ -56,5 +56,5 @@ exports.boys = (req, res) => {
56 showFooterTab: footerTab, 56 showFooterTab: footerTab,
57 pageFooter: true 57 pageFooter: true
58 }, result)); 58 }, result));
59 - }); 59 + }).catch(console.error);
60 }; 60 };
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
7 const _ = require('lodash'); 7 const _ = require('lodash');
8 const API = require('../../../library/api'); 8 const API = require('../../../library/api');
9 const sign = require('../../../library/sign'); 9 const sign = require('../../../library/sign');
  10 +const camelCase = require('../../../library/camel-case');
10 11
11 const api = new API(); 12 const api = new API();
12 13
@@ -22,37 +23,36 @@ const processFloor = (list) => { @@ -22,37 +23,36 @@ const processFloor = (list) => {
22 return formatData; 23 return formatData;
23 }; 24 };
24 25
  26 +/**
  27 + * 处理侧边栏数据
  28 + * @param {[array]} list
  29 + * @return {[array]}
  30 + */
25 const processSideBar = (list) => { 31 const processSideBar = (list) => {
26 - let formatData = []; 32 + const formatData = [];
27 let offset = 0; // 分割数组用到的游标 33 let offset = 0; // 分割数组用到的游标
28 34
29 _.forEach(list, (item, i) => { 35 _.forEach(list, (item, i) => {
30 - _.forEach(Object.keys(item), (k) => {  
31 - item[_.camelCase(k)] = item[k]; // 下划线变量名转换为驼峰  
32 - }); 36 + item = camelCase.listCamelCase(item);
33 37
34 if (item.sub) { 38 if (item.sub) {
35 let sub = []; 39 let sub = [];
36 40
37 - // 子菜单键名驼峰化  
38 _.forEach(item.sub, (s) => { 41 _.forEach(item.sub, (s) => {
39 - _.forEach(Object.keys(s), (key) => {  
40 - s[_.camelCase(key)] = s[key]; // 下划线变量名转换为驼峰  
41 - }); 42 + s = camelCase.listCamelCase(s); // 子菜单键名驼峰化
42 sub.push(s); 43 sub.push(s);
43 }); 44 });
44 -  
45 item.sub = sub; 45 item.sub = sub;
46 } 46 }
47 47
48 - // 如果有分隔符,分割数组 48 + // 如果有分隔符,分割数组
49 if (item.separativeSign === 'Y') { 49 if (item.separativeSign === 'Y') {
50 formatData.push(list.slice(offset, i)); 50 formatData.push(list.slice(offset, i));
51 offset = i; 51 offset = i;
52 } 52 }
53 }); 53 });
54 54
55 - // 数组被分割剩余的部分 55 + // 数组被分割剩余的部分
56 formatData.push(list.slice(offset)); 56 formatData.push(list.slice(offset));
57 return formatData; 57 return formatData;
58 }; 58 };
  1 +/**
  2 + * 对象键名驼峰化
  3 + * @author: Bi Kai<kai.bi@yoho.cn>
  4 + * @date: 2016/05/09
  5 + */
  6 +
  7 +const _ = require('lodash');
  8 +
  9 +/**
  10 + * 对象键值驼峰化(未测试)
  11 + * @param {[object]} obj
  12 + * @return {[object]}
  13 + */
  14 +const camelCase = (obj) => {
  15 + _.forEach(obj, (k) => {
  16 + obj[_.camelCase(k)] = obj[k]; // 下划线变量名转换为驼峰
  17 + });
  18 +
  19 + return obj;
  20 +};
  21 +
  22 +/**
  23 + * 对象数组,对象键值驼峰化
  24 + * @param {[type]} list
  25 + * @return {[type]}
  26 + */
  27 +const listCamelCase = (list) => {
  28 + _.forEach(Object.keys(list), (k) => {
  29 + list[_.camelCase(k)] = list[k]; // 下划线变量名转换为驼峰
  30 + });
  31 +
  32 + return list;
  33 +};
  34 +
  35 +exports.camelCase = camelCase;
  36 +exports.listCamelCase = listCamelCase;