基本功能实现，飞哥的那个代码没加