完整功能版本
之前提到的一些问题均已修改