重构API