重构 api 的逻辑代码