重构保存用户接口