重构前端逻辑实现