重构UI