重构代码并添加拾取功能