我并不喜欢管理后台的实现方法，虽然看上去使用很简单（你只要改动很少的东西就可以添加一个菜单选项），但前提是你必须遵守一定的规则才行，但规则是什么呢？
这是我写个ReadMe的原因，因为我发现过段时间再看我自己也会忘掉，可见这并不是一个很好的方案。

首先，管理后台的页面有一部分或者很大部分是通过调用tmpl.js的接口动态加载的，这也是为什么似乎没有在mail.html中看到什么有用的信息的原因。
main.html的具体工作流程如下:
（1）pageInit()从后台异步获取登录用户信息
（2）调用 $Func.render($("#headbar"),"headbar",user); 加载导航栏（该接口支持支持传入用户信息）
（3）调用 $Func.render($("#sidebar"),"sidebar");	加载菜单栏
（4）调用 showContentPage("user"); 在内容区域显示内容	           

如果事件就这么简单也就算了，你会发现菜单并没有对应的点击等处理事件，所以事件总线请了解一下！
虽然某位大神极力推荐我继续使用所谓的event-bus（eb4js.js），但我还是拒绝了，我决定还是使用人类该用的技术，我并没有让event-bus走的太远，当然还是用了一点点的。

main.html中注册了data-eb-event / .has_sub / li.has_sublist的click事件，这是我为event-bus保留的一点点的入口，后面我就截断了。
1. data-eb-event的click用于处理菜单的onclick事件（用户只要在这里定义自己的处理代码即可）
2. has_sub / li.has_sublist用于展开和关闭子菜单

custom.js中注册菜单sidebar的点击事件，菜单项的选中在该接口中实现，用户如果想自己定义建议删除该接口来自己实现