基本完成了功能