之前完成的基本功能