完成逻辑 TODO:测试