重构用户模块