调整代码结构和接口