加入分页并且重构代码