重构admin