有详细代码注释大部分功能都已实现