initial
1.按钮事件注册
2.部分代码重构