重构：添加user包