API2功能实现，暂时没什么想改的