重构用户功能