基本完成了这些功能
还有不足之处需要进一步完善