此版本有错误，只是用来纪录代码