加了个基类，现在代码清爽不少！