修改好一个基本版本，实现了普通代码功能