简单整理了一下代码